Hvordan bruke Systemd i Debian

Hvordan bruke Systemd i Debian
Roten i trestrukturen til Linux -kjerneprosesser er systemd. Som et resultat kan det brukes til å utføre svært nyttige aktiviteter som automatisk å kontrollere tjenestene og maskinen din, kjøre dem på oppstart. Vi vil se på alle nøkkelaktivitetene som man kan utføre ved hjelp av SystemD. Vi begynner med en introduksjon og går videre til implementeringen. La oss komme i gang!

Hva er Systemd?

SystemD Software Suite gir grunnlaget for Debian -operativsystemet. Rotprosessen i prosessen Tree of Linux er ansvarlig for å håndtere andre prosesser og applikasjoner, og det brukes til å kontrollere applikasjoner i kjernenivå-modus. For eksempel å kjøre Docker som en tjeneste.

Hvordan du bruker systemd for forskjellige oppgaver

Liste enhetsfiler

SystemD sysselsetter ”enhet” for å håndtere alle systemtjenestene og prosessene. SystemD -enheter bruker konfigurasjonsfiler for å styre sine forskjellige aktiviteter. Enhetskonfigurasjonsfiler er klassifisert i tre typer:

"Standard enhetskonfigurasjonsfiler" med konfigurasjonsfiler som er inneholdt i katalogen "/usr/lib/systemd/system

“Systemspesifikke enhetskonfigurasjonsfiler” med systemspesifikke enhetskonfigurasjonsfiler inneholdt i “/etc/systemd/system

"Run-Time Unit Configuration File" "med konfigurasjonsfiler som finnes i katalogen" "/RUN/SYSTEMD/SYSTEM

Nedenfor er kommandoen for å liste enhetsfiler sammen med utdataene deres

$ SystemCTL-liste-enhetsfiler

Produksjon

Enhetsfiltilstand
Proc-Sys-FS-Binfmt_Misc.Automount statisk
dev-hugepages.monter statisk
dev-mqueue.monter statisk
Proc-Sys-FS-Binfmt_Misc.monter statisk
SYS-FS-FUSE-tilkoblinger.monter statisk
Sys-Kernel-Config.monter statisk
Sys-Kernel-Debug.monter statisk
tmp.montering deaktivert
Brandbot.bane deaktivert
Systemd-ask-Password-Console.bane statisk
SystemD-ASK-PASSWEM-Plymouth.bane statisk
Systemd-ask-Password-Wall.bane statisk
Session-1.omfang statisk
ARP-ethers.Tjeneste deaktivert
Auditd.Service aktivert
[email protected] aktivert

Prøv å bruke Linux GREP -kommando for å filtrere bare aktiverte tjenester.

$ SystemCTL List-Unit-Files | GREP aktivert

Produksjon

Auditd.Service aktivert
[email protected] aktivert
CROND.Service aktivert
dbus-org.Fedoraproject.Firewalld1.Service aktivert
dbus-org.Freedesktop.NM-Dispatcher.Service aktivert
Firewalld.Service aktivert
[email protected] aktivert
Irqbalance.Service aktivert
Kdump.Service aktivert
LVM2-Monitor.Service aktivert

Start og stoppe tjenester en tjeneste

$ sudo systemctl start
$ sudo systemctl stopp

Nedenfor er et eksempel på å kjøre en Docker -container som en tjeneste.

For å kjøre applikasjonen din (la oss kalle det “x”) som en SystemD -tjeneste, oppretter du følgende fil i katalogen “/etc/Systemd/System” og navngir den som
'Docker.noen_navn.service' :

[Enhet]
Beskrivelse = x beholder
Etter = Docker.service
Ønsker = nettverk-online.Target Docker.stikkontakt
Krever = Docker.stikkontakt
[Service]
Start på nytt = alltid
ExecStart =/usr/bin/docker start -a noen_navn
ExecStop =/usr/bin/docker stop -t 10 noen_navn
[Installere]
WantedBy = Multi-User.mål

For å starte en tjeneste med en systemoppstart, bruk følgende kommando:

SystemCTL Aktiver Docker.noen_navn

Bruk følgende kommandoer for å stoppe og starte tjenesten manuelt:

sudo service stop docker.noen_navn
sudo service start docker.noen_navn

Kontroller tjenestestatus

Nedenfor er kommandoen for å sjekke statusen til kjøretjenesten.

$ sudo systemctl status

Start en tjeneste på nytt

Du kan også starte en tjeneste på nytt uten å måtte stoppe og starte den, noe som krever mer krefter. Nedenfor er kommandoen for å utføre denne oppgaven.

$ sudo SystemCTL Restart Firewalld

Start på nytt og avslutning

Nedenfor er kommandoene for å starte på nytt og slå av systemet. (Som systemadministrator, bør du også vite hvordan du skal slå av systemet ved hjelp av en kommandolinje)

$ sudo systemctl omstart
$ sudo systemctl poweroff

Starttjenester ved oppstartstid

Tjenester som Docker må startes så snart maskinen din er slått på. For å oppnå det, kan du nevne kommandoen nedenfor.

$ sudo SystemCTL Aktiver Firewalld

Prøv å starte maskinen din, og du vil merke at tjenesten starter automatisk uten menneskelig interaksjon.

Konklusjon

I dette innlegget så vi hvordan Systemd kunne utføre vanlige administrasjons- og konfigurasjonsoppgaver med maskinen din. En systemadministrator kan bruke kommandoene ovenfor for å automatisere konfigurasjonen av tjenester som kjører i maskinen din. Sørg for å prøve disse kommandoene med dine tilpassede tjenester og innse kraften til Systemd.