Aller au contenu

Générateur systemd

Générateur systemd (en anglais systemd generator) : petit programme que systemd exécute très tôt au démarrage, et à chaque systemctl daemon-reload, avant de charger les unités, pour traduire une configuration qui n'est pas au format systemd en unités ou en drop-in, écrits sous /run/systemd/generator/ (et ses variantes generator.early/ et generator.late/).

Les plus courants sur un serveur : systemd-fstab-generator, qui fait de chaque ligne de /etc/fstab une unité .mount ou .swap ; systemd-debug-generator, qui lit sur la ligne de commande du noyau systemd.mask= ou systemd.debug_shell ; le générateur de netplan, qui écrit la configuration de systemd-networkd sous /run/systemd/network/ ; celui de cloud-init, qui décide si cloud-init doit s'activer. systemctl cat srv-donnees.mount affiche le fichier produit, avec sa ligne SourcePath= qui renvoie à la configuration d'origine.

Conséquence pratique : modifier la source ne suffit pas. Après une retouche de /etc/fstab, tant que daemon-reload n'a pas relancé les générateurs, systemd travaille avec l'ancienne version, et mount le signale par un message your fstab has been modified, but systemd still uses the old version. Les fichiers générés vivent dans /run, en mémoire : les éditer à la main n'a aucun sens, ils sont réécrits au prochain démarrage.

Dans les cours

Voir aussi