¿Por qué se ignoraría Dpkg::Options --force-confold?

¿Por qué se ignoraría Dpkg::Options --force-confold?

He estado intentando suprimir un diálogo interactivo con respecto a archivos de configuración modificados y conflictos. He revisado todos los resultados de búsqueda y todos siguen copiando y pegando.la misma respuesta exactasin proporcionar contexto adicional.

Llegué a la solución para colocar un archivo de configuración /etc/apt/apt.conf.dque contenga el elemento bien copiado y pegado:

Dpkg::Options {
   "--force-confdef";
   "--force-confold";
}

He incluido APT::Get::Assume-Yes "true";yesteestá absolutamente funcionando. He confirmado con apt-configeso queDpkg::Options sonsiendo cargado. Pero cada vez que intento DEBIAN_FRONTEND=noninteractive sudo apt upgradecon esta configuración, el cuadro de diálogo interactivo detiene mi script automatizado.

¿Alguien podría proporcionar más que una copia de por qué falla esta configuración? ¿Por qué se ignorarían estas configuraciones?


Para reproducir mi situación:

  1. Cree una nueva instancia de Ubuntu 20.04 en Lightsail
  2. Agregar /etc/apt/apt.conf.d/99confoldque contiene la configuración anterior
  3. Modificar /etc/cloud/cloud.cfgde alguna manera
  4. sudo apt updateentoncessudo apt upgrade

El cuadro de diálogo de conflicto todavía aparece hacia el final de las actualizaciones.

Respuesta1

Hay algunas razones por las que la configuración Dpkg::Options que ha especificado en su archivo /etc/apt/apt.conf.d podría ignorarse:

Es posible que esté utilizando una versión de apt que no admite la configuración Dpkg::Options. La configuración Dpkg::Options se introdujo en la versión 1.1.0 de apt, por lo que si está utilizando una versión anterior, esta configuración se ignorará.

La configuración de Dpkg::Options puede ser anulada por una configuración en otro archivo de configuración. apt lee archivos de configuración desde múltiples ubicaciones y las configuraciones en archivos posteriores pueden anular las anteriores. Por ejemplo, si tiene un archivo /etc/apt/apt.conf.d/99force-confold que contiene la línea Dpkg::Options {"--force-confnew"};, esta configuración anulará la línea --force- configuración confold que especificó en su archivo de configuración anterior.

Es posible que la configuración Dpkg::Options no se aplique al paquete u operación específica que está realizando. La configuración Dpkg::Options afecta la forma en que dpkg maneja los archivos de configuración al instalar o actualizar paquetes, pero puede no aplicarse a otras operaciones como eliminar paquetes o actualizar el caché de paquetes.

Si está utilizando una versión reciente de apt y la configuración Dpkg::Options no está siendo anulada por otro archivo de configuración, es posible que la opción --force-confold no sea aplicable a la operación que está intentando realizar. Puede intentar especificar la opción --force-confdef en su lugar, que obliga a dpkg a utilizar la versión predeterminada de cualquier archivo de configuración modificado.

También vale la pena señalar que la configuración DEBIAN_FRONTEND=noninteractive no suprime todas las indicaciones interactivas cuando se usa apt. Sólo suprime los mensajes que están específicamente relacionados con el sistema debconf, que se utiliza para hacer preguntas y establecer opciones de configuración durante la instalación de ciertos paquetes. Si ve un mensaje interactivo que no está relacionado con debconf, esta configuración no lo suprimirá.

información relacionada