Cung cấp một tệp cấu hình tùy chỉnh cho gói khác


8

Chúng tôi sử dụng Ubuntu tại nơi làm việc và tôi sẽ cần thực hiện các thay đổi cấu hình tương tự cho nhiều hệ thống để tôi đóng gói chúng. Một trong những thay đổi cấu hình tôi cần thực hiện là đặt lightdm thành autologin. Đối với tôi để gói thay đổi này, có vẻ như tôi sẽ cần phải ghi lại /etc/lightdm/lightdm.conf và thay thế nó bằng lightdm.conf tùy chỉnh của tôi. Đây dường như là một ý tưởng tồi.

Làm thế nào tôi có thể làm điều này theo cách không gây ra sự cố và phù hợp với cách thức hoạt động của phần còn lại của cộng đồng?

Câu trả lời:


9

Điều này thường được thực hiện bằng cách tạo một gói sử dụng dpkg-diverttrong các tập lệnh bảo trì của nó để di chuyển tệp cấu hình cũ sang một bên:

  • Trong preinst của bạn, chuyển hướng các tập tin đi.

    dpkg-divert --add --package $your_package_name --rename \
        --divert /path/to/file.disabled \
        /path/to/file
    
  • Trong postrm của bạn, chuyển hướng các tập tin trở lại.

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

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

Một giải pháp giúp trừu tượng dpkg-divertconfig-package-devgói được tạo và duy trì bởi dự án Debathena của MIT. Họ có một hướng dẫn kỹ lưỡng .


Từ các ví dụ trên trang được liên kết, có vẻ như --diverttùy chọn sẽ được cung cấp trong cả tệp preinst và postrm.
nmgeek

Dường như có tài liệu mới hơn trong wiki.debian.org/ConfigPackages , khuyên bạn nên cài đặt tệp vào / etc / site / và sử dụng symlink thay vì cài đặt trực tiếp vào / etc /. Nó cũng khuyên bạn nên sử dụng postinst thay vì preinst và prerm hơn là postrm.
Ulf Adams
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.