π Hoofdstuk 6.2: Beheer van Systemd-systemen
ββββββββββββββββββββββββββββββ
βοΈ Wat is Systemd?
ββββββββββββββββββββββββββββββ
Systemd is de moderne vervanger van init.
Beheert services, sockets, mounts, timers en meer.
Services kunnen automatisch starten bij:
β’ Opstart
β’ Netwerkverbinding
β’ Tijdtrigger (timer)
β’ Hardwaredetectie
π Hoofdlocatie voor configuratie:
β’ /etc/systemd/system
ββββββββββββββββββββββββββββββ
π§© Soorten Systemd Units
ββββββββββββββββββββββββββββββ
Systemd gebruikt unit files om verschillende onderdelen van het systeem te definiΓ«ren.
Type | Beschrijving
ββββββββββββββ|βββββββββββββββββββββββββββββββββββββββββββββ
.service | Systeemservice (bv. sshd.service)
.target | Groepeert meerdere services
.socket | Socketactivatie
.timer | Tijdgebaseerde activatie
.mount | Bestandssysteem-mounts
.automount | Automatisch mount bij toegang
.device | Hardwareapparaten
.path | Activeert bij padwijziging
.scope | Niet-systemd-processen
.swap | Beheert swapruimte
.slice | Resourcebeheer (cgroups)
.snapshot | Tijdelijke systeemstatus
π Actieve units tonen:
systemctl list-units
π Locaties:
β’ /etc/systemd/system/ (eigen services)
β’ /usr/lib/systemd/system/ (standaard distro services)
ββββββββββββββββββββββββββββββ
π― Systemd Targets (Runlevel-vervanger)
ββββββββββββββββββββββββββββββ
Target | Beschrijving
ββββββββββββββββββββ|βββββββββββββββββββββββββββββββββββββ
graphical.target | GUI + netwerk
multi-user.target | CLI + netwerk (meerdere gebruikers)
network-online.target | Start services pas na netwerk
runlevel3.target | Compatibiliteit met oud SysV-init
π Standaardtarget tonen:
systemctl get-default
π Wijzigen naar CLI-only target:
systemctl set-default multi-user.target
ββββββββββββββββββββββββββββββ
π§Ύ Opbouw van een Unitbestand
ββββββββββββββββββββββββββββββ
Unitbestanden bestaan uit 3 secties:
[UNIT] β Algemene info
β’ After= β Start na andere unit
β’ Before= β Start vΓ³Γ³r andere unit
β’ Description= β Beschrijving
β’ Requires= β Moet samen starten met
β’ Wants= β Mag samen starten met
β’ Conflicts= β Start niet als deze draait
[SERVICE] β Servicegedrag
β’ ExecStart= β Startcommando
β’ ExecStop= β Stopcommando
β’ ExecReload= β Reloadcommando
β’ Restart= β Herstart bij crash
β’ Type= β simple, forking, oneshot
[INSTALL] β Gedrag bij inschakelen
β’ Alias= β Alternatieve naam
β’ RequiredBy= β Andere units vereisen deze
β’ WantedBy= β Andere units mogen deze gebruiken
ββββββββββββββββββββββββββββββ
π Services Beheren met systemctl
ββββββββββββββββββββββββββββββ
Service aanzetten bij opstart:
systemctl enable sshd.service
Service uitschakelen:
systemctl disable sshd.service
Service direct starten / stoppen:
systemctl start sshd
systemctl stop sshd
systemctl restart sshd
Configuratie herladen zonder stoppen:
systemctl reload sshd
ββββββββββββββββββββββββββββββ
π©Ί Status en Debugging
ββββββββββββββββββββββββββββββ
π Service status:
systemctl status sshd
π Actief? Ingeschakeld? Gefaald?
systemctl is-active sshd
systemctl is-enabled sshd
systemctl is-failed sshd
π Opstartanalyse:
systemd-analyze time β Totaal opstarttijd
systemd-analyze blame β Langzaamste units
systemd-analyze critical-chain β Kritische afhankelijkheden
systemctl verify β Controleer unitbestanden