mergemaster für /usr/local/etc/

Columbo0815

Kaffeemann
Teammitglied
Moin,

ich habe folgende Gegebenheit: 2 Rechner mit FreeBSD. Einmal ein älteres 11.x und einmal ein aktuelles 12.1. Ich möchte die Jails nach und nach auf die neue Kiste umziehen. Auf der neuen Kiste sind die erforderlichen Ports bereits in einer Jail installiert. Da die Beispielskonfigurationsdateien von zB dovecot bei einer Neuinstallation doch deutlich geändert/ergänzt wurden, möchte ich die alten Konfigs nicht einfach stupide kopieren sondern ich möchte eine Art "mergemaster" laufen lassen, damit ich die Inhalte schön vergleichen und so anpassen kann.

mergemaster ist wohl nur für das Basissystem. Gibts ein anderes Tool um mein Vorhaben umzusetzen?

:)
 
Hm, scheinbar ist mein Vorhaben kein guter Weg, die Jails umzuziehen. Ich werde dann wohl die Konfigurationen einfach kopieren...
 
Hm, scheinbar ist mein Vorhaben kein guter Weg, die Jails umzuziehen.
Per zfs send/recv mache ich Umsiedelungen mit jails, jede jail liegt in einem oder mehreren dataset(s). Sehr modular und nützlich bei Platzmangel, wenn man für tests mit gzip-9 quetschen kann.

An configs mache ich ansonsten immer paranoid-händisch Änderungen und spicke nach Bedarf in meinen Notizen (die wiederum einfache Textdateien der configs mit meinen Kommentaren sind, nur woanders gelagert).
 
Per zfs send/recv mache ich Umsiedelungen mit jails, jede jail liegt in einem oder mehreren dataset(s). Sehr modular und nützlich bei Platzmangel, wenn man für tests mit gzip-9 quetschen kann.
Auf dem alten Host habe ich leider noch kein zfs im Einsatz. Zudem müsste ich dann noch ein freebsd-update laufen lassen, was ich vermeiden wollte. :)

An configs mache ich ansonsten immer paranoid-händisch Änderungen und spicke nach Bedarf in meinen Notizen (die wiederum einfache Textdateien der configs mit meinen Kommentaren sind, nur woanders gelagert).
Natürlich könnte ich einfach die funktionierenden configs kopieren. Aber sieh dir mal die .config.sample von Dovecot an, die aus einer Installation von Zeiten FreeBSD 11.x kam und sieh dir mal eine aktuelle an. Das ist eine Funktion, die wäre genial für pkg.
 
Ich merge meine Configs meist mit vimdiff. Aber das ist natürlich ein manueller Prozess.
 
Aber sieh dir mal die .config.sample von Dovecot an, die aus einer Installation von Zeiten FreeBSD 11.x kam und sieh dir mal eine aktuelle an.

Wozu brauchst du die Beispielkonfigurationsdateien? Bzw.: die Beispieldateien werden ja sowieso ersetzt, wenn du das Paket/den Port aktualisierst. Bei Dovecot hat sich in den letzten Jahren außer bei TLS (ssl_dh) und bei einigen Zeitangaben (dort muss nun eine Einheit hinten ran) eigentlich überhaupt nichts an der Konfiguration verändert.

Rob
 
Wozu brauchst du die Beispielkonfigurationsdateien? Bzw.: die Beispieldateien werden ja sowieso ersetzt, wenn du das Paket/den Port aktualisierst. Bei Dovecot hat sich in den letzten Jahren außer bei TLS (ssl_dh) und bei einigen Zeitangaben (dort muss nun eine Einheit hinten ran) eigentlich überhaupt nichts an der Konfiguration verändert.

Rob
Während eines "merges" sehe ich, welche Defaultwerte sich geändert haben oder welche neuen Funktionen hinzugekommen sind und kann mir Gedanken machen, ob ich die Werte anpassen möchte/die neuen Funktionen nutzen möchte. Selbst wenn im Ergebnis die neue Funktion dann einfach "auskommentiert" (mit #) in der gemergten Config steht, finde ich das sehr nützlich. Gerade bei Dovecot (deswegen verwende ich den immer als Beispiel) wäre das hilfreich, weil sich dort viel Interessantes tut. Das ganze sich aus Mailinglisten oder dem Changelog zusammenzutragen, ist sehr mühsam.

Bei einem Upgrade von FreeBSD selbst ist mergemaster ein sehr schönes Tool um die Entwicklung der Änderungen mitzuverfolgen, weshalb ich mich daran erinnert habe.
 
Dieses Anleitungsvideo hat mir erst vor Kurzem mit vimdiff geholfen:
Um diese Inhalte anzuzeigen, benötigen wir die Zustimmung zum Setzen von Drittanbieter-Cookies.
Für weitere Informationen siehe die Seite Verwendung von Cookies.
 
Wenn du die alten Configs weiter nutzt, werden ja für neue Optionen ohnehin die Defaultoptions genommen. Wenn sich ein Defaultwert ändert wird ebenso der neue genommen. Wenn du eine Option fix gesetzt hast, willst du wahrscheinlich die auch beibehalten. Dovecot bietet übrigends eine eigene funktion alte Configs anzupassen - musst mal in der Docu schauen, das ist ganz brauchbar.
 
Wenn du die alten Configs weiter nutzt, werden ja für neue Optionen ohnehin die Defaultoptions genommen. Wenn sich ein Defaultwert ändert wird ebenso der neue genommen. Wenn du eine Option fix gesetzt hast, willst du wahrscheinlich die auch beibehalten. Dovecot bietet übrigends eine eigene funktion alte Configs anzupassen - musst mal in der Docu schauen, das ist ganz brauchbar.
Das ist korrekt. Ich bekomme es aber nicht mit, dass sich hier etwas getan hat. Dovecot ist auch nur ein Beispiel. Es laufen einige Jails mit verschiedenen Diensten. Weil jetzt doch noch ein wenig Rückmeldung kam werde ich - soweit es überhaupt welche gibt - passende Beispiele posten. :) Oder ich habe einfach nur gelernt, dass das übertriebener Perfektionismus war, der gar nichts bringt.
Dieses Anleitungsvideo hat mir erst vor Kurzem mit vimdiff geholfen:
Um diese Inhalte anzuzeigen, benötigen wir die Zustimmung zum Setzen von Drittanbieter-Cookies.
Für weitere Informationen siehe die Seite Verwendung von Cookies.
Genial, vielen dank!
 
vimdiff und vor allem das Anleitungsvideo sind genial. vimdiff ist genau das, was ich gesucht habe. Irgendwie erschleicht sich mir das Gefühl, dass ich meine Eingangsfrage schonmal im IRC gefragt habe und @Yamagi mir das damals schon empfohlen hat. Egal. Ohne das Video wäre das Fluchen groß gewesen. :)

Warum ich froh bin, dass ich es auf diesem Weg bei Dovecot gemacht habe:
- ich hätte nie von submission erfahren
- mdbox_rotate_size ist inzwischen bei 10M (bei mir waren es noch 2)

Die 10M waren zwar auch bei mir aktiv, weil ich die Standardwerte nutze, so habe ich aber davon erfahren. Für mich hat sich der Aufwand gelohnt und er hat sich in Grenzen gehalten. :)
 
Zurück
Oben