Udostępnianie dostosowanego pliku konfiguracyjnego dla innego pakietu

8

Używamy Ubuntu w pracy i będę musiał wprowadzić te same zmiany konfiguracji w wielu systemach, więc pakuję je. Jedną ze zmian w konfiguracji, którą muszę wprowadzić, jest ustawienie lightdm na autologin. Wydaje mi się, że muszę spakować tę zmianę do istniejącego pliku /etc/lightdm/lightdm.conf i zastąpić go moim dostosowanym lightdm.conf. To wydaje się złym pomysłem.

Jak mogę to zrobić w sposób, który nie spowoduje uszkodzenia i jest zgodny z działaniem reszty społeczności?

mikewilliamson
źródło

Odpowiedzi:

9

Często odbywa się to poprzez utworzenie pakietu, który wykorzystuje dpkg-divertw swoich skryptach opiekuna, aby przenieść stary plik konfiguracyjny na bok:

  • W swoim ustawieniu wstępnym przekieruj plik.

    dpkg-divert --add --package $your_package_name --rename \
        --divert /path/to/file.disabled \
        /path/to/file
    
  • W swoim postrm przekieruj plik z powrotem.

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

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

Jednym z rozwiązań ułatwiających abstrakcję dpkg-divertjest config-package-devpakiet utworzony i obsługiwany przez projekt Debathena firmy MIT. Mają dokładny samouczek .

andrews coś
źródło
Z przykładów na połączonej stronie wygląda na to, że --divertopcję tę należy podać zarówno w plikach preinst, jak i postrm.
nmgeek
Wydaje się, że w wiki.debian.org/ConfigPackages jest nowsza dokumentacja , która zaleca instalowanie pliku w / etc / site / i używanie dowiązań symbolicznych zamiast instalowania bezpośrednio w / etc /. Zaleca także używanie postinst zamiast preinst i prerm zamiast postrm.
Ulf Adams,