• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Gelöst systemd akzeptiert nur symlinks in /etc/systemd ?

bmk

Member
Hallo,

bei der Beschäftigung mit dem automatischen Update (updatedb) der mlocate.db (s. Gelöst - Leap 15.5: updatedb-Probleme) wollte ich auch den zugehörigen systemd-Timer ändern (täglich um 0:00 Uhr ist wenig sinnvoll, daher sollte updatedb 15 min nach dem Bootvorgang starten.

Ich habe daher den Link /etc/systemd/system/timers.target.wants/mlocate.timer gelöscht und lokale Kopie der Datei /usr/lib/systemd/system/mlocate.timer ersetzt und entspr. angepasst:
Code:
[Timer]
OnBootSec=15min
OnUnitInactiveSec=12h

Leider funktionierte das nicht, der Befehl
Code:
systemd-analyze verify /etc/systemd/system/mlocate*
lieferte den Hinweis, dass hier nur Symlinks funktionieren.

Ich habe dann den mlocate.timer in /usr/lib bearbeitet und nun funktioniert es.

Ich war immer der Meinung, dass lokale Modifikationen in Konfigurationsdateien immer im /etc-Baum vorgenommen werden sollen, da die Einstallungen in /usr/lib/ bei Updates überschrieben werden.

Gilt das für systemd nicht mehr?

Grüße bmk
 

spoensche

Moderator
Teammitglied
Doch das gilt auch für systemd. In den Verzeichnissen /etc/systemd/system/target.*.wants befinden sich ausschließlich Symlinks.
Die Überschreibungen erfolgen entweder über das Verzeichnis /etc/systemd/system/mlocate.timer.d, mit entsprechenden Files darin oder durch die Datei /etc/systemd/system/mlocate.timer.
 
OP
B

bmk

Member
Hallo spoensche,

danke für den Hinweis. Dass in den Unterverzeichnissen nur Symlinks berücksichtigt werden, ist auf den ersten Blick nicht erkennbar.

Ich habe den geänderten mlocate.timer nach /etc/systemd/system kopiert und nun funktioniert es wie gewünscht.

Hinterher ist man natürlich immer schlauer, ein RTFM zeigt:
13.5.1 Anpassen von Dienstdateien
Die systemd-Dienstdateien befinden sich in /usr/lib/systemd/system . Zum Anpassen fahren
Sie wie folgt fort:
1. Kopieren Sie die zu bearbeitenden Dateien aus /usr/lib/systemd/system in /etc/sys-
temd/system . Behalten Sie die ursprünglichen Dateinamen bei.
2. Bearbeiten Sie die Kopien in /etc/systemd/system .
3. Mit dem Kommando systemd-delta erhalten Sie einen Überblick über Ihre Konfigu-
rationsänderungen. Hiermit werden Konfigurationsdateien verglichen und ermittelt, die
andere Konfigurationsdateien überschreiben. Weitere Informationen finden Sie auf der
man-Seite zu systemd-delta .
Die geänderten Dateien in /etc/systemd haben Vorrang vor den Originaldateien in /usr/
lib/systemd/system , sofern die Dateinamen identisch sind.
Immerhin ist mir dadurch der Befehl systemd-delta aufgefallen.

Grüße bmk
 
Zuletzt bearbeitet:
Oben