Bereitstellung einer benutzerdefinierten Konfigurationsdatei für ein anderes Paket

8

Wir verwenden Ubuntu bei der Arbeit und ich muss die gleichen Konfigurationsänderungen an vielen Systemen vornehmen, damit ich diese verpacke. Eine der Konfigurationsänderungen, die ich vornehmen muss, ist das Setzen von lightdm auf Autologin. Damit ich diese Änderung verpacken kann, muss ich anscheinend die vorhandene Datei /etc/lightdm/lightdm.conf überladen und durch meine angepasste lightdm.conf ersetzen. Das scheint eine schlechte Idee zu sein.

Wie kann ich dies auf eine Weise tun, die keinen Bruch verursacht und mit der Arbeitsweise des Restes der Community übereinstimmt?

Mikewilliamson
quelle

Antworten:

9

Dies geschieht häufig durch Erstellen eines Pakets, das dpkg-divertin seinen Betreuerskripten die alte Konfigurationsdatei beiseite legt:

  • Leiten Sie die Datei in Ihrem Preinst weg.

    dpkg-divert --add --package $your_package_name --rename \
        --divert /path/to/file.disabled \
        /path/to/file
    
  • Leiten Sie die Datei in Ihrem PostRM zurück.

    dpkg-divert --remove --package $your_package_name --rename \
        /path/to/file
    

Siehe: http://www.debian.org/doc/debian-policy/ap-pkg-diversions.html

Eine Lösung, die bei der Zusammenfassung hilft, dpkg-divertist das config-package-devPaket, das vom Debathena-Projekt des MIT erstellt und verwaltet wird. Sie haben ein gründliches Tutorial .

andrewsomething
quelle
Aus den Beispielen auf der verlinkten Seite geht hervor, dass die --divertOption sowohl in der Preinst- als auch in der Postrm-Datei bereitgestellt werden sollte.
nmgeek
In wiki.debian.org/ConfigPackages scheint es eine neuere Dokumentation zu geben , in der empfohlen wird, die Datei in / etc / site / zu installieren und Symlinks zu verwenden, anstatt sie direkt in / etc / zu installieren. Es wird auch empfohlen, postinst anstelle von preinst und prerm anstelle von postrm zu verwenden.
Ulf Adams