Tartalomjegyzék

< Linux

Rendszergazdai parancsok

Bevezetés

Olyan parancsok kerültek ide, amelyek nem lettek besorolva egyik témakörbe sem.

shutdown

Leállítás

halt

Ha a halt leállítja a gépet, de nem kapcsolja azt ki, használjuk a „-p” kapcsolót.

halt -p

Ehhez minimum ATX-es ház és APM kerneltámogatás kell a kernelben.

Újraindítás

reboot

Processzor szóhossza

Lekérdezés:

getconf LONG_BIT

runlevel

Az aktuális futásiszint megjelenítése.

ulimit

Felhasználói korlátok

A felhasználók erőforrásokhoz való hozzáférésének szabályozása. A felhasználók csak lekérdezésre tudják használni.

Szintaktika

    ulimit [-acdfHlmnpsStuv] [limit]

Kapcsolók:

-S Soft limit cseréje és lekérdezése erőforrásoknál
-H Hard limit cseréje és lekérdezése erőforrásoknál
-a Az összes, aktuális limit lekérdezése
-c A core fájlok maximális mérete
-d Egy folyamat adatszegmensben elfoglalt maximális mérete
-f A shellben létrehozott fájlok maximális mérete
-l A memóriában zárolható maximális méret
-m A memóriában egy rezidens folyamat maximális mérete
-n A maximálisan nyitva-tartható fájlleírók száma
-p A pipe buffer mérete
-s A maximális veremméret
-t A maximális CPU idő másodpercben
-u Egy felhasználó által indítható folyamatok száma (beleértve a szálakat is)
-v A folyamatok számára hozzáférhető virtuális memória

Például az összes beállítás lekérdezése:

ulimit -a

A felhasználók által futtatható folyamatok és szállak száma:

ulimit -u

A rendszergazda a következő fájlban állíthatja be a határokat:

/etc/security/limits.conf

A fájlban egy sorban négy oszlopból áll egy beállítás. Először meg kell mondjuk kinek fogjuk beállítani (felhasználók, csoportok). Ez után megadjuk milyen típusú lesz. Lehet hard, soft vagy semmi. A harmadik oszlopban adjuk meg mit szeretnénk beállítani. Az utolsóban pedig milyen értékre állítjuk be. Az első oszlop tartalmazhat „*” karaktert is, amely az összes felhasználót jelenti.

*       hard   nproc      5

Próbáljuk meg például a fenti beállításokkal az összes felhasználónak 5 indítható folyamat beállítását. Ha meg van, lépjünk be egyik felhasználó nevében, majd próbáljunk meg több folyamatot indítani mint a limitben beállított öt.

A következő üzenetet kapjuk:

-bash: fork: retry: Erőforrás átmenetileg nem érhető el

amit ötször megismétel. A beállítások mindig csak újrabelépés után lesznek érvényesek.

A rendszerszintű beállításokat itt is elvégezhetjük.

/etc/profile

A felhasználók is tehetnek bejegyzést a .bashrc fájlba. A rendszerbeállításokat viszont nem írhatják felül.

Érdemes például a virtuális memória méretét korlátozni. Így az olyan programok amelyek fogyasztják a memóriát nem okozzák majd annak belassulását is. Állítsuk be például 512 MiB-ot:

ulimit -Sv 524288

Próbáld ki a következő programmal:

eszik.c
#include <stdio.h>
#include <stdlib.h>
 
main()
{
	void *ptr;
	long meret = 1048576;
	while(1)
	{
		ptr = malloc(meret);
		if(ptr == NULL)
		{
		    printf("Nincs több lefoglalható memória!\n");
		    break;
		}
		else
		{
			ptr = realloc(ptr, meret + meret );
		}
		usleep(10000);
	}
	free(ptr);
	printf("Vége\n");
	return 0;
 
}

Fordítás:

gcc -o main main.c

Figyeljük a „top” nevű programmal a memória fogyását.

Modulkezelés

Betölthető modulok listája:

modprobe -l

Betöltött modulok listája:

lsmod

Egy modul betöltése

modprobe modulnev

Egy eszköz milyen modulhoz tartozik? Legyen egy eth0 eszköz, ekkor:

dmesg | grep eth0
[    1.861224] forcedeth 0000:00:05.0: ifname eth0, PHY OUI 0x3f1 @ 1, addr 00:50:8d:7c:ab:04

Ebből kiderül, hogy a forcedeth modult használja az eth0.

Modul újraindulás után ne töltődjön be:

echo "blacklist forcedeth" >> /etc/modprobe.d/blacklist.conf

Démonok kezelése

/etc/init.d

A démonok indítására, leállítására, újraindítására használható parancs.

