systemd är en uppsättning grundläggande byggstenar för Linux-system. Den tillhandahåller ett system och en tjänstehanterare som kör och startar resten av systemet som PID 1.
systemd erbjuder aggressiva parallelliseringsmöjligheter, använder sockets och D-Bus-aktivering för att starta tjänster, erbjuder on-demand-start av daemoner, använder Linux-kontrollgrupper för att spåra processer, underhåller mounts och automount-punkter samt implementerar väl utformad transaktionsbaserad servicekontrolllogik. systemd stöder SysV- och LSB-init-skript och kan ersätta sysvinit.
Andra avsnitt inkluderar loggdemoner, verktyg för att styra grundläggande systemkonfigurationer såsom värdnamn, datum, platser, underhåll av en lista över inloggade användare och körande containrar och virtuella maskiner, systemkonton, runtime-kataloger och inställningar, samt hantering av daemonkonfigurationer för enkla nätverk, nätverkstidssynkronisering, loggvidarebefordran och namnupplösning.
Systemd-konfigurationsfilen finns i följande tre mappar:
/etc/systemd/system 存放系统启动的默认级别及启动的unit的软连接,优先级最高。
/run/systemd/system 系统执行过程中产生的服务脚本,优先级次之。
/usr/lib/systemd/system 存放系统上所有的启动文件,优先级最低。 Recension:
Enhetsprofil
En enhetsfil i systemd är en fil som kodar information om de olika enheter som systemd kan hantera, inklusive tjänster, sockets, enheter och så vidare. Denna guide fokuserar på tjänster, och i så fall är enhetsfilen vi arbetar med .service-filen. Konfigurationsfilen för varnish.service innehåller information om hur systemd ska exekvera, övervaka och hantera varnish-daemonen.
[Enhets]-blocket är vanligtvis det första blocket i konfigurationsfilen och används för att definiera enhetens metadata och hur den relaterar till andra enheter. Dess huvudområden är följande.
- Beskrivning: En kort beskrivning
- Dokumentation: Dokumentets adress
- Kräver: Andra enheter som den nuvarande enheten är beroende av, och om de inte är igång kommer den nuvarande enheten att inte starta
- Wants: Andra enheter som fungerar med den nuvarande enheten, om de inte är igång kommer den nuvarande enheten inte att starta
- BindsTo: Liknande Requires, specificerar den en enhet som gör att den nuvarande enheten slutar fungera om den avslutar
- Före: Om enheten som anges i detta fält också ska startas, måste den startas efter den aktuella enheten
- Efter: Om enheten som anges i detta fält också ska startas måste den startas före den aktuella enheten
- Konflikter: Den enhet som anges här kan inte köras samtidigt som den nuvarande enheten
- Tillstånd... : Villkoren som måste uppfyllas för att den nuvarande enheten ska kunna fungera, annars kommer den inte att fungera
- Hävda... : Villkoren som måste uppfyllas för att den nuvarande enheten ska kunna fungera, annars rapporteras startfel
[Installera] är vanligtvis det sista blocket i konfigurationsfilen som definierar hur man ska starta och om man ska starta upp. Dess huvudområden är följande.
- WantedBy: Dess värde är en eller flera Targets, och när den aktuella enheten är aktiv (aktiverad) placeras symlänken i en underkatalog under katalogen /etc/systemd/system med Target-namnet + .wants suffixet
- RequiredBy: Dess värde är en eller flera Targets, och när den aktuella enheten är aktiv placeras symlänken i en underkatalog under katalogen /etc/systemd/system med Target-namnet + .required suffix
- Alias: Alias som den nuvarande enheten kan använda för att starta
- Dessutom: När den nuvarande enheten aktiveras aktiveras andra enheter samtidigt
[Service]-blocket används för att konfigurera Service, och endast enheter av Service-typen har detta block. Dess huvudområden är följande.
- Typ: Definierar processens beteende vid uppstart. Den har följande värden.
- Type=simple: Standardvärdet, kör kommandot specificerat av ExecStart för att starta huvudprocessen
- type=forking: Fork skapar en barnprocess från förälderprocessen, som avslutas omedelbart efter skapandet
- Type=oneshot: En engångsprocess, Systemd väntar tills den aktuella tjänsten avslutas innan den fortsätter att köras
- Type=dbus: Den nuvarande tjänsten startas via D-Bus
- type=notify: När den aktuella tjänsten startas kommer Systemd att meddelas och körningen fortsätter
- type=idle: Den aktuella tjänsten körs endast om andra uppgifter körs
- ExecStart: Kommandot för att starta den aktuella tjänsten
- ExecStartPre: Kommandot som utförs innan den nuvarande tjänsten startas
- ExecStartPost: Kommandot som utförs efter att den aktuella tjänsten startats
- ExecReload: Kommandot som körs när den aktuella tjänsten startas om
- ExecStop: Kommandot som utförs när den aktuella tjänsten avbryts
- ExecStopPost: Stoppa kommandot som utförs när det levereras
- RestartSec: Antalet sekunder mellan automatisk service startar om den aktuella tjänsten
- Omstart: Definierar omständigheterna under vilka Systemd automatiskt startar om den nuvarande tjänsten, med möjliga värden som alltid, vid framgång, vid misslyckande, på-onormal, vid avbrytning, på-vakthund
- TimeoutSec: Definierar antalet sekunder Systemd väntar innan den nuvarande tjänsten stoppas
- Miljö: Specificera miljövariabeln
Systemctl-hanteringsverktyg
Programhantering i CentOS görs i princip av verktyget systemctl.
Startservice:
systemctl start name.service
Avsluta tjänsten:
systemCTL stop name.service
Starta om tjänsten:
systemctl restart name.service
Visa status:
systemCTL Status Name.Service
Villkorlig omstart:
Om tjänsten startades tidigare startas den om, och om tjänsten inte startas kommer den inte att drivas
systemctl try-restart name.service
Ladda om eller starta om:
Ladda om först, och om omladdningen misslyckas, starta om
systemctl reload-or-restart name.service
Ladda om eller villkorlig omstart:
systemctl reload-or-try-restart name.service
Anger om tjänsten kan ställas in av användaren för att starta tillståndet
SystemCTL Unmask name.service
systemctl mask name.service är förbjuden
Visa tjänstens aktuella aktiveringsstatus:
Statusreturvärdet för kommandot tjänsten har startat är 0. Statusreturvärdet för kommandot som inte har startats är icke-0
SystemCTL is-aktiv namn.tjänst
Se alla tjänster som har aktiverats:
-t Specificerar vilken typ av enhet som visas.
--alla visar en mer detaljerad informationslista.
-en ekvivalent --alla
SystemCTL listenheter
SystemCTL list-enheter -t tjänst
SystemCTL list-enheter -t tjänst -a
Se alla tjänster:
SystemCTL list-enheter -a
Visa alla servicestatusar:
SystemCTL list-unit-files
-a 、--alla: Visa statusen för alla tjänster
-t 、--typ: Specificerar vilken typ av enhet som ska betraktas
laddad: Konfigurationsfilen har laddats, laddats in i minnet
active(running): Körningar som kontinuerligt bearbetas en eller flera gånger
active(exited): Engångskonfigurationen slutförs framgångsrikt
aktiv (väntar): Springer, väntar på en händelse
inactive:不运行
enabled:开机启动
disabled:开机不启动
static:开机不启动,但可被另一个启用的服务激活
Används för att lista på vilka driftsnivåer tjänsten är aktiverad och inaktiverad
ls /etc/systemd/system/*.wants/sshd.service
SystemCTL list-enhetsfiler --typ mål --alla
För att ställa in tjänsten så att den inte startar:
SystemCTL Inaktivera tjänstenamnsenhet
Kontrollera om tjänsten startar och startar:
SystemCTL IS-enabled name.service
Titta på tjänsteberoende:
Systemctl list-dependencies name.service SystemCTL list-depebdencies
Tung lasttjänst:
systemCTL Daemon-Reload
Avsluta processen:
SystemCTL Kill Processnamn
Resurser:
Inloggningen med hyperlänken är synlig.
Inloggningen med hyperlänken är synlig.
Inloggningen med hyperlänken är synlig.
Inloggningen med hyperlänken är synlig.
|