Digging Deeper into systemd

πŸ“š Hoofdstuk 6.4: Dieper Ingaan op systemd

──────────────────────────────
πŸ“¦ Geavanceerde Unit Types
──────────────────────────────
Systemd ondersteunt meer dan alleen services.
Belangrijke extra units:
β€’ .mount – Bestandssystemen mounten via systemd.
β€’ .automount – Automatisch mounten op aanvraag.
β€’ .timer – Geplande taken uitvoeren zonder cron.

──────────────────────────────
πŸ“ Mount Units
──────────────────────────────
Gebruik systemd voor mounts i.p.v. /etc/fstab.

βœ” Naamgeving:
β€’ /home/temp β†’ home-temp.mount
β€’ /mnt/data β†’ mnt-data.mount

βœ” Secties van een .mount-unit:
[Unit] – Algemene beschrijving en afhankelijkheden
[Mount] – Mountspecifieke opties
[Install] – Inschakelen bij boot

[Mount] Instellingen:
Sleutel | Beschrijving
─────────────────|────────────────────────────────────────────
What= | Apparaat (bijv. /dev/sdb1 of UUID=...)
Where= | Mountpunt (bijv. /mnt/data)
SloppyOptions= | Negeert niet-ondersteunde mountopties
TimeoutSec= | Maximale wachttijd voor mount

βœ” Status bekijken:
systemctl status home-temp.mount

──────────────────────────────
πŸ“‚ Automount Units
──────────────────────────────
Mount pas uitvoeren bij toegang tot map.

βœ” Naamgeving:
β€’ /mnt/data β†’ mnt-data.automount

βœ” Secties van een .automount-unit:
[Unit] – Algemene beschrijving
[Automount] – Triggerinstellingen voor automount
[Install] – Inschakelen bij boot

[Automount] Instellingen:
Sleutel | Beschrijving
──────────────────|────────────────────────────────────
Where= | Vereist mountpunt (zoals /mnt/data)
DirectoryMode= | Rechten van de map (bijv. 0755)
TimeoutIdleSec= | Unmount bij inactiviteit (seconden)

──────────────────────────────
⏱ Timer Units
──────────────────────────────
Alternatief voor cronjobs. Plannen op tijd of gebeurtenis.

βœ” Bestandsindeling:
[Unit] – Algemene informatie
[Timer] – Tijdgerelateerde triggers
[Install] – Activeren bij opstarten

[Timer] Instellingen:
Sleutel | Beschrijving
──────────────────────|───────────────────────────────────────────────
AccuracySec= | Nauwkeurigheid (bijv. 1min)
OnBootSec= | Na systeemstart (bijv. 10s)
OnStartupSec= | Na systemd-start
OnActiveSec= | Na activeren van de timer
OnCalendar= | Planning zoals cron (bijv. Mon *-*-* 12:00:00)
OnUnitActiveSec= | Na laatste activiteit van unit
OnUnitInactiveSec= | Na inactiviteit van de unit
Persistent= | Bewaar status tussen boots
RandomizedDelaySec= | Willekeurige vertraging (anti-burst)
Unit= | Welke unit wordt gestart
WakeSystem= | Wekt het systeem indien nodig

βœ” Timerbeheer:
systemctl list-timers β†’ Lijst actieve timers
systemctl start backup.timer β†’ Timer direct starten
systemctl enable backup.timer β†’ Timer activeren bij opstart