¿Cómo mantener los archivos de configuración automáticamente durante la actualización o instalación de apt-get?

10

Al realizar y apt-get update; apt-get upgrade -yen un servidor encontré el mensaje:

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

Sé que debconfse puede usar para configurar paquetes, como MySQL, para responder preguntas a las preguntas.

¿Qué programa / módulo / función / etc. de Linux debo usar para preparar una respuesta a este mensaje?

Realmente me gustaría saber una solución que se realice a través de Ansilbe si existe. Además de un script BASH.

Tenga en cuenta: TODAS mis distribuciones se realizan a través de IaC y, por lo tanto, la automatización es crítica.

Steven K7FAQ
fuente

Respuestas:

10

Hay opciones que puede pasar a través de apt-get a dpkg que manejarán las opciones de configuración. Usualmente hacemos algo como:

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

Al usar ansible puedes hacer:

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

Para más detalles sobre las opciones del módulo ansible apt , mira aquí

Jiri Klouda
fuente