Seite 1 von 4

[Solved] Warning: The unit file, source configuration file or drop-ins of openhab2.service changed on disk.

Verfasst: 16. Aug 2020 19:39
von peter-pan
Seit ein paar Tagen bekomme ich immer wieder diese Warnung in der Konsole, wenn ich z.B. einen Restart von openHAB mache.

Code: Alles auswählen

[19:30:06] habpe@jsr223hab:~$ sudo systemctl restart openhab2
[sudo] Passwort für habpe:
Warning: The unit file, source configuration file or drop-ins of openhab2.service changed on disk. Run 'systemctl daemon-reload' to reload units.
[19:32:47] habpe@jsr223hab:~$
Kann mir jemand sagen, was da los ist, bzw. was das eigentlich bedeutet ? Und was ich machen muss damit die Meldung nicht mehr kommt (ausser ' sudo systemctl daemon-reload').

OH-Version ist 2.5.7-1

Re: Warning: The unit file, source configuration file or drop-ins of openhab2.service changed on disk.

Verfasst: 16. Aug 2020 20:41
von udo1toni
Kann es sein, dass Du die rules beim Startup automatisch umbenennen lässt (da gibt es eine Option in openhabian-config)?

Re: Warning: The unit file, source configuration file or drop-ins of openhab2.service changed on disk.

Verfasst: 16. Aug 2020 23:43
von peter-pan
udo1toni hat geschrieben: 16. Aug 2020 20:41 Kann es sein, dass Du die rules beim Startup automatisch umbenennen lässt (da gibt es eine Option in openhabian-config)?
Also zumindest nicht bewusst ??!! Welche Option sollte das sein ?
Könnte es sein,dass openhabian-config hier irgendwetwas als default eingesetzt hat (bei den updates).

Re: Warning: The unit file, source configuration file or drop-ins of openhab2.service changed on disk.

Verfasst: 16. Aug 2020 23:50
von udo1toni
Also, das ist eine Möglichkeit... Wie die Option genau heißt, muss ich nachschauen... das ist der Punkt 44, Delay rules load

Re: Warning: The unit file, source configuration file or drop-ins of openhab2.service changed on disk.

Verfasst: 17. Aug 2020 00:22
von peter-pan
Ich hatt' mir sowas auch schon gedacht. Aber ich bin da nicht so genau draus schlau geworden.
Das wäre dann so als ob ein Wert eingetragen worden wäre, der irgendwie nicht passt, egal wie rum ob default oder anders herum

Code: Alles auswählen

│             44 | Delay rules load       Delay loading rules to speed up overall startup                          │
                 | Default order          Reset config load order to default (random)                              │
Ich hatte da nichts verändert. ??!!

Das sollte ja eigentlich bedeuten, dass es so bleibt wie es war, nämlich ohne delay.

Re: Warning: The unit file, source configuration file or drop-ins of openhab2.service changed on disk.

Verfasst: 17. Aug 2020 09:53
von OliverCJ
Ich lese mal mit, mir ist das nämlich auch schon aufgefallen. Konnte allerdings dann nach dem Restart keine Auswirkungen feststellen...

Re: Warning: The unit file, source configuration file or drop-ins of openhab2.service changed on disk.

Verfasst: 17. Aug 2020 13:20
von peter-pan
OliverCJ hat geschrieben: 17. Aug 2020 09:53 Ich lese mal mit
Klar, gerne.
udo1toni hat geschrieben: 16. Aug 2020 23:50 Also, das ist eine Möglichkeit.
Ich hab die Funktion unter Punkt 44 genommen und Default order Reset config load order to default (random)" eingestellt.

Ich konnte dann sehen, dass eine Datei namens etc/systemd/system/openhab2.service.d/override.conf gelöscht wurde.

Momentan bekomme ich die Meldung nicht mehr zu sehen, wenn ich einen "stop oder restart" mache.

Weisst du zufällig was in der Datei drinsteht ? Kann ja nicht mehr "reingucken", da sie ja gelöscht wurde.

Vielen Dank auf jeden Fall mal für den Tipp. 🤞👍

Re: Warning: The unit file, source configuration file or drop-ins of openhab2.service changed on disk.

Verfasst: 17. Aug 2020 13:59
von udo1toni
Was da genau drin steht, kann ich Dir nicht sagen, aber das Verhalten ist bekannt...

Re: Warning: The unit file, source configuration file or drop-ins of openhab2.service changed on disk.

Verfasst: 17. Aug 2020 14:05
von peter-pan
udo1toni hat geschrieben: 17. Aug 2020 13:59 Was da genau drin steht, kann ich Dir nicht sagen, aber das Verhalten ist bekannt...
.... hab noch eine Datei gefunden, in meinen vielen Tests :roll: .

Code: Alles auswählen

[Service]
ExecStartPre=-/bin/bash -c '/usr/bin/find ${OPENHAB_CONF} -name "*.rules" -exec /usr/bin/rename.ul .rules .x {} \\;'
ExecStartPost=-/bin/sleep 120
ExecStartPost=-/bin/bash -c '/usr/bin/find ${OPENHAB_CONF} -name "*.x" -exec /usr/bin/rename.ul .x .rules {} \\;'
TimeoutStartSec=240
Verstehe den Code aber nicht ganz :shock: .

Re: Warning: The unit file, source configuration file or drop-ins of openhab2.service changed on disk.

Verfasst: 17. Aug 2020 20:33
von udo1toni
Also der override verändert das Startverhalten von openHAB.
ExecStartPre wird ausgeführt, bevor der Dienst gestartet wird. Die angegebene Zeile sucht alle Dateien unterhalb $OPENHAB_CONF (die geschweiften Klammern schützen enthaltene Leerzeichen und andere Schweinereien), deren Name auf .rules endet und benennt diese Dateien um, so dass die Endung anschließend .x lautet.
Nun startet systemd den Dienst openhab2.service
Wenn der Dienst gestartet ist, wartet das Script 120 Sekunden und macht danach die Umbennenung rückgängig (auf dem gleichen Weg, also nun alle Dateien mit der Endung .x finden und nach .rules umbenennen).

Zwei Anmerkungen dazu: 1. sollte die Änderung eigentlich nur im Zweig $OPENHAB_CONF/rules erfolgen. 2. könnte es sein, dass ein Anwender irgendwo im Zweig $OPENHAB_CONF selbst eine Datei mit der Endung .x angelegt hat. Es ist also ein schmutziger Trick mit eventuellen Nebenwirkungen... Kann man so machen, aber vermutlich wäre es besser, in $OPENHAB_CONF ein Verzeichnis rules_auto_inactive anzulegen und alle Rules aus rules in dieses Verzeichnis zu verschieben bzw. wieder zurückzuschieben. Man könnnte sogar einfach das ganze Verzeichnis rules umbenennen, das wäre wesentlich einfacher, allerdings mit dem gleichen Problem, dass man sicherstellen muss, dass der Anwender nicht selbst ein Verzeichnis mit dem "inactive-Namen" angelegt hat. Aber vielleicht bin ich auch einfach nur pingelig... :)