systemd is een set basisbouwstenen voor Linux-systemen. Het biedt een systeem en servicemanager die de rest van het systeem uitvoert en start als PID 1.
systemd biedt agressieve parallelisatiemogelijkheden, gebruikt sockets en D-Bus activatie om services te starten, biedt on-demand start van daemons, gebruikt Linux-controlegroepen om processen te volgen, onderhoudt mounts en automatische mount-punten, en implementeert goed ontworpen transaction-afhankelijkheidsgebaseerde servicecontrolelogica. systemd ondersteunt SysV- en LSB-init-scripts en kan sysvinit vervangen.
Andere secties omvatten logdaemons, hulpprogramma's om basisconfiguraties van systemen zoals hostnamen, data, locaties te beheren, het bijhouden van een lijst van ingelogde gebruikers en het draaien van containers en virtuele machines, systeemaccounts, runtime-mappen en instellingen, evenals het beheren van daemonconfiguraties voor eenvoudige netwerken, netwerktijdsynchronisatie, log forwarding en naamresolutie.
Het systemd-configuratiebestand bestaat in de volgende drie mappen:
/etc/systemd/system 存放系统启动的默认级别及启动的unit的软连接,优先级最高。
/run/systemd/system 系统执行过程中产生的服务脚本,优先级次之。
/usr/lib/systemd/system 存放系统上所有的启动文件,优先级最低。 Recensie:
Eenheidsprofiel
Een eenheidsbestand in systemd is een bestand dat informatie codeert over de verschillende units die systemd kan beheren, waaronder services, sockets, apparaten, enzovoort. Deze gids richt zich op services, in welk geval het unitbestand waarmee we werken het .service-bestand is. Het varnish.service apparaatconfiguratiebestand bevat informatie over hoe systemd de varnish-daemon moet uitvoeren, monitoren en beheren.
Het [Unit]-blok is meestal het eerste blok van het configuratiebestand en wordt gebruikt om de metadata van de Unit te definiëren en hoe deze zich verhoudt tot andere Units. De belangrijkste velden zijn als volgt.
- Beschrijving: Een korte beschrijving
- Documentatie: Het adres van het document
- Vereist: andere units waarop de huidige unit afhankelijk is, en als ze niet draaien, start de huidige unit niet
- Wants: Andere eenheden die werken met de huidige eenheid, als ze niet draaien, zal de huidige eenheid niet mislukken om te starten
- BindsTo: Vergelijkbaar met Vereisten, specificeert het een Eenheid die ervoor zorgt dat de huidige Unit stopt met draaien als deze uitgaat
- Vooraf: Als de in dit veld gespecificeerde Unit ook gestart moet worden, moet deze na de huidige Unit worden gestart
- Na: Als de in dit veld gespecificeerde Unit ook gestart moet worden, moet deze worden gestart vóór de huidige Unit
- Conflicten: De hier gespecificeerde eenheid kan niet tegelijk draaien met de huidige eenheid
- Conditie... : De voorwaarden waaraan voldaan moet zijn om de huidige eenheid te laten werken, anders zal hij niet draaien
- Beweren... : De voorwaarden waaraan voldaan moet zijn om de huidige unit te laten draaien, anders wordt de opstartfout gemeld
[Installeren] is meestal het laatste blok van het configuratiebestand dat bepaalt hoe je opstart en of je opstart. De belangrijkste velden zijn als volgt.
- WantedBy: De waarde is één of meer Targets, en wanneer de huidige Unit actief is (ingeschakeld), wordt de symlink geplaatst in een submap onder de /etc/systemd/system-map met de Target-naam + .wants achtervoegsel
- RequiredBy: De waarde is één of meer Targets, en wanneer de huidige Unit actief is, wordt de symlink geplaatst in een submap onder de /etc/systemd/system-directory met de naam Target + .required suffix
- Alias: De alias die de huidige Unit kan gebruiken om te beginnen
- Ook: Wanneer de huidige eenheid wordt geactiveerd, worden andere eenheden tegelijkertijd geactiveerd
Het [Service]-blok wordt gebruikt om de Service te configureren, en alleen eenheden van het Service-type hebben dit blok. De belangrijkste velden zijn als volgt.
- Type: Definieert het gedrag van het proces bij het opstarten. Het heeft de volgende waarden.
- Type=simpel: De standaardwaarde, voer het commando uit dat door ExecStart is gespecificeerd om het hoofdproces te starten
- type=forking: Fork maakt een kindproces aan vanuit het ouderproces, dat direct na het aanmaken wordt afgesloten
- Type=oneshot: Een eenmalig proces, Systemd wacht tot de huidige service is afgesloten voordat het verder wordt uitgevoerd
- Type=dbus: De huidige dienst wordt gestart via D-Bus
- type=melden: Wanneer de huidige service wordt gestart, wordt Systemd geïnformeerd en gaat de uitvoering verder
- type=idle: De huidige service draait alleen als andere taken worden uitgevoerd
- ExecStart: Het commando om de huidige service te starten
- ExecStartPre: Het commando dat wordt uitgevoerd voordat de huidige service wordt gestart
- ExecStartPost: Het commando dat wordt uitgevoerd na het starten van de huidige dienst
- ExecReload: Het commando dat wordt uitgevoerd wanneer de huidige service wordt herstart.
- ExecStop: Het commando dat wordt uitgevoerd wanneer de huidige service wordt gestopt
- ExecStopPost: Stop het commando dat wordt uitgevoerd wanneer het wordt uitgevoerd
- RestartSec: Het aantal seconden tussen automatische service start de huidige service opnieuw op
- Herstarten: Definieert de omstandigheden waaronder Systemd de huidige service automatisch opnieuw start, met mogelijke waarden zoals always, on-success, on-failure, on-abnormal, on-abort, on-watchdog
- TimeoutSec: Definieert het aantal seconden dat Systemd wacht voordat de huidige dienst wordt stopgezet
- Omgeving: Specificeer de omgevingsvariabele
Systemctl-beheertool
Programmabeheer in CentOS wordt in feite gedaan door het tool systemctl.
Startupservice:
SystemCTL Start Name.Service
Stop de dienst:
SystemCTL stop name.service
Service herstarten:
systemctl restart name.service
Bekijk status:
SystemCTL Status Name.service
Voorwaardelijke herstart:
Als de dienst eerder is gestart, wordt deze opnieuw gestart, en als de dienst niet wordt gestart, wordt deze niet uitgevoerd
systemctl try-restart name.service
Herladen of herstarten:
Herlaad eerst, en als het herladen niet lukt, start dan opnieuw op
systemctl reload-or-restart name.service
Herladen of voorwaardelijke herstart:
systemctl reload-or-try-restart name.service
Bepaalt of de gebruiker de service kan instellen om de toestand te starten
systemctl unmask name.service
systemctl mask name.service is verboden
Bekijk de huidige activatiestatus van de dienst:
De status return waarde van het service has started-commando is 0 De status return waarde van het commando dat niet is gestart is niet 0
SystemCTL is-actief name.service
Bekijk alle diensten die zijn geactiveerd:
-t Specificeert het type getoonde eenheid.
--alles toont een meer gedetailleerde lijst met informatie.
-een equivalent --allen
SystemCTL lijst-eenheden
SystemCTL lijst-eenheden -t dienst
SystemCTL lijst-eenheden -t dienst -a
Bekijk alle diensten:
SystemCTL lijst-eenheden -A
Bekijk alle servicestatussen:
SystemCTL list-unit-files
-a 、--allen: Bekijk de status van alle diensten
-t 、--type: Specificeert het type eenheid dat bekeken moet worden
geladen: Het configuratiebestand is geladen, in het geheugen geladen
active(running): Runs die één of meerdere keren continu worden verwerkt
active(exited): De eenmalige configuratie is succesvol voltooid
actief(wachtend): Rennen, wachten op een gebeurtenis
inactive:不运行
enabled:开机启动
disabled:开机不启动
static:开机不启动,但可被另一个启用的服务激活
Gebruikt om te vermelden op welke operationele niveaus de dienst is ingeschakeld en uitgeschakeld
ls /etc/systemd/system/*.wants/sshd.service
SystemCTL lijst-eenheidsbestanden --type doel --alle
Om de dienst niet te starten:
SystemCTL Schakel de servicenaameenheid uit
Controleer of de dienst is opgestart en opgestart:
SystemCTL is-enabled name.service
Kijk naar serviceafhankelijkheden:
SystemCTL list-dependencies name.service Systemctl list-depebdencies
Zware belastingdienst:
SystemCTL daemon-reload
Stop het proces:
SystemCTL Kill-procesnaam
Weg:
De hyperlink-login is zichtbaar.
De hyperlink-login is zichtbaar.
De hyperlink-login is zichtbaar.
De hyperlink-login is zichtbaar.
|