CLI Adventures: Konfigdateien ohne Kommentarzeilen
Im [[/nachtragliche-systemdokumentation/|letzten Post]] gab es ein paar Tipps zur nachträglichen Systemdokumentation, besser ist es natürlich die Dokumentation immer direkt durchzuführen. Hierbei sollte man sich nicht nur auf geänderte Einstellungen beschränken sondern am Besten immer die komplette Dokumentation erfassen. Kommentarzeilen können hierbei aber meist entfallen, auch der Übersichtlichkeit zuliebe. Dank grep
kein Problem:
grep -v "^#" /etc/dovecot/dovecot.conf | grep -v "^$"
Zunächst entfernt grep
alle Zeilen die mit einer ``# beginnen. Anschließend werden noch alle Leerzeilen aus der Ausgabe entfernt.
Hat man nun noch die Originalkonfiguration aufbewahrt kann man in der Dokumentation auch noch einmal genau auf die nötigen Anpassungen eingehen, indem man eigene und Originalkonfiguration vergleicht:
diff -B /etc/dovecot/dovecot.conf /etc/dovecot/dovecot.conf.orig
Wer einen sauberen Output bevorzugt kann folgendes Befehlskonstrukt verwenden:
diff -B /etc/dovecot/dovecot.conf /etc/dovecot/dovecot.conf.orig | grep "^>" | sed 's/> //' | grep -v "^#"
Zunächst gibt diff
die geänderten Zeilen aus, grep
gibt nur die neu hinzugekommenen Zeilen aus, sed
entfernt die von diff
eingefügten >
am Zeilenanfang und zu guter letzt entfernt grep
alle Kommentarzeilen.
Um es noch einfacher zu machen sollte man, wenn möglich, die originalen Konfigurationsdateien stets unangetastet lassen und lokale
Konfigurationsdateien mit den angepassten Einstellungen nutzen. Dies hat auch den Vorteil dass die veränderten Einstellungen bei einem Update des Pakets nicht überschrieben werden können, bzw. man auf einen entsprechenden Abgleich von Maintainer-Fassung und eigener verzichten kann. dovecot
erlaubt dies z.B. über die Zeile !include_try local.conf
in der dovecot.conf
.