Például adott egy postfix levelezőszerver, akkor a következő módon állíthatom le:

/etc/init.d/postfix stop

invoke-rc.d

A démonok indítására, leállítására, újraindítására használható parancs.

Például adott egy postfix levelezőszerver, akkor a következő módon állíthatom le:

invoke-rc.d postfix stop

service

A démonok indítására, leállítására, újraindítására használható parancs.

Például adott egy postfix levelezőszerver, akkor a következő módon állíthatom le:

service postfix stop

Eszközfájlok létrehozása

Az eszközfájlok lehetnek karakteres, blokk és FIFO típusúak. Az mknod paranccsal hozhatjuk őket létre.

mknod -m 666 /dev/zero c 1 5
mknod -m 644 /dev/random c 1 8
mknod -m 666 /dev/null c 1 3

Soros port beállítása:

mknod /dev/ttyS0 c 4 64
chmod 0644 /dev/ttyS0
chown root.dialout /dev/ttyS0
ls -l /dev/ttyS0
crw-rw---- 1 root dialout 4, 64 2012 márc   4 /dev/ttyS0

Dátum, idő beállítása

date --set 1998-11-02 
date --set 21:08:0

Időzóna

cat /etc/timezone
Europe/Budapest

Az időzónát be kell állítani, mert a Unix típusú számítógépek Universal Time (UTC) szerint szoktak járni, amelyből ki kell számítania a helyi időt.

Az UTC, másként Greenwichi középidő (GMT), mert a meridián 0 fokán van Greenwichnél, amely London része (Anglia).

Beállítása a tzconfig paranccsal lehetséges:

tzconfig

Több információért lásd a tzconfig(8) kézikönyvet.

$ date
Sun Nov  1 19:49:38 EET 1998
$ export TZ=PST
$ date
Sun Nov  1 17:49:59 PST 1998

Esetleg:

dpkg-reconfigure tzdata

Mikor volt nyári időszámítás:

zdump -c 2012 -v Europe/Budapest  | less

Hardveróra

A hardverórát a hwclock utasítással tudjuk beállítani.

# date
Sun Nov  1 18:56:50 EET 1998
# hwclock --systohc --utc

Több információért lásd a hwclock(8) kézikönyvet.

timedatectl

A timedatectl a systemd csomaggal kerül telepítésre.

A parancs használható önállóan:

timedatectl

Ekkor kiírja az dátumhoz és időhöz tartozó beállításokat.

$ timedatectl
      Local time: h 2020-02-24 12:32:25 CET
  Universal time: h 2020-02-24 11:32:25 UTC
        RTC time: h 2020-02-24 12:32:25
       Time zone: Europe/Budapest (CET, +0100)
 Network time on: yes
NTP synchronized: no
 RTC in local TZ: yes
Warning: The system is configured to read the RTC time in the local time zone.
         This mode can not be fully supported. It will create various problems
         with time zone changes and daylight saving time adjustments. The RTC
         time is never updated, it relies on external facilities to maintain it.
         If at all possible, use RTC in UTC by calling
         'timedatectl set-local-rtc 0'.

Ha a Network time on: yes értékre van állítva, a date paranccsal az idő nem változtatható meg. Beállítás:

timedatectl set-ntp no

Az idő szinkronizálása NTP protokollon

rdate hostnev.domain.and

Beállítás rendszerindításnál

Készítsünk egy fájlt: <code bash /etc/init.d/rdate> #! /bin/sh

PATH=/sbin:/bin:/usr/sbin:/usr/bin HOST=iskolazo

# Set operating system time from other host in LAN. if [ -x /usr/sbin/rdate ] then

  /usr/sbin/rdate $HOST

fi chmod a+rx /etc/init.d/rdate

Készítsünk egy szimbolikus linket a következő könyvtárba:

/etc/rc2.d

Lépjünk be:

cd /etc/rc2.d
ln -s ../init.d/rdate S19rdate

Indítsuk újra a renszert:

reboot

Esetleg:

apt-get install ntpdate

Duplikátumok kezelése

A felhasználók szeretik a megosztásokat és saját könyvtáraikat redundanciában tartani. Duplikált fájlokat törölhetjük a fdupes paranccsal.

Telepítés:

apt-get install fdupes

Használat:

fdupes könyvtárnév

Segítség:

man fdupes

A hardver lekérdezése

Rendszergazdaként futtassuk a következő parancsot:

dmidecode

A „-t” kapcsolóval szabályozhatjuk mire vagyunk kíváncsiak.

A „-t” után a következők egyikét kell megadni:

Használhatjuk az lshw parancsot is. Például a memória lekérdezése:

lshw -class memory
lshw -class disk -class storage

A hardverek:

lshw -short

Irodalom

Linkek