Kako upravljati s storitvami Systemd z Systemctl?

Privzeti upravitelj sistema in storitev za večino distribucij Linuxa je zdaj sistemski.


Sistemski postopek nadomesti init SysV. Poteka kot prvi postopek po zagonu jedra in je odgovoren za to, da Linux gostitelja privede do stanja, v katerem ga je mogoče uporabiti. Odgovoren je za zagon in upravljanje storitev, namestitev datotečnih sistemov, upravljanje strojne opreme, ustvarjanje poziva za prijavo in še veliko več.

Ključna prednost pred SysV je, da sistemd sproži čim več storitev vzporedno, s čimer pospeši postopek zagona in hitreje odpre zaslon za prijavo..

Enote

Elementi, ki jih upravlja sistemd, se imenujejo enote. Datoteke enote se nahajajo v / lib / systemd / sistemu.

Servisne enote

Za upravljanje storitev so ciljne enote servisne enote, ki imajo datoteke enot s pripono .storitev.

Upravljanje sistemskih storitev

Ukaz za upravljanje sistemskih enot je systemctl.

Zagon in zaustavitev storitev

Za zagon sistemske storitve uporabite ukaz systemctl start:

$ sudo systemctl začetek name.service

Lahko pustite .service pripono. Na primer za zagon strežnika apache v Ubuntuju:

$ sudo systemctl začetek apache2

Zaustavitev izvajanja storitve:

$ sudo systemctl zaustavitev name.service

Torej, za zaustavitev strežnika apache na Ubuntuju:

$ sudo systemctl stop apache2

Ponovni zagon in ponovno nalaganje storitev

Če želite znova zagnati delujočo storitev, uporabite ukaz za zagon:

$ sudo systemctl znova zaženite name.service

In kjer je potrebna edina konfiguracijska datoteka za ponovno nalaganje

$ sudo systemctl ponovno naloži ime.service

Omogočanje in onemogočanje storitev

Če želite, da se storitev samodejno zažene pri zagonu sistema, uporabite ukaz enable:

$ sudo systemctl omogoči ime.service

Če želite onemogočiti zagon storitve pri zagonu sistema:

$ sudo systemctl onemogoči ime.service

Onemogočanje ne ustavi delujoče storitve.

Ogled stanja storitve

Če si želite ogledati informacije o storitvi:

$ sudo systemctl status name.service

Prikaže se stanje storitve in prvih nekaj vrstic datoteke dnevnika. Medtem ko je storitev tečena, je rezultat

sudo systemctl status apache2

je

apache2.service – strežnik Apache HTTP
Naloženo: naloženo (/lib/systemd/system/apache2.service; omogočeno; prednastavitev ponudnika: omogočeno)
Drop-In: /lib/systemd/system/apache2.service.d
└─apache2-systemd.conf
Aktivno: aktivno (deluje) od čet 2020-05-19 22:11:36 UTC; Pred 4 dnevi
Proces: 116002 ExecReload = / usr / sbin / apachectl graciozan (koda = izšel, status = 0 / USPEH)
Glavni PID: 104165 (apache2)
Naloge: 55 (omejitev: 1024)
CGroup: /system.slice/apache2.service
├─104165 / usr / sbin / apache2 -k začetek
├─116006 / usr / sbin / apache2 -k začetek
└─116007 / usr / sbin / apache2 -k začetek

19. maja 22:11:36 ubuntu18 systemd [1]: Zagon strežnika Apache HTTP…
19. maj 22:11:36 ubuntu18 systemd [1]: Začel strežnik Apache HTTP.
21. maja 06:25:01 ubuntu18 systemd [1]: Ponovno nalaganje strežnika Apache HTTP.
21. maja 06:25:01 ubuntu18 systemd [1]: Ponovno naložil strežnik Apache HTTP.
22. maj 06:25:01 ubuntu18 systemd [1]: Ponovno naloži strežnik Apache HTTP.

Če želite preveriti, ali je storitev aktivna:

$ sudo systemctl je aktivna ime.service

Medtem ko je storitev apache2 zagnana, je izhod systemctl is Active ukaza:

$ sudo systemctl je aktiven apache2
aktivno

Če želite preveriti, ali je storitev omogočena:

$ sudo systemctl je omogočeno ime.service.

Ogled stanja sistema

Vsi ukazi, ki ste jih videli do zdaj, se uporabljajo za upravljanje posamezne storitve. Ko želite pregled stanja sistema, uporabite naslednji niz ukazov:

