[[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)