[[oktatas:linux|< Linux]] ====== Rendszergazdai parancsok ====== * **Szerző:** Sallai András * Copyright (c) 2011, Sallai András * Szerkesztve: 2011, 2014, 2015, 2016 * Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC BY-SA 4.0]] * Web: https://szit.hu ===== 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: #include #include 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: #! /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: * bios * system * baseboard * chassis * processor * memory * cache * connector * slot 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 ==== * http://www.cyberciti.biz/ref/apt-dpkg-ref.html * http://www.cyberciti.biz/tips/linux-debian-package-management-cheat-sheet.html * http://www.debian-administration.org/article/Offline_Package_Management_for_APT (apt-offline) * http://blog.kumgabor.hu/posts/2011-10-22_Internetkapcsolat_nelkuli_szamitogep_frissitese_apt-offline-nal.php (apt-offline) * http://www.thegeekstuff.com/2010/12/50-unix-linux-sysadmin-tutorials * http://www.debian-administration.org/articles/165 * http://tldp.fsf.hu/HOWTO/sag-hu/ (Régi, de azért használható) * http://wiki.debian.org/TimeZoneChanges (idő) * http://www.debian.org/doc/manuals/system-administrator/ch-sysadmin-time.html (időzóna)