101.3 Lecke 1
Tanúsítvány: |
LPIC-1 |
---|---|
Verzió: |
5.0 |
Témakör: |
101 Rendszerarchitektúra |
Fejezet: |
101.3 Futási szintek megváltoztatása / boot targetek és a rendszer leállítása vagy újraindítása |
Lecke: |
1/1 |
Bevezetés
A Unix tervezési elveit követő operációs rendszerek közös jellemzője, hogy a rendszer különböző funkcióit különálló folyamatok vezérlik. Ezek a daemonoknak (vagy általánosabban szolgáltatásoknak (service)) nevezett folyamatok felelősek az operációs rendszer alapjául szolgáló olyan kiterjesztett funkciókért is, mint a hálózati alkalmazás-szolgáltatások (HTTP-kiszolgáló, fájlmegosztás, e-mail stb.), adatbázisok, igény szerinti konfiguráció stb. Bár a Linux monolitikus kernelt használ, az operációs rendszer számos alacsony szintű aspektusát befolyásolják a daemonok, például a terheléselosztást és a tűzfal konfigurálását.
A rendszer céljától függ, hogy mely daemonok legyenek aktívak. Az aktív daemonok halmazának futás közben is módosíthatónak kell lennie, így a szolgáltatások az egész rendszer újraindítása nélkül elindíthatók és leállíthatók. Ennek a problémának a megoldására minden nagyobb Linux-disztribúció kínál valamilyen szolgáltatáskezelő segédprogramot a rendszer vezérlésére.
A szolgáltatások vezérelhetők shell szkriptekkel vagy egy programmal és az azt támogató konfigurációs fájlokkal. Az első módszert a SysVinit szabvány, más néven System V vagy egyszerűen csak SysV valósítja meg. A második módszert a systemd és az Upstart valósítja meg. Történelmileg a Linux disztribúciók leggyakrabban a SysV alapú szolgáltatáskezelőket használták. Ma már a legtöbb Linux-disztribúcióban gyakrabban találunk systemd-alapú szolgáltatáskezelőket. A szolgáltatáskezelő az első program, amelyet a kernel a boot folyamat során elindít, ezért a PID-je (process identification number - processz-azonosító szám) mindig 1
.
SysVinit
A SysVinit szabványon alapuló szolgáltatáskezelő a rendszerállapotok előre definiált készleteit, úgynevezett runleveleket (futási szinteket) és a hozzájuk tartozó, végrehajtandó szolgáltatási szkriptfájlokat biztosít. A futási szintek számozása 0
-tól 6
-ig tart, és általában a következő célokat szolgálják:
- Runlevel 0
-
A rendszer leállítása.
- Runlevel 1, s vagy single
-
Egyfelhasználós üzemmód, hálózati és egyéb nem létfontosságú tulajdonságok nélkül (karbantartási üzemmód).
- Runlevel 2, 3 vagy 4
-
Többfelhasználós üzemmód. A felhasználók bejelentkezhetnek konzolon vagy hálózaton keresztül. A 2-es és 4-es futási szinteket nem gyakran használják.
- Runlevel 5
-
Többfelhasználós üzemmód. Ez megegyezik a 3-assal, plusz rendelkezik grafikus bejelentkezéssel.
- Runlevel 6
-
A rendszer újraindítása.
A futási szintek és a kapcsolódó daemonok/források kezeléséért felelős program az /sbin/init
. A rendszer inicializálása során az init
program azonosítja a kernelparaméterrel vagy az /etc/inittab
fájlban meghatározott kért futási szintet, és betölti az adott futási szinthez tartozó, ott felsorolt szkripteket. Minden futási szinthez számos szolgáltatási fájl tartozhat, általában az /etc/init.d/
mappában található szkriptek. Mivel nem minden runlevel egyenértékű a különböző Linux disztribúciókban, a SysV alapú disztribúciókban is megtalálható a futási szintek céljának rövid leírása.
Az /etc/inittab
fájl szintaxisának formátuma az alábbi:
id:runlevels:action:process
Az id
egy maximum négy karakter hosszúságú összefoglaló név, amely a bejegyzés azonosítására szolgál. A runlevels
bejegyzés azon futási szintek számainak listája, amelyeknél a megadott műveletet végre kell hajtani. Az action
kifejezés határozza meg, hogy az init
hogyan fogja végrehajtani a process
kifejezés által megjelölt folyamatot. A rendelkezésre álló műveletek a következők:
boot
-
A folyamat a rendszer inicializálása során kerül végrehajtásra. A
runlevels
mező itt nem számít, figyelmen kívül marad. bootwait
-
A folyamat a rendszer inicializálása közben fog végrehajtódni és az
init
várni fog a folyamat befejezéséig. Arunlevels
mező itt is figyelmen kívül marad. sysinit
-
A folyamat a rendszer inicializálása után fog végrehajtódni, függetlenül a futási szinttől. A
runlevels
mező itt is figyelmen kívül marad. wait
-
A folyamat a megadott futtatási szinteken fog végrehajtódni, és az
init
várni fog a folytatással, amíg befejeződik. respawn
-
A folyamat újraindul, ha terminálódik.
ctrlaltdel
-
A folyamat akkor fog végrehajtódni, amikor az init folyamat megkapja a
SIGINT
jelet, amelyet a Ctrl+Alt+Del billentyűkombináció lenyomása vált ki.
Az alapértelmezett futási szint — az, amelyik kiválasztásra kerül, ha nincs más kernelparaméter megadva — szintén az /etc/inittab
állományban van megadva, az id:x:initdefault
bejegyzésben. Az x
az alapértelmezett futási szint száma. Ez a szám soha nem lehet 0
vagy 6
, mivel ez a rendszer leállását vagy újraindítását eredményezné, amint befejezi a rendszerindítási folyamatot. Egy tipikus /etc/inittab
fájl az alábbiakban látható (a zárójelben lévő magyar fordítás természetesen nem része a fájlnak):
# Default runlevel (alapértelmezett futási szint) id:3:initdefault: # Configuration script executed during boot (A rendszerindítás során végrehajtott konfigurációs szkript) si::sysinit:/etc/init.d/rcS # Action taken on runlevel S (single user) (S futási szinten végrehajtott művelet (egyetlen felhasználó)) ~:S:wait:/sbin/sulogin # Configuration for each execution level (Konfiguráció az egyes végrehajtási szintekhez) l0:0:wait:/etc/init.d/rc 0 l1:1:wait:/etc/init.d/rc 1 l2:2:wait:/etc/init.d/rc 2 l3:3:wait:/etc/init.d/rc 3 l4:4:wait:/etc/init.d/rc 4 l5:5:wait:/etc/init.d/rc 5 l6:6:wait:/etc/init.d/rc 6 # Action taken upon ctrl+alt+del keystroke (Ctrl+alt+del billentyűkombináció után végrehajtott művelet) ca::ctrlaltdel:/sbin/shutdown -r now # Enable consoles for runlevels 2 and 3 (konzolok engedélyezése a 2-es és 3-as futási szintekhez) 1:23:respawn:/sbin/getty tty1 VC linux 2:23:respawn:/sbin/getty tty2 VC linux 3:23:respawn:/sbin/getty tty3 VC linux 4:23:respawn:/sbin/getty tty4 VC linux # For runlevel 3, also enable serial (3-as futási szinthez, serial engedélyezése) # terminals ttyS0 and ttyS1 (modem) consoles (ttyS0 terminálok és ttyS1 (modem) konzolok) S0:3:respawn:/sbin/getty -L 9600 ttyS0 vt320 S1:3:respawn:/sbin/mgetty -x0 -D ttyS1
A telinit q
parancsot minden alkalommal le kell futtatni, miután az /etc/inittab
fájl módosításra került. A q
(vagy Q
) argumentum jelzi az init-nek, hogy töltse újra a konfigurációt. Ez a lépés azért fontos, hogy elkerüljük a rendszer leállását a /etc/inittab
hibás konfigurációja miatt.
Az init
által az egyes futási szintek beállításához használt szkriptek az /etc/init.d/
mappában találhatók. Minden futási szintnek van egy kapcsolódó mappája az /etc/
mappában, amelynek neve /etc/rc0.d/
, /etc/rc1.d/
, /etc/rc2.d/
, stb., és amely tartalmazza azokat a szkripteket, amelyeket a megfelelő futási szint indításakor végre kell hajtani. Mivel ugyanazt a szkriptet különböző futási szintek használhatják, az ezekben a mappákban lévő fájlok csak szimbolikus hivatkozások a /etc/init.d/
mappában lévő tényleges szkriptekre. Továbbá a futási szint mappájában lévő link fájlnevének első betűje jelzi, hogy a szolgáltatást a megfelelő futási szinthez tartozóan kell-e elindítani vagy megszüntetni. A link K
betűvel kezdődő fájlneve azt határozza meg, hogy a szolgáltatás a runlevelbe való belépéskor meg fog szűnni (kill). Az S
betűvel kezdődő hivatkozás azt jelenti, hogy a szolgáltatás a futási szintre való belépéskor elindul (start). Az /etc/rc1.d/
mappában például sok, K
betűvel kezdődő hivatkozás található hálózati szkriptekre, figyelembe véve, hogy az 1-es futási szint a single felhasználó futási szintje, hálózati kapcsolat nélkül.
A runlevel
parancs megmutatja a rendszer aktuális futási szintjét. A runlevel
parancs két értéket mutat, az első az előző futási szint, a második pedig az aktuális futási szint:
$ runlevel N 3
Az N
betű a kimeneten azt mutatja, hogy a futási szint nem változott a legutóbbi indítás óta. A példában szereplő runlevel 3
a rendszer jelenlegi futási szintje.
Ugyanez az init
program használható a futó rendszer futási szintjei közötti váltásra, újraindítás nélkül. A telinit
parancs is használható a futási szintek közötti váltásra. Például a telinit 1
, telinit s
vagy telinit S
parancsok az 1-es futási szintre váltanak.
systemd
Jelenleg a systemd a legszélesebb körben használt eszközkészlet a rendszer erőforrásainak és szolgáltatásainak kezelésére, amelyeket a systemd units-nak nevez. Egy unit (egység) egy névből, egy típusból és egy hozzá tartozó konfigurációs fájlból áll. Például egy httpd szerverfolyamat (mint például az Apache webkiszolgáló) egysége a Red Hat alapú disztribúciókban httpd.service
, és a konfigurációs fájl neve is httpd.service
(Debian alapú disztribúciókban ezen unit neve apache2.service
).
A systemd-egységeknek hét különböző típusa létezik:
service
-
A leggyakoribb egységtípus, aktív rendszererőforrásokhoz, amelyek kezdeményezhetők, megszakíthatók és újratölthetők.
socket
-
A socket egységtípus lehet fájlrendszeri vagy hálózati socket. Minden socket egységnek van egy megfelelő szolgáltatási egysége, amely akkor töltődik be, amikor a socket kérést kap.
device
-
A device (eszköz) egység a kernel által azonosított hardvereszközhöz kapcsolódik. Egy device csak akkor lesz systemd egységnek véve, ha létezik erre a célra udev szabály. Egy device egység használható a konfigurációs függőségek feloldására, amikor bizonyos hardvereket észlel, feltéve, hogy az udev szabály tulajdonságai a device egység paramétereiként használhatók.
mount
-
A mount unit egy csatolási pont definíciója a fájlrendszerben, hasonlóan a
/etc/fstab
bejegyzéshez. automount
-
Az automount egység szintén egy csatolási pontdefiníció a fájlrendszerben, de automatikusan csatlakoztatva. Minden automount egységhez tartozik egy megfelelő mount egység, amely akkor indul el, amikor az automount csatolási ponthoz hozzáférünk.
target
-
A target egység más egységek csoportosítása, egyetlen egységként kezelve.
snapshot
-
A snapshot egység a systemd menedzser elmentett állapota (nem minden Linux disztribúción érhető el).
A systemd egységek vezérlésére szolgáló fő parancs a systemctl
. A systemctl
parancsot az egységek aktiválásával, deaktiválásával, végrehajtásával, megszakításával, felügyeletével stb. kapcsolatos összes feladat végrehajtására használjuk. Egy unit.service
nevű fiktív egység esetében például a leggyakoribb systemctl
műveletek a következők lesznek:
systemctl start unit.service
-
Elindítja a
unit
-ot. systemctl stop unit.service
-
Leállítja a
unit
-ot. systemctl restart unit.service
-
Újraindítja a
unit
-ot. systemctl status unit.service
-
Kiírja a
unit
állapotát, beleértve, hogy fut-e vagy sem. systemctl is-active unit.service
-
Kiírja, hogy active, ha a
unit
fut, ellenkező esetben pedig azt, hogy inactive. systemctl enable unit.service
-
Engedélyezi a
unit
-ot, azaz aunit
betöltődik a rendszer inicializálása során. systemctl disable unit.service
-
A
unit
nem indul el a rendszerrel. systemctl is-enabled unit.service
-
Ellenőrzi, hogy a
unit
elindul-e a rendszerrel. A választ a$?
változóban tárolja. A0
érték azt jelzi, hogy aunit
elindul a rendszerrel és az1
azt, hogy aunit
nem indul el a rendszerrel.
Note
|
A systemd újabb telepítései ténylegesen listázzák a unit konfigurációját a rendszerindításkor. Például: $ systemctl is-enabled apparmor.service enabled |
Ha a rendszerben nincs más azonos nevű egység, akkor a pont utáni utótag elhagyható. Ha például csak egy httpd
típusú service
egység létezik, akkor csak a httpd
elég a systemctl
egység paramétereként.
A systemctl
parancs a rendszercélokat is vezérelheti. A multi-user.target
egység például egyesíti a többfelhasználós rendszerkörnyezethez szükséges összes egységet. Ez hasonló a SysV-t használó rendszerben a 3-as futási szinthez.
A systemctl isolate
parancs váltogatja a különböző célokat (target). A multi-user
célra történő manuális váltás:
# systemctl isolate multi-user.target
Vannak SysV futtatási szintekhez tartozó célok (targets), kezdve a runlevelO.target
-től egészen a runlevel6.target
-ig. A systemd azonban nem használja az /etc/inittab
fájlt. Az alapértelmezett rendszercél (sysrem tagret) megváltoztatásához a systemd.unit
opciót hozzáadhatjuk a kernel paramétereinek listájához. Például, ha a multi-user.target
-t szeretnénk használni alapértelmezett célként, a kernel paramétere a systemd.unit=multi-user.target
kell legyen. Minden kernelparaméter állandósítható a bootloader konfigurációjának módosításával.
Az alapértelmezett cél megváltoztatásának másik módja, ha módosítjuk a /etc/systemd/system/default.target
szimbolikus linket, hogy az a kívánt célra mutasson. A link átdefiniálása önmagában a systemctl
paranccsal is elvégezhető:
# systemctl set-default multi-user.target
Hasonlóképpen, a következő paranccsal meghatározhatjuk, hogy mi a rendszer alapértelmezett rendszerindítási célja:
$ systemctl get-default graphical.target
A SysV-t alkalmazó rendszerekhez hasonlóan az alapértelmezett cél soha nem mutathat a shutdown.target
címre, mivel az a 0 futási szintnek (shutdown) felel meg.
Az egyes egységekhez tartozó konfigurációs fájlok a /lib/systemd/system/
mappában találhatók. A systemctl list-unit-files
parancs felsorolja az összes elérhető egységet, és megmutatja, hogy engedélyezve van-e az indításuk a rendszer indításakor. A --type
kapcsoló csak az adott típushoz tartozó egységeket választja ki, mint a systemctl list-unit-files --type=service
és a systemctl list-unit-files --type=target
parancsok esetén.
Az aktív egységek vagy az aktuális rendszermunkamenet alatti aktív egységek a systemctl list-units
paranccsal listázhatók. A list-unit-files
opcióhoz hasonlóan a systemctl list-units --type=service
parancs csak a service
típusú egységeket, a systemctl list-units --type=target
parancs pedig csak a target
típusú egységeket választja ki.
A systemd felelős az energiával kapcsolatos események kiváltásáért és az azokra való reagálásért is. A systemctl suspend
parancs a rendszert alacsony energiafogyasztású üzemmódba helyezi, az aktuális adatokat a memóriában tartja. A systemctl hibernate
parancs az összes memóriaadatot lemezre másolja, így a rendszer aktuális állapota a kikapcsolás után visszaállítható. Az ilyen eseményekhez kapcsolódó műveleteket az /etc/systemd/logind.conf
fájlban vagy az /etc/systemd/logind.conf.d.d/
mappán belüli különálló fájlokban határozzuk meg. Ez a systemd funkció azonban csak akkor használható, ha a rendszerben nem fut más energiagazdálkodó, például az acpid
daemon. Az acpid
daemon a Linux fő energiakezelője, és finomabb beállításokat tesz lehetővé az energiával kapcsolatos eseményeket követő műveletekben, mint például a laptop fedelének becsukása, az alacsony akkumulátor-szint vagy az akkumulátor töltöttségi szintje.
Upstart
Az Upstart által használt inicializálási szkriptek az /etc/init/
mappában találhatók. A rendszerszolgáltatásokat az initctl list
paranccsal lehet listázni, amely a szolgáltatások aktuális állapotát és, ha rendelkezésre áll, a PID számukat is megjeleníti.
# initctl list avahi-cups-reload stop/waiting avahi-daemon start/running, process 1123 mountall-net stop/waiting mountnfs-bootclean.sh start/running nmbd start/running, process 3085 passwd stop/waiting rc stop/waiting rsyslog start/running, process 1095 tty4 start/running, process 1761 udev start/running, process 1073 upstart-udev-bridge start/running, process 1066 console-setup stop/waiting irqbalance start/running, process 1842 plymouth-log stop/waiting smbd start/running, process 1457 tty5 start/running, process 1764 failsafe stop/waiting
Minden Upstart-műveletnek saját, független parancsa van. Például a start
parancs használható egy hatodik virtuális terminál elindítására:
# start tty6
Az erőforrás aktuális állapota a status
paranccsal ellenőrizhető:
# status tty6 tty6 start/running, process 3282
A szolgáltatás megszakítása pedig a stop
paranccsal történik:
# stop tty6
Az Upstart nem használja az /etc/inittab
fájlt a futási szintek meghatározására, de a runlevel
és a telinit
parancsok továbbra is használhatók a futási szintek ellenőrzésére és váltogatására.
Note
|
Az Upstartot az Ubuntu Linux disztribúcióhoz fejlesztették, hogy megkönnyítse a folyamatok párhuzamos indítását. Az Ubuntu 2015-ben a systemd-re váltott, azóta nem használja az Upstartot. |
Leállítás és újraindítás
A rendszer leállítására vagy újraindítására használt hagyományos parancs neve nem meglepő módon shutdown
. A shutdown
parancs extra funkciókkal egészíti ki a kikapcsolási folyamatot: automatikusan figyelmeztető üzenettel értesíti az összes bejelentkezett felhasználót a shell munkamenetükben, és megakadályozza az új bejelentkezéseket. A shutdown
parancs a SysV vagy systemd eljárások közvetítőjeként működik, azaz a rendszer által elfogadott szolgáltatáskezelő megfelelő műveletének meghívásával hajtja végre a kért műveletet.
A shutdown
végrehajtása után minden folyamat megkapja a SIGTERM
jelet, amelyet a SIGKILL
jel követ, majd a rendszer leáll vagy megváltoztatja a futási szintjét. Alapértelmezés szerint, ha sem a -h
, sem az -r
opciót nem használjuk, a rendszer az 1-es futási szintre, azaz az egyfelhasználós üzemmódra vált. A shutdown
alapértelmezett beállításainak módosításához a parancsot a következő szintaxissal kell végrehajtani:
$ shutdown [option] time [message]
Csak a time
paraméter elvárt. A time
paraméter határozza meg, hogy a kért művelet mikor kerül végrehajtásra, a következő formátumokat fogadva el:
hh:mm
-
Ez a formátum a végrehajtási időt órában és percben adja meg.
+m
-
Ez a formátum megadja, hogy hány percet kell várni a végrehajtás előtt.
now
or+0
-
Ez a formátum az azonnali végrehajtást határozza meg.
Az message
paraméter a bejelentkezett felhasználók összes terminál munkamenetére küldött figyelmeztető szöveg.
A SysV implementáció lehetővé teszi azon felhasználók limitálását, akik a Ctrl+Alt+Del billentyűkombinációval újraindíthatják a gépet. Ez úgy lehetséges, hogy az /etc/inittab
fájlban az /etc/inittab
sorban a ctrlaltdel
-re vonatkozó -a
opciót a shutdown
parancshoz helyezzük. Ezzel csak azok a felhasználók lesznek képesek újraindítani a rendszert a Ctrl+Alt+Del billentyűkombinációval, akiknek a felhasználóneve szerepel az /etc/shutdown.allow
fájlban.
A systemctl
parancs a számítógép kikapcsolására vagy újraindítására is használható a systemd-t használó rendszerekben. A rendszer újraindításához a systemctl reboot
, a rendszer kikapcsolásához pedig a systemctl poweroff
parancsot kell használni. Mindkét parancs futtatásához root jogosultságok szükségesek, mivel a hétköznapi felhasználók nem hajthatnak végre ilyen műveleteket.
Note
|
Egyes Linux disztribúciók a $ sudo which poweroff /usr/sbin/poweroff $ sudo ls -l /usr/sbin/poweroff lrwxrwxrwx 1 root root 14 Aug 20 07:50 /usr/sbin/poweroff -> /bin/systemctl |
Nem minden karbantartási tevékenységhez szükséges a rendszer kikapcsolása vagy újraindítása. Amikor azonban a rendszer állapotát egyfelhasználós üzemmódra kell váltani, fontos figyelmeztetni a bejelentkezett felhasználókat, hogy ne érje őket kár a tevékenységük hirtelen megszakítása miatt.
Hasonlóan ahhoz, amit a shutdown
parancs tesz a rendszer kikapcsolásakor vagy újraindításakor, a wall
parancs képes üzenetet küldeni az összes bejelentkezett felhasználó termináljába. Ehhez a rendszergazdának csak meg kell adnia egy fájlt, vagy közvetlenül az üzenetet kell paraméterként a wall
parancsba írnia.
Gyakorló feladatok
-
Hogyan lehet a
telinit
parancsot a rendszer újraindítására használni? -
Mi történik a
/etc/rc1.d/K90network
fájlhoz kapcsolódó szolgáltatásokkal, amikor a rendszer 1-es futási szintre lép? -
A
systemctl
parancs segítségével hogyan tudja egy felhasználó ellenőrizni, hogy azsshd.service
unit fut-e? -
Egy systemd-alapú rendszerben milyen parancsot kell végrehajtani ahhoz, hogy a rendszer inicializálása során aktiválni lehessen az
sshd.service
unitot?
Gondolkodtató feladatok
-
Tegyük fel, hogy egy SysV-alapú rendszerben, hogy az `/etc/inittab'-ben meghatározott alapértelmezett futási szint 3, de a rendszer mindig 1-es futási szinten indul. Mi lehet ennek a legvalószínűbb oka?
-
Bár az
/sbin/init
fájl megtalálható a systemd alapú rendszerekben, ez csak egy szimbolikus link egy másik futtatható fájlhoz. Ilyen rendszerekben mi az a fájl, amelyre az/sbin/init
mutat? -
Hogyan ellenőrizhető az alapértelmezett rendszercél egy systemd alapú rendszerben?
-
Hogyan lehet a
shutdown
paranccsal tervezett újraindítást törölni?
Összefoglalás
Ez a lecke a Linux disztribúciók által szolgáltatáskezelőként használt főbb segédprogramokat tárgyalja. A SysVinit, systemd és Upstart segédprogramok mindegyike saját megközelítéssel irányítja a rendszerszolgáltatásokat és a rendszerállapotokat. A lecke a következő témákat járja körül:
-
Mik azok a rendszerszolgáltatások és mi a szerepük az operációs rendszerben.
-
A SysVinit, systemd és Upstart parancsok fogalma és alapvető használata.
-
Hogyan kell megfelelően elindítani, leállítani és újraindítani a rendszerszolgáltatásokat és magát a rendszert.
A tárgyalt parancsok és eljárások a következők voltak:
-
A SysVinit-hez kapcsolódó parancsok és fájlok, mint a
init
,/etc/inittab
és atelinit
. -
A fő systemd parancs:
systemctl
. -
Upstart parancsok:
initctl
,status
,start
,stop
. -
Hagyományos energiagazdálkodási parancsok, mint a
shutdown
és awall
.
Válaszok a gyakorló feladatokra
-
Hogyan lehet a
telinit
parancsot a rendszer újraindítására használni?A
telinit 6
parancs 6-os futtatási szintre vált, vagyis újraindítja a rendszert. -
Mi történik a
/etc/rc1.d/K90network
fájlhoz kapcsolódó szolgáltatásokkal, amikor a rendszer 1-es futási szintre lép?A fájlnév elején lévő
K
betű miatt a kapcsolódó szolgáltatások leállnak. -
A
systemctl
parancs segítségével hogyan tudja egy felhasználó ellenőrizni, hogy azsshd.service
unit fut-e?A
systemctl status sshd.service
vagy asystemctl is-active sshd.service
paranccsal. -
Egy systemd-alapú rendszerben milyen parancsot kell végrehajtani ahhoz, hogy a rendszer inicializálása során aktiválni lehessen az
sshd.service
unitot?A
systemctl enable sshd.service
parancs a root által futtatva.
Válaszok a gondolkodtató feladatokra
-
Tegyük fel, hogy egy SysV-alapú rendszerben, hogy az `/etc/inittab'-ben meghatározott alapértelmezett futási szint 3, de a rendszer mindig 1-es futási szinten indul. Mi lehet ennek a legvalószínűbb oka?
1
vagyS
paraméterek lehetnek a kernel paraméterlistájában. -
Bár az
/sbin/init
fájl megtalálható a systemd alapú rendszerekben, ez csak egy szimbolikus link egy másik futtatható fájlhoz. Ilyen rendszerekben mi az a fájl, amelyre az/sbin/init
mutat?A systemd fő bináris állománya:
/lib/systemd/systemd
. -
Hogyan ellenőrizhető az alapértelmezett rendszercél egy systemd alapú rendszerben?
Az
/etc/systemd/system/default.target
szimbolikus link az alapértelmezett célként definiált egységfájlra mutat. Használható még asystemctl get-default
parancs is. -
Hogyan lehet a
shutdown
paranccsal tervezett újraindítást törölni?A
shutdown -c
parancsot kell használni.