La salida de apt-get upgrade
es:
The following packages have been kept back:
certbot python-acme python-certbot python-certbot-apache python-cryptography python-openssl
¿Qué significa esto? ¿Debo tomar medidas? ¿Entonces qué?
La salida de apt-get upgrade
es:
The following packages have been kept back:
certbot python-acme python-certbot python-certbot-apache python-cryptography python-openssl
¿Qué significa esto? ¿Debo tomar medidas? ¿Entonces qué?
Respuestas:
He tenido el mismo problema, varias veces. NO lo hagas
sudo apt-get dist-upgrade
primero. Muy importante. **** NOTA: Esta solución es para máquinas basadas en Debian pero no funcionará en KDE Neon . Para actualizar KDE Neon, debe usarsudo pkcon update
. ****
Puede hacer que su sistema sea muy inestable, los programas pueden fallar y puede perder mucha funcionalidad en su sistema operativo.
Usted DEBE instalar cada paquete individual, Sin embargo , durante ese proceso, otras dependencias también se instalarán de forma automática y su problema será resuelto en tan sólo unos minutos.
No he tenido problemas con la siguiente solución. Es bastante rápido y fácil.
apt list --upgradable
sudo apt-get install package-name-here
apt list --upgradable
apt list --upgradable
después de cada instalación de paquete. Esto solo tomará un par de minutos en completarse.
sudo apt-get autoclean
sudo apt-get update && sudo apt-get dist-upgrade
Si esta solución funcionó para usted, no olvide votarla de manera que la solución correcta esté disponible para otros y esté en la parte superior de la lista de respuestas.
Si por alguna razón esta solución no funciona para usted, consulte la respuesta del usuario GAD3R a continuación. También es una buena solución.
Gracias.
¿Qué significa esto?
The following packages have been kept back:
La respuesta esta aqui
Esto significa que hay nuevas versiones de estos paquetes que no se instalarán por algún motivo. Las posibles razones son dependencias rotas (un paquete del que depende no tiene una versión disponible para descargar) o nuevas dependencias (el paquete ha llegado a depender de nuevos paquetes desde la última versión).
¿Debo tomar medidas?
Debe usar dist-upgrade
para instalar las nuevas dependencias y actualizar los paquetes:
sudo apt-get dist-upgrade
El problema se puede resolver ejecutando, dist-upgrade
si no es necesario:
Arreglar dependencias rotas
sudo apt-get -f install
Elimine algunos paquetes que ya no están instalados en su sistema:
sudo apt-get autoclean
Ponga el paquete deseado en espera:
echo "<package_name> hold" | dpkg --set-selections
Reconfigure el paquete nombrado:
dpkg-reconfigure <package_name>
De esta respuesta de Unix SE :
En primer lugar, como se mencionó anteriormente, ¡NO actualice la actualización de ningún sistema de producción! Si bien dist-upgrade "resolverá" los paquetes retenidos definitivamente no es la solución a este problema y es muy probable que le cause más dolor que bien si lo ejecuta sin conocer las implicaciones en su sistema.
Si la actualización de un paquete requiere la instalación de paquetes adicionales, se "retendrá" cuando se ejecute sudo apt-get upgrade
.
Como se mencionó anteriormente, puede instalar estos paquetes "retenidos" manualmente ejecutándolos explícitamente, sudo apt-get install [paste kept back packages here]
pero esto marcará estos paquetes como "instalados manualmente", que a menudo no es lo que queremos.
Para instalar automáticamente los paquetes adicionales necesarios para actualizar los paquetes "retenidos" sin marcar los paquetes "retenidos" como instalados manualmente, simplemente ejecute sudo apt-get --with-new-pkgs upgrade
.
Incluí esta respuesta en mi blog. Si quieres ver que puedes ir desde este enlace .
El error anterior es muy común en la terminal de Ubuntu cuando intenta actualizar ( apt-get upgrade
). Esto suele suceder porque las dependencias de un paquete que instala ha cambiado. Para actualizar, primero debe actualizarlos también. Por lo tanto, es muy sencillo resolver eso. Podrá ver los paquetes que se mantuvieron debajo de este mensaje de error. Como ejemplo, puedo ver los siguientes paquetes en la lista:
gnome-software gnome-software-common linux-generic linux-headers-generic
linux-image-generic snapd ubuntu-core-launcher ubuntu-software
No solo escriba sudo apt-get dist-upgrade
Es muy peligroso ya que instala todas las actualizaciones pendientes. Esto podría llevar su entorno de trabajo a un estado altamente inestable.
Por lo tanto, mi opinión es usar famosos
sudo apt-get install [package]
Puede reemplazarlo [package]
con el paquete que esté en el mensaje de error. También puede ponerlos como están en una lista (solo cópielos y péguelos). Como ejemplo en mi caso puedo ingresar
sudo apt-get install gnome-software gnome-software-common linux-generic linux-headers-generic
linux-image-generic snapd ubuntu-core-launcher ubuntu-software
Si quieres hacer
sudo apt-get dist-upgrade
por alguna razón, solo asegúrese de inspeccionar la lista de paquetes usando la opción de simulación -s
( sudo apt-get -s dist-upgrade
), o sin la -s
opción puede terminar la ejecución antes de aceptar. (siempre puedes elegir la opción no)
Recientemente, una actualización de seguridad de Debian introdujo algunas nuevas dependencias. En este caso, el linux-image
paquete comenzó a requerir linux-firmware
, entre algunos otros. Entonces fueron retenidos y no instalados por ellos unattended-upgrade
. Después de algunas pruebas y confirmaciones, pude instalar selectivamente solo esos paquetes, sin tocar otras actualizaciones pendientes:
apt-get -yy install $(apt-get -s upgrade | sed '1,/kept back/d;/will be upgraded/,$d')
Este artículo resume muy bien por qué sucede esto:
Si las dependencias han cambiado en uno de los paquetes que ha instalado, de modo que se debe instalar un nuevo paquete para realizar la actualización, aparecerá como "retenido".
La solución a esto es instalarlos explícitamente con
sudo apt install [packages]
Probablemente desee marcar estos paquetes como instalados automáticamente, a menos que usted mismo se preocupe por ellos y no solo para satisfacer las dependencias.
sudo apt-mark auto [packages]
Para evitar que esto suceda en primer lugar, recomiendo usar
sudo apt --with-new-pkgs upgrade
para actualizar paquetes en el futuro, lo que permite la instalación de nuevos paquetes para satisfacer los cambios en las dependencias.
--with-new-pkgs
! Y permítanme enfatizar una vez más que, " ¡NO des-actualice ningún sistema de producción! Si bien la actualización de dist" resolverá "los paquetes retenidos definitivamente no es la solución a este problema y probablemente le causará más dolor que bien si usted ejecutarlo sin conocer las implicaciones en su sistema ".