अपग्रेड प्राप्त करने या स्थापित करने के दौरान कॉन्फ़िगरेशन फ़ाइलों को स्वचालित रूप से कैसे रखा जाए?


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 जैसे संकुल को कॉन्फ़िगर करने के लिए इस्तेमाल किया जा सकता है।

इस प्रॉम्प्ट का उत्तर तैयार करने के लिए मुझे कौन से लिनक्स प्रोग्राम / मॉड्यूल / फंक्शन / आदि का उपयोग करना चाहिए?

मैं वास्तव में एक समाधान जानना चाहूंगा कि अगर कोई मौजूद है तो 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>

Ansible उपयुक्त मॉड्यूल विकल्पों पर अधिक जानकारी के लिए यहां देखें

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.