neue config Files werden mit apt update/upgrade entweder separat mit neuer Extension gespeichert oder Überschrieben. Möchte ich herausfinden was sich an den config Files geändert hat mache ich einfach einen ‘diff’.
Benutze ich Docker hab ich die Möglichkeit nicht. Meine alten configs bleiben erhalten. Um Unterschiede herauszufinden kann ich mir diese aus git clonen oder eine Docker dummy Installation in ein leeres Verzeichnis vornehmen und damit vergleichen.
Existiert innerhalb der homegear Verzeichnisse ein Ordner mit default config files, die man zum vergleich nehmen kann?
starte einen container mit dem neuen image ohne configs (libs/etc)
sobald alles hochgefahren ist stoppe ich den container wieder
dann mach ich ein diff -r etc.old/ etc/ und passe ggf. die Dateien an bzw. kopiere die alten wieder rüber (selbiges für lib, vor allem wieder die sqlites reinkopieren).
container wieder starten
ach ja, und die logs lösch ich bei der Gelegenheit
hab mir deine Prozedur mal angeschaut und werde es ähnlich machen.
Allerdings nutze ich ein docker-compose file, pull das Image in einen anderen root Ordner.
Ich habe Änderungen in patch-files gespeichert (mit diff erzeugt) und kann damit die neuen config-Files anpassen.
Problematisch ist es nur mit node-blue, ich kenne keinen cli weg die Daten komplett zu migrieren.
Wie meinst du das? Das wichtigste hier ist die flows.json. Wenn nach Wiederherstellung Knoten fehlen, ist dieses im Frontend direkt ersichtlich und diese lassen sich im Frontend dann nachinstallieren.
Habt ihr Vorschläge, wie wir das Ganze besser machen können? Da Docker viel genutzt wird, lohnt es sich sicherlich, hier etwas Zeit zu investieren.
Mein Problem ist, wenn die Config Dateien in /etc/homegear angepasst werden (neue Parameter, neue Files, …) wie kann ich das bei einem Docker setup mitbekommen. Ich müsste nach dem einspielen des neuen Docker Images die Default Dateien mit den von mir genutzten vergleichen und gegebenenfalls neue Files kopieren.
Das gleiche Problem ist bei /var/lib/homegear. Hier sind die flow und .db files die wichtigsten, aber es existieren noch Files für die Website und admin-ui … innerhalb des Ordners. nach einem Update kann es durchaus passieren, das Fixes in den php Scripten nicht verfügbar sind. wenn ich die Ordner nich von Hand synchronisiere.
Bitte korrigiert mich wenn ich das falsch sehe.
das die original Daten in homegear.config und homegear.data vorhanden sind, mach das Vergleichen nach einem update schon mal einfacher.
Jetzt bräuchte man nur noch ein commandline, das die files synced. (rsync, diff in Kombination mit find, …)
Bei einer native installation wird das vom packetmanager erledigt und im falle von Änderungen kann ich entscheiden welches file ich aktiviert haben möchte.
Du kannst mit docker exec -ti <container name> /bin/bash in den laufenden Container rein, um die Inhalte von /etc/homegear und /etc/homegear.config zu vergleichen. Da ist ein Debian drunter, nach einem apt update kannst Du auch Tools wie vimdiff installieren.
Oder mit docker cp Dateien aus dem Container kopieren und lokal vergleichen.