Manchmal ist es sinnvoll die von upstram mitgelieferten systemd-unit files zu erweitern bzw zu ergänzen.
Beispiel starte das libvirtd.service erst nach dem nfs verfügbar ist.
Diese Vorgangsweise macht wirklich nur Sinn wenn der NFS-Server auf der gleichen Maschine läuft wie der KVM (libvirt) Server.
Zuerst schauen wir uns die Abhängigkeit mitttels systemctl show an
systemctl show libvirtd.service
oder alternativ mittels
cat /lib/systemd/system/libvirtd.service
Zusätzlich Abhängigkeit einfügen
Mein virtueller docker Host benützt als Variablenspeicher für seine Container den nfs Server des Hosts, daher sollte dieser auch verfügbar sein wenn der Container startet.
Dies kann man damit erreichen das beim start der docker Services auf das das vorhandensein des nfs Mount gewartet wird. Es ist jedoch nicht sinnvoll das libvirtd.service File zu verändern, da es bei einer Änderung von upstram überschrieben wird. Systemd stellt daher einen overriding Mechanismus zur Verfügung.
systemctl edit libvirtd.service
Startet automatisch den standard Text-Editor, und man kann folgendes eingeben und abspeichern.
[Unit]
Requires=nfs-kernel-server
After=nfs-kernel-server
Wenn der Editor beendet wird führt systemd automatisch ein systemctl daemon-reload aus
Mittels
systemctl show libvirtd.service
Kann man überprüfen dass hier wirklich nur ein zusätzlicher Eintrag für den Konfigurationspunkt [Unit] gemacht wurde.
Das override File liegt dann unter /etc/systemd/system/libvirtd.service.d/override.conf