จะเก็บไฟล์การกำหนดค่าโดยอัตโนมัติในระหว่างการอัพเกรดหรือติดตั้ง apt-get ได้อย่างไร?


10

เมื่อดำเนินการและapt-get update; apt-get upgrade -yบนเซิร์ฟเวอร์ฉันพบข้อความ:

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) ...

ฉันรู้ว่าdebconfสามารถใช้เพื่อกำหนดค่าแพ็คเกจเช่น MySQL เพื่อตอบคำถามเพื่อแจ้ง

ฉันควรใช้โปรแกรม / โมดูล / ฟังก์ชั่น / ฯลฯ ของ Linux ใดเพื่อเตรียมคำตอบสำหรับพรอมต์นี้

ฉันอยากรู้วิธีแก้ปัญหาที่ดำเนินการผ่าน Ansilbe หากมีอยู่จริง นอกเหนือจากสคริปต์ BASH

โปรดทราบ: การแจกแจงของฉันทั้งหมดทำผ่าน IaC และระบบอัตโนมัติจึงเป็นสิ่งสำคัญ

คำตอบ:


10

มีตัวเลือกที่คุณสามารถผ่าน apt-get ถึง dpkg ที่จะจัดการกับตัวเลือกการกำหนดค่า เรามักจะทำสิ่งที่ชอบ:

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

เมื่อใช้ ansible คุณสามารถทำได้:

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

สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับตัวเลือกโมดูลapt ansible ดูที่นี่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.