Systemd ievieš jēdzienu systemd vienības Linux. Par e.g., apkalpošanas vienība, mērķa vienība, stiprinājuma vienība utt. ir vienību tipi ar faila paplašinājumu kā .apkalpošana, .mērķis, .montēt attiecīgi. Konfigurācijas fails, kas apzīmē šīs vienības, tiek saglabāts direktorijos: / usr / lib / systemd / system /, / run / systemd / system /, / etc / systemd / system /
Red Hat Enterprise Linux (RHEL) iepriekšējās versijās tika izmantoti init skripti. Šie skripti tika rakstīti BASH un atradās direktorijā “/ etc / rc.d / init.d / ”. Tie ir skripti, kurus izmanto pakalpojumu un dēmonu kontrolei. Vēlāk RHEL 7 tika ieviestas servisa vienības, lai aizstātu init skriptus. Fedora, kas ir Red Hat Enterprise Linux augšpusējā operētājsistēma, ir sākusi izmantot systemd no Fedora 15. versijas.
Apkalpošanas vienībām ir .pakalpojuma failu paplašinājumiem un tām ir līdzīgas lomas kā init skriptiem. Lai pārvaldītu sistēmas pakalpojumus, “Systemd” izmanto utilītu “systemctl”. To var izmantot, lai apskatītu, palaistu, apturētu, restartētu, iespējotu vai atspējotu šos pakalpojumus.
Systemd priekšrocības salīdzinājumā ar Init sistēmu
- Izmantojot systemd, mēs varam noteikt nepieciešamo pakalpojumu prioritāti, nevis mazāk nozīmīgus pakalpojumus.
- Systemd izmanto grupas, lai sekotu procesiem un kontrolētu izpildi.vide.
- Systemd joprojām atbalsta veco init procesu un tam ir lielāka kontrole.
- Systemd spēj tikt galā ar dinamiskām sistēmas konfigurācijas modifikācijām.
Ko mēs segsim?
Šajā rokasgrāmatā mēs uzzināsim par sistēmas procesu pārvaldību. Mēs redzēsim, kā iespējot un atspējot startēšanas pakalpojumus sāknēšanas laikā un kā veikt tādas pakalpojumu darbības kā startēšana, apturēšana, restartēšana utt. Mēs esam veikuši šādus vingrinājumus Fedora 30 darbstacijās, kas būs vispiemērotākie citām Linux OS.
Uzskaitiet startēšanas pakalpojumus vietnē Boot Fedora Linux
Vecajā SysV metodē tiek izmantots pakalpojums un chkconfig komandas pakalpojumu pārvaldībai. Šīs komandas tagad ir aizstātas ar tādām komandām kā systemd systemctl. Apskatīsim dažas “systemctl” darbības ar dažādiem pakalpojumiem Linux.
1. Lai uzskaitītu visus pakalpojumus, kas darbojas jūsu sistēmā, kā arī to stāvokļus (iespējotus vai atspējotus), izmantojiet zemāk esošo komandu:
$ sudo systemctl list-unit-files --type = service
Pakalpojumam var būt trīs stāvokļi: 1) iespējots 2) atspējots 3) statisks
Iespējotam pakalpojumam ir simlink saite .vēlas direktoriju, savukārt invalīdu dienestam tāda nav. Statiskā pakalpojuma attiecīgajā init skriptā nav instalēšanas sadaļas. Tātad, to nevar iespējot vai atspējot.
Lai iegūtu sīkāku informāciju par pakalpojumiem, jāizmanto šī komanda.
$ sudo systemctl -at pakalpojums
Iepriekš minēto kolonnu nosaukumu kopsavilkums:
UNIT - systemd vienības nosaukums (šeit pakalpojuma nosaukums).
LOAD - norādiet, vai systemd vienība ir ielādēta pareizi vai nav.
AKTĪVS - vienības stāvoklis (šeit pakalpojums).
SUB - vienības aktivizācijas apakšstāvoklis.
APRAKSTS - īsa informācija par ierīci.
Mēs varam izmantot arī šādu komandu:
$ sudo ls / lib / systemd / system / *.apkalpošanavai
$ sudo / etc / systemd / system / *.apkalpošana
The “/ Etc / inittab” tagad ir aizstāts ar “/ Etc / systemd / system /” sistēmā. Šajā direktorijā tagad ir norādītas saites uz direktorijā esošajiem failiem “/ Usr / lib / systemd / system”. Inicializācijas skripti tiek ievietoti mapē “/ usr / lib / systemd / system”. Pakalpojums ir jāpiesaista “/ Etc / systemd / system /” lai sāktu to sistēmas sāknēšanas laikā. Šim nolūkam komandu systemctl izmanto Fedora un citās jaunākajās Linux sistēmās.
2. Apskatīsim zemāk redzamo httpd pakalpojuma iespējošanas piemēru:
$ sudo systemctl iespējo httpd.apkalpošana
Mēs varam izmantot arī zemāk esošo komandu, lai filtrētu visus iespējotos pakalpojumus:
$ sudo systemctl list-unit-files | grep iespējots
vai izmantojiet komandu:
$ sudo systemctl | grep darbojas
3. Lai uzskaitītu visus aktīvos (darbojas) pakalpojumus, izmantojiet komandu:
4. Lai redzētu, kuri pakalpojumi ir iespējoti, lai automātiski sāktu sistēmas sāknēšanas laikā, mēs varam izmantot arī šādu komandu:
$ sudo systemctl list-unit-files --type = service --state = iespējots - visi
5. Līdzīgi mēs varam pārbaudīt atspējotos pakalpojumus, lai sāktu sāknēšanu ar komandu:
$ sudo systemctl list-unit-files --type = service --state = atspējots - visi
6. Mēs varam arī redzēt, cik daudz katrs pakalpojums aizņem startēšanas laikā:
$ sudo systemd-analizēt vainu
7. Lai pārbaudītu, vai palaišanas laikā pakalpojums ir iespējots automātiskai palaišanai, izmantojiet komandu:
$ sudo systemctl ir iespējots xxxIevietojiet pakalpojuma nosaukumu xxx vietā. E.g., httpd pakalpojuma gadījumā komanda būs:
$ sudo systemctl ir iespējots httpd.apkalpošanavai
$ sudo systemctl ir iespējots httpd
8. Lai pārbaudītu pakalpojuma statusu, izmantojiet komandu:
$ sudo systemctl statuss xxx.apkalpošanaPiemēram, lai pārbaudītu sshd pakalpojuma statusu:
$ sudo systemctl statuss sshd.apkalpošana
9. Lai pārbaudītu, vai pakalpojums darbojas vai nē, vienkārši izpildiet tālāk norādīto komandu:
$ sudo systemctl ir-aktīvs xxx.apkalpošanaPiemēram, lai pārbaudītu telneta statusu:
$ sudo systemctl ir aktīvs telnet.apkalpošana
10. Lai sāktu beigtu vai neaktīvu pakalpojumu, izmantojiet komandu:
$ sudo systemctl start xxx.apkalpošanaPiemēram, lai sāktu sshd pakalpojumu:
$ sudo systemctl start sshd
11. Lai atspējotu pakalpojumu sistēmas sāknēšanas laikā
Piemēram, lai atspējotu pakalpojumu httpd:
$ sudo systemctl atspējot httpd.apkalpošanavai
$ sudo systemctl atspējot httpd
12. Lai restartētu darbojošos pakalpojumu
$ sudo systemctl restartējiet xxx.apkalpošanaLai restartētu sshd pakalpojumu, izmantojiet komandu:
$ sudo systemctl restartējiet sshdJa pakalpojums vēl nedarbojas, tas tiks palaists.
13. Lai atkārtoti ielādētu darbojošos pakalpojumu
$ sudo systemctl pārlādēt xxx.apkalpošanaPiemēram, atkārtoti ielādējiet pakalpojumu httpd ar:
$ sudo systemctl pārlādēt httpd.apkalpošana
Šī komanda atkārtoti ielādē konkrēta pakalpojuma konfigurāciju. Lai atkārtoti ielādētu systemd vienības konfigurācijas failu, mums ir nepieciešama komanda:
$ sudo systemctl daemon-reload14. Lai uzskaitītu visas pakalpojuma atkarības:
$ sudo systemctl saraksta atkarības xxx.apkalpošanaHttpd pakalpojuma gadījumā komanda būs:
$ sudo systemctl atkarības no saraksta httpd.apkalpošana
Secinājums
Šajā ceļvedī mēs esam redzējuši dažādus veidus, kā pārvaldīt pakalpojumus ar systemd utilītu, piemēram, pakalpojumu iespējošanu sāknēšanas laikā, to palaišanu un apturēšanu utt. Ja esat pieradis pie vecās Sysvinit servisa komandas, jums vajadzētu pārslēgties uz systemd, jo tai ir vairāk funkciju, un tā ir noklusējuma init sistēma jaunākajās Fedora, RHEL versijās un lielākajā daļā citu lielāko Linux izplatījumu.