Za ogled vseh vrst enot

$ sudo systemctl – ni pomoči
Razpoložljive vrste enot:
storitev
vtičnica
cilj
napravo
pritrditi
avtomat
zamenjati
timer
pot
rezina
Obseg

Za seznam vseh nameščenih enot uporabite datoteke-list-list

$ sudo systemctl datotek s seznamom-enoto
DRŽAVA FILE DRŽAVE
proc-sys-fs-binfmt_misc.automount statična
-.generirano
boot-efi.mount ustvarjen
dev-огромne strani.mount statična
dev-mqueue.mount statični
mnt.mount ustvarjen
proc-sys-fs-binfmt_misc.mount statična
sys-fs-fuse-connection.mount statična
sys-kernel-config.mount statična
sys-kernel-debug.mount statična
omogočen acpid.path
omogočen je apport-autoreport.path
systemd-ask-password-console.path statični
systemd-ask-password-plymouth.path statično
systemd-ask-password-wall.path statična
zasedanje-161.skop prehodno
računi-daemon.service omogočeni

Izhod ima samo dva stolpca Unit File in State. Stanje bo običajno omogočeno, onemogočeno, statično ali zamaskirano.

  • Statični: To pomeni, da enote ni mogoče omogočiti, izvesti enkratno dejanje ali je odvisnost druge enote in je ni mogoče zagnati sam.
  • Maskirano: Enota, navedena kot maskirana, pomeni, da je popolnoma nestabilna, saj je povezana z / dev / null. Temu rečemo maskiranje enote. S tem preprečite zagon storitve, ročno ali samodejno.

Seznam vseh nameščenih storitev

Ukaz systemctl list-unit-files s -t ali –type servisnim filtrom prikazuje samo stanje nameščenih storitev.

$ sudo systemctl seznam-enota datotek -t storitev

DRŽAVA FILE DRŽAVE
računi-daemon.service omogočeni
acpid.service onemogočena
apache-htcacheclean.service onemogočen
[zaščitena e-pošta] onemogočeno
apache2.service omogočena
[zaščitena e-pošta] onemogočeno
apparmor.service omogočena
apport-autoreport.service statika
[zaščitena e-pošta] statična
Apport.service ustvarjen
apt-daily-upgrade.service statična
apt-daily.service statična
atd.service omogočena
[zaščitena e-pošta] omogočeno
blk-available.service omogočena
bootlogd.service maskirano
bootlogs.service maskirano

Če si želite ogledati vse aktivne storitvene enote, uporabite enote seznamov s -t servisnim filtrom

$ sudo systemctl seznam-enote -t ​​storitev

OPIS NAVEDENE NASTAVITVE NA PODLAGI
account-daemon.service je naložena aktivna storitev Računi
apache2.service je naložena aktivna z Apache HTTP Server
apparmor.service aktivno naložena končala inicializacijo AppArmor
Apport.service naložen aktivni izhod iz LSB: samodejno ustvarjanje poročila o zrušitvi
atd.service naložen aktivni teče Odloženi planer izvajanja
aktivna naložena blk-available.service je bila na voljo. Razpoložljivost blokovnih naprav
oblak-config.service napolnjen aktivno zapusti Uporabi nastavitve, določene v oblaku
oblak-final.service naložena aktivna končana Izvrši uporabnika / končne skripte v oblaku
cloud-init-local.service aktivno naložena Začetek začetnega opravila v oblaku (pred omrežjem)
cloud-init.service aktivno naložena Začetek začetnega opravila v oblaku (storitev metapodatkov)
konzola-setup.service aktivno naložena Nastavi pisavo in tipkovnico konzole
cron.service naložen aktivni teče Redni program za obdelavo ozadja dae

Izhod ima naslednje stolpce:

  • ENOTA: Ime sistemske storitvene enote
  • OBLOGA: Prikaže, ali je bila definicija enote pravilno odčitana in naložena
  • AKTIVNO: Opiše, če je enota aktivna.
  • SUB: Stanje nizke stopnje vklopa enote, ki daje podrobnejše informacije o enoti. To se razlikuje glede na vrsto enote.
  • OPIS: Opis servisne enote.

Zaključek

Upam, da vam to daje predstavo o uporabi systemctl za upravljanje storitev v Linuxu. Če vas zanima kaj več, lahko to preverite Tečaj mojstrstva Linux.

Oznake:

  • Linux

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map