systemd er et sett med grunnleggende byggeklosser for Linux-systemer. Den tilbyr et system og en tjenesteadministrator som kjører og starter resten av systemet som PID 1.
systemd tilbyr aggressive parallelliseringsmuligheter, bruker sockets og D-Bus-aktivering for å starte tjenester, tilbyr on-demand start av daemoner, bruker Linux-kontrollgrupper for å spore prosesser, opprettholder mounts og auto-mount-punkter, og implementerer godt designet transaksjonsavhengighetsbasert tjenestekontrolllogikk. systemd støtter SysV- og LSB-init-skript og kan erstatte sysvinit.
Andre seksjoner inkluderer loggdemoner, verktøy for å kontrollere grunnleggende systemkonfigurasjoner som vertsnavn, datoer, lokasjoner, vedlikehold av en liste over innloggede brukere og kjøring av containere og virtuelle maskiner, systemkontoer, kjøretidskataloger og innstillinger, samt administrasjon av daemon-konfigurasjoner for enkle nettverk, nettverkstidssynkronisering, loggvideresending og navnoppløsning.
Systemd-konfigurasjonsfilen finnes i følgende tre mapper:
/etc/systemd/system 存放系统启动的默认级别及启动的unit的软连接,优先级最高。
/run/systemd/system 系统执行过程中产生的服务脚本,优先级次之。
/usr/lib/systemd/system 存放系统上所有的启动文件,优先级最低。 Anmeldelse:
Enhetsprofil
En enhetsfil i systemd er en fil som koder informasjon om de ulike enhetene systemd kan administrere, inkludert tjenester, sokler, enheter og så videre. Denne guiden fokuserer på tjenester, i så fall er enhetsfilen vi jobber med .service-filen. Konfigurasjonsfilen for varnish.service-enheten inneholder informasjon om hvordan systemd skal kjøre, overvåke og administrere lakk-daemonen.
[Enhets]-blokken er vanligvis den første blokken i konfigurasjonsfilen og brukes til å definere metadataene til enheten og hvordan den relaterer seg til andre enheter. Hovedfeltene er som følger.
- Beskrivelse: En kort beskrivelse
- Dokumentasjon: Adressen til dokumentet
- Krever: Andre enheter som den nåværende enheten er avhengig av, og hvis de ikke er i drift, vil den nåværende enheten ikke starte
- Ønsker: Andre enheter som fungerer med den nåværende enheten, hvis de ikke er i drift, vil ikke den nåværende enheten feile å starte
- BindsTo: Ligner på Rescribes, spesifiserer den en enhet som får den nåværende enheten til å slutte å kjøre hvis den avsluttes
- Før: Hvis enheten som er spesifisert i dette feltet også skal startes, må den startes etter den nåværende enheten
- Etter: Hvis enheten som er spesifisert i dette feltet også skal startes, må den startes før den nåværende enheten
- Konflikter: Enheten som er spesifisert her kan ikke kjøre samtidig som den nåværende enheten
- Betingelse... : Betingelsene som må oppfylles for at den nåværende enheten skal kunne fungere, ellers vil den ikke fungere
- Hevde... : Betingelsene som må oppfylles for at den nåværende enheten skal fungere, ellers vil oppstartsfeil bli rapportert
[Installer] er vanligvis den siste blokken i konfigurasjonsfilen som definerer hvordan du skal starte opp og om du skal starte opp. Hovedfeltene er som følger.
- WantedBy: Verdien er én eller flere Targets, og når den nåværende enheten er aktiv (aktivert), plasseres symlinken i en undermappe under /etc/systemd/system/system-mappen med Target-navnet + .wants suffikset
- RequiredBy: Verdien er én eller flere Targets, og når den nåværende enheten er aktiv, vil symlinken bli plassert i en underkatalog under /etc/systemd/system-mappen med Target-navnet + .required suffikset
- Alias: Aliaset som den nåværende enheten kan bruke for å starte
- Også: Når den nåværende enheten aktiveres, aktiveres andre enheter samtidig
[Service]-blokken brukes til å konfigurere Service, og kun enheter av Service-typen har denne blokken. Hovedfeltene er som følger.
- Type: Definerer prosessens oppførsel ved oppstart. Den har følgende verdier.
- type=enkel: Standardverdien, kjør kommandoen spesifisert av ExecStart for å starte hovedprosessen
- type=forking: Fork oppretter en barneprosess fra foreldreprosessen, som avsluttes umiddelbart etter opprettelse
- Type=oneshot: En engangsprosess, Systemd venter på at den nåværende tjenesten avsluttes før den fortsetter å kjøre
- Type=dbus: Den nåværende tjenesten startes via D-Bus
- type=varsle: Når den nåværende tjenesten startes, vil Systemd bli varslet og fortsette kjøringen
- type=idle: Den nåværende tjenesten vil bare kjøre hvis andre oppgaver utføres
- ExecStart: Kommandoen for å starte den nåværende tjenesten
- ExecStartPre: Kommandoen som utføres før den nåværende tjenesten startes
- ExecStartPost: Kommandoen som utføres etter at den nåværende tjenesten er startet
- ExecReload: Kommandoen som utføres når den nåværende tjenesten startes på nytt
- ExecStop: Kommandoen som utføres når den nåværende tjenesten stoppes
- ExecStopPost: Stopp kommandoen som utføres når den leveres
- RestartSec: Antall sekunder mellom automatisk tjeneste starter den nåværende tjenesten på nytt
- Omstart: Definerer omstendighetene under hvilke Systemd automatisk vil starte den nåværende tjenesten på nytt, med mulige verdier som alltid, ved suksess, ved feil, på-unormal, ved avbrytelse, på-vaktbikkje
- TimeoutSec: Definerer antall sekunder Systemd venter før den nåværende tjenesten stoppes
- Miljø: Spesifiser miljøvariabelen
Systemctl-administrasjonsverktøy
Programadministrasjon i CentOS gjøres i hovedsak av verktøyet systemctl.
Oppstartstjeneste:
SystemCTL Start Name.Service
Avslutt tjenesten:
SystemCTL Stop Name.Service
Start tjenesten på nytt:
systemctl restart name.service
Vis status:
SystemCTL Status Name.Service
Betinget omstart:
Hvis tjenesten ble startet tidligere, vil den bli startet på nytt, og hvis tjenesten ikke startes, vil den ikke bli drevet
systemctl try-restart name.service
Last inn eller start på nytt:
Last inn på nytt først, og hvis omladingen ikke lykkes, start på nytt
systemctl reload-or-restart name.service
Last inn på nytt eller betinget omstart:
systemctl reload-or-try-restart name.service
Bestemmer om tjenesten kan settes av brukeren til å starte tilstanden
systemctl unmask name.service
SystemCTL Mask Name.Service er forbudt
Se gjeldende aktiveringsstatus for tjenesten:
Statusreturverdien til kommandoen tjenesten har startet er 0. Statusreturverdien til kommandoen som ikke er startet er ikke-0
systemCTL is-active name.service
Se alle tjenestene som er aktivert:
-t Spesifiserer typen enhet som vises.
--alle viser en mer detaljert liste med informasjon.
-en ekvivalent --alle
SystemCTL listeenheter
SystemCTL liste-enheter -t tjeneste
SystemCTL listeenheter -t tjeneste -a
Se alle tjenester:
SystemCTL listeenheter -A
Se alle tjenestestatuser:
SystemCTL list-unit-files
-a 、--alle: Se status for alle tjenester
-t 、--type: Angir hvilken type enhet som skal sees
lastet inn: Konfigurasjonsfilen er lastet inn, lastet inn i minnet
active(running): Kjøringer som kontinuerlig behandles én eller flere ganger
active(exited): Engangskonfigurasjonen fullføres vellykket
aktiv (venter): Løper, venter på en hendelse
inactive:不运行
enabled:开机启动
disabled:开机不启动
static:开机不启动,但可被另一个启用的服务激活
Brukes til å liste opp hvilke driftsnivåer tjenesten er aktivert og deaktivert
ls /etc/systemd/system/*.wants/sshd.service
SystemCTL liste-enhetsfiler --type mål --alle
For å sette tjenesten til ikke å starte:
systemCTL Deaktiver tjenestenavnenhet
Sjekk om tjenesten er startet og startet:
SystemCTL IS-enabled name.service
Se på tjenesteavhengigheter:
SystemCTL list-dependencies name.service SystemCTL list-depebdencies
Tung lasttjeneste:
SystemCTL Daemon-Reload
Avslutt prosessen:
SystemCTL Kill Process navn
Ressurser:
Innloggingen med hyperkoblingen er synlig.
Innloggingen med hyperkoblingen er synlig.
Innloggingen med hyperkoblingen er synlig.
Innloggingen med hyperkoblingen er synlig.
|