GNU/Linux >> Tutoriales Linux >  >> Linux

Actualización de distribución de Debian 100% no interactiva

Solución 1:

Si establece DEBIAN_FRONTEND=noninteractive (para evitar que aparezcan las indicaciones de debconf) y agregue force-confold y force-confdef a tu /etc/dpkg/dpkg.cfg archivo, debe tener una experiencia de instalación de paquetes completamente no interactiva. Cualquier paquete que aún le solicite información tiene un error crítico de lanzamiento (y lo digo como un adicto a la automatización y como desarrollador de Debian).

Solución 2:

Florian Lohoff publicó una forma de obtener lo que sugirió Womble en un solo comando:

DEBIAN_FRONTEND=noninteractive \
apt-get \
-o Dpkg::Options::="--force-confnew" \
--force-yes \
-fuy \
dist-upgrade

Por supuesto, también puede usar -o Dpkg::Options::="--force-confnew --force-confdef" (busque la página de manual de dpkg para confnew). Sin embargo, no estoy seguro de en qué casos esto marcaría la diferencia. Personalmente, necesito la actualización no interactiva para actualizar las imágenes Vanilla, en cuyo caso supongo que siempre elijo el nuevo archivo de configuración (sin --force-confdef ) es algo razonable.

Solución 3:

Aunque la respuesta anterior de womble es generalmente buena, no funcionó para mí y tuve que investigar un poco más para estar 100% desatendido. Pensé en compartir el resultado de manera concisa para simplificar las cosas para futuros visitantes.

El siguiente es un script que se ejecutará de acuerdo con las recomendaciones de actualización de las notas de la versión de debian 8 (principalmente) junto con las banderas y las variables de entorno que lo harán desatendido. (el echo Los correos electrónicos son solo para la depuración y podrían eliminarse, aunque recomiendo conservarlos para que, si el script se atasca, sepa dónde)

#!/bin/bash

apt-get remove apt-listchanges --assume-yes --force-yes &&

#using export is important since some of the commands in the script will fire in a subshell
export DEBIAN_FRONTEND=noninteractive &&
export APT_LISTCHANGES_FRONTEND=none &&

#lib6c was an issue for me as it ignored the DEBIAN_FRONTEND environment variable and fired a prompt anyway. This should fix it
echo 'libc6 libraries/restart-without-asking boolean true' | debconf-set-selections &&

echo "executing wheezy to jessie" &&
find /etc/apt -name "*.list" | xargs sed -i '/^deb/s/wheezy/jessie/g' &&

echo "executing autoremove" &&
apt-get -fuy --force-yes autoremove &&

echo "executing clean" &&
apt-get --force-yes clean &&

echo "executing update" &&
apt-get update &&

echo "executing upgrade" &&
apt-get --force-yes -o Dpkg::Options::="--force-confold" --force-yes -o Dpkg::Options::="--force-confdef" -fuy upgrade &&

echo "executing dist-upgrade" &&
apt-get --force-yes -o Dpkg::Options::="--force-confold" --force-yes -o Dpkg::Options::="--force-confdef" -fuy dist-upgrade

Solución 4:

>=Apt 1.1

Si está utilizando Apt 1.1 o superior, --force-yes ha quedado obsoleto, por lo que debe usar las opciones que comienzan con --allow en cambio, p. --allow-downgrades , --allow-remove-essential , --allow-change-held-packages .

Entonces el comando es:

DEBIAN_FRONTEND=noninteractive \
  apt-get \
  -o Dpkg::Options::=--force-confold \
  -o Dpkg::Options::=--force-confdef \
  -y --allow-downgrades --allow-remove-essential --allow-change-held-packages \
  dist-upgrade

Fuente:CFE-2360:Hacer consciente de la versión del módulo del paquete apt_get.

Relacionado:

  • apt-get update no interactivo
  • ¿Cómo le pido a apt-get que omita los pasos de configuración interactivos posteriores a la instalación?
  • Actualización apt no interactiva

Linux
  1. Debian apt-get wheezy fuentes.list

  2. Debian apt-get squeeze fuentes.lista

  3. Debian apt-get jessie fuentes.lista

  4. Debian – Apt-get – Autoremove ¿Quiere desinstalar Gnome?

  5. yum equivalente a apt-get upgrade vs apt-get dist-upgrade?

Debian frente a CentOS

Cómo instalar Docker en Debian 8 Jessie

Debian:¿qué tan fácil es actualizar el kernel de Linux en Debian 8.5?

Cómo usar apt-get reinstall en Debian y Ubuntu

¿Cómo instalar el Firefox real en Debian?

apt-get update informa errores de GPG