Làm cách nào để giữ các tệp cấu hình tự động trong quá trình nâng cấp hoặc cài đặt apt-get?


10

Khi thực hiện và apt-get update; apt-get upgrade -ytrên máy chủ, tôi gặp thông báo:

Setting up sudo (1.8.16-0ubuntu1.5) ...

Configuration file '/etc/sudoers'
==> Modified (by you or by a script) since installation.
==> Package distributor has shipped an updated version.
What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
      D     : show the differences between the versions
      Z     : start a shell to examine the situation
The default action is to keep your current version.
*** sudoers (Y/I/N/O/D/Z) [default=N] ?
Setting up ubuntu-minimal (1.361.1) ...

Tôi biết rằng debconfcó thể được sử dụng để cấu hình các gói, như MySQL, để trả lời các câu hỏi cho lời nhắc.

Tôi nên sử dụng Chương trình / Mô-đun / Chức năng / vv nào của Linux để chuẩn bị câu trả lời cho lời nhắc này?

Tôi thực sự muốn biết một giải pháp được thực hiện thông qua Ansilbe nếu có. Ngoài một kịch bản BASH.

Xin lưu ý: TẤT CẢ các bản phân phối của tôi được thực hiện thông qua IaC và do đó tự động hóa là rất quan trọng.

Câu trả lời:


10

Có các tùy chọn bạn có thể chuyển qua apt-get đến dpkg sẽ xử lý các lựa chọn cấu hình. Chúng tôi thường làm một cái gì đó như:

apt-get install -y --no_install_recommends -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confold' <package_name>

Khi sử dụng ansible bạn có thể làm:

  apt:
    pkg: "{{ item }}"
    only_upgrade: yes
    install_recommends: no
    force: yes
    dpkg_options: 'force-confdef,force-confold'
    state: latest
  with_items:
    - <package_name>

Để biết thêm chi tiết về các tùy chọn mô đun apt ansible xem tại đây

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.