systemd er et sæt grundlæggende byggesten til Linux-systemer. Den leverer et system og en servicemanager, der kører og starter resten af systemet som PID 1.
systemd tilbyder aggressive paralleliseringsmuligheder, bruger sockets og D-Bus-aktivering til at starte tjenester, tilbyder on-demand start af daemoner, bruger Linux-kontrolgrupper til at spore processer, vedligeholder mounts og auto-mount-punkter samt implementerer veludformet transaktionsafhængig servicekontrollogik. systemd understøtter SysV- og LSB-init-scripts og kan erstatte sysvinit.
Andre sektioner inkluderer logdæmoner, værktøjer til at styre grundlæggende systemkonfigurationer såsom værtsnavne, datoer, lokaliteter, vedligeholdelse af en liste over indloggede brugere og kørende containere og virtuelle maskiner, systemkonti, runtime-mapper og indstillinger samt håndtering af daemon-konfigurationer for simple netværk, netværkstidssynkronisering, logvideresendelse og navneopløsning.
Systemd-konfigurationsfilen findes i følgende tre mapper:
/etc/systemd/system 存放系统启动的默认级别及启动的unit的软连接,优先级最高。
/run/systemd/system 系统执行过程中产生的服务脚本,优先级次之。
/usr/lib/systemd/system 存放系统上所有的启动文件,优先级最低。 Anmeldelse:
Enhedsprofil
En enhedsfil i systemd er en fil, der koder information om de forskellige enheder, systemd kan administrere, herunder tjenester, sockets, enheder og så videre. Denne guide fokuserer på services, og i så fald er den enhedsfil, vi arbejder med, .service-filen. varnish.service enhedskonfigurationsfilen indeholder information om, hvordan systemd skal eksekvere, overvåge og administrere varnish-daemonen.
[Enhed]-blokken er normalt den første blok i konfigurationsfilen og bruges til at definere metadata for enheden og hvordan den relaterer sig til andre enheder. Dens hovedfelter er som følger.
- Beskrivelse: En kort beskrivelse
- Dokumentation: Dokumentets adresse
- Kræver: Andre enheder, som den nuværende enhed er afhængig af, og hvis de ikke kører, vil den nuværende enhed ikke starte
- Ønsker: Andre enheder, der arbejder sammen med den nuværende enhed, hvis de ikke kører, vil den nuværende enhed ikke fejle i starten
- BindsTo: Ligesom Krav, specificerer den en enhed, der får den nuværende enhed til at stoppe, hvis den lukker
- Før: Hvis den Enhed, der er angivet i dette felt, også skal startes, skal den startes efter den nuværende Enhed
- Efter: Hvis den Enhed, der er angivet i dette felt, også skal startes, skal den startes før den nuværende Enhed
- Konflikter: Den her specificerede enhed kan ikke køre samtidig med den nuværende enhed
- Betingelse... : Betingelserne der skal være opfyldt for, at den nuværende enhed kan køre, ellers vil den ikke køre
- Hævde... : Betingelserne der skal være opfyldt for, at den nuværende enhed kan køre, ellers vil opstartsfejlen blive rapporteret
[Installer] er normalt den sidste blok i konfigurationsfilen, der definerer, hvordan man starter op og om man skal starte op. Dens hovedfelter er som følger.
- WantedBy: Dens værdi er en eller flere Targets, og når den nuværende Unit er aktiv (aktiveret), placeres symlinket i en undermappe under /etc/systemd/system-mappen med Target-navnet + .wants suffikset
- RequiredBy: Dens værdi er en eller flere Targets, og når den nuværende Unit er aktiv, placeres symlinket i en undermappe under /etc/systemd/system-mappen med Target-navnet + .required suffikset
- Alias: Det alias, som den nuværende enhed kan bruge til at starte med
- Desuden: Når den nuværende enhed aktiveres, aktiveres andre enheder samtidig
[Service]-blokken bruges til at konfigurere Service, og kun enheder af Service-typen har denne blok. Dens hovedfelter er som følger.
- Type: Definerer processens adfærd ved opstart. Den har følgende værdier.
- Type=simpel: Standardværdien, udfør kommandoen specificeret af ExecStart for at starte hovedprocessen
- type=forking: Fork opretter en børneproces fra forældreprocessen, som afsluttes straks efter oprettelsen
- Type=oneshot: En engangsproces, Systemd venter på, at den nuværende service afsluttes, før den fortsætter med at køre
- Type=dbus: Den nuværende service startes via D-Bus
- type=notify: Når den nuværende service startes, vil Systemd blive underrettet og fortsætte udførelsen
- type=idle: Den nuværende service vil kun køre, hvis andre opgaver udføres
- ExecStart: Kommandoen til at starte den nuværende service
- ExecStartPre: Kommandoen, der blev udført før starten af den nuværende tjeneste
- ExecStartPost: Kommandoen, der udføres efter opstart af den nuværende service
- ExecReload: Kommandoen, der udføres, når den nuværende service genstartes
- ExecStop: Kommandoen, der udføres, når den nuværende service stoppes
- ExecStopPost: Stop kommandoen, der udføres, når den leveres
- RestartSec: Antallet af sekunder mellem automatisk service genstarter den nuværende service
- Genstart: Definerer de omstændigheder, hvor Systemd automatisk genstarter den nuværende service, med mulige værdier som altid, on-success, on-failure, on-abnormal, on-abort, on-watchdog.
- TimeoutSec: Definerer antallet af sekunder, Systemd venter, før den nuværende service stoppes
- Miljø: Angiv miljøvariablen
Systemctl administrationsværktøj
Programstyring i CentOS udføres grundlæggende af værktøjet systemctl.
Opstartsservice:
systemctl start name.service
Stop tjenesten:
systemCTL stop name.service
Genstart service:
systemctl restart name.service
Se status:
systemCTL Status Name.Service
Betinget genstart:
Hvis tjenesten blev startet før, vil den blive genstartet, og hvis tjenesten ikke startes, vil den ikke blive drevet
systemctl try-restart name.service
Genindlæs eller genstart:
Genindlæs først, og hvis genindlæsningen ikke lykkes, genstart
systemctl reload-or-restart name.service
Genindlæsning eller betinget genstart:
systemctl reload-or-try-restart name.service
Sætter om tjenesten kan sættes af brugeren til at starte tilstanden
systemctl unmask name.service
systemctl maskenavn.service er forbudt
Se den aktuelle aktiveringsstatus for tjenesten:
Status return-værdien for kommandoen service, der har startet, er 0. Status return-værdien for kommandoen, der ikke er startet, er ikke 0
systemCTL is-aktiv name.service
Se alle de tjenester, der er blevet aktiveret:
-t Angiver typen af viste enheder.
--alle viser en mere detaljeret liste over information.
-en ækvivalent --alle
SystemCTL liste-enheder
SystemCTL liste-enheder -t tjeneste
SystemCTL liste-enheder -t tjeneste -a
Se alle tjenester:
SystemCTL liste-enheder -A
Se alle servicestatusser:
SystemCTL list-unit-files
-a 、--alle: Se status for alle tjenester
-t 、--type: Angiver typen af enhed, der skal ses
indlæst: Konfigurationsfilen er blevet indlæst, indlæst i hukommelsen
active(running): Kørsler, der kontinuerligt behandles en eller flere gange
active(exited): Engangskonfigurationen fuldføres med succes
active(waiting): Løber, venter på en begivenhed
inactive:不运行
enabled:开机启动
disabled:开机不启动
static:开机不启动,但可被另一个启用的服务激活
Bruges til at angive, på hvilke driftsniveauer tjenesten er aktiveret og deaktiveret
ls /etc/systemd/system/*.wants/sshd.service
SystemCTL liste-enhedsfiler --type mål --alle
For at indstille tjenesten til ikke at starte:
SystemCTL Deaktiver tjenestenavneenhed
Tjek om tjenesten er startet og startet:
systemCTL is-enabled name.service
Se på serviceafhængigheder:
systemctl list-dependencies name.service SystemCTL List-Depebdencies
Tung belastningsservice:
systemctl daemon-reload
Dræb processen:
SystemCTL Kill Process navn
Ressourcer:
Hyperlink-login er synlig.
Hyperlink-login er synlig.
Hyperlink-login er synlig.
Hyperlink-login er synlig.
|