Benutzerdefinierter Speicherort für den „Installations-Symlink“ einer Systemd-Unit-Datei?

Benutzerdefinierter Speicherort für den „Installations-Symlink“ einer Systemd-Unit-Datei?

Damit wird ein systemd-Dienst aktiviert, der beim Booten gestartet werden kann enabling. Durch die Aktivierung wird ein symbolischer Link an einer bestimmten Stelle erstellt. Beispiel:

$ systemctl enable rsyslog                                                       
Created symlink /etc/systemd/system/multi-user.target.wants/rsyslog.service → /lib/systemd/system/rsyslog.service.

Die Dokumentation fürsystemctl enableZustände:

Beachten Sie, dass dieser Vorgang nur die im Abschnitt „[Install]“ der Unit-Dateien vorgeschlagenen symbolischen Links erstellt.

Ich möchte den Speicherort ändern, an dem diese symbolischen Links für einen bestimmten Dienst erstellt (und überprüft) werden.

Ist es möglich, diesen Standort auf einen anderen Wert festzulegen?

Sobald die von mir gewünschte Änderung umgesetzt ist, würde das Verhalten folgendermaßen aussehen:

$ systemctl enable rsyslog                                                       
Created symlink /user/home/multi-user.target.wants/rsyslog.service → /lib/systemd/system/rsyslog.service.

Der Anwendungsfall, aus dem diese Frage stammt, besteht darin, den Status des Dienstes (aktiviert/deaktiviert) bei einer vollständigen Neuschreibung des Root-Dateisystems (integriertes Systemupdate) aufrechtzuerhalten, indem die Links auf einer separaten Partition gespeichert werden.

Antwort1

Nein. Der Suchpfad für Unit-Dateien ist dokumentiert inman systemd.unit.

Für Benutzereinheiten können Sie $XDG_RUNTIME_DIR anpassen, für Systemeinheiten sind die Pfade jedoch festgelegt.

verwandte Informationen