Me preguntaba por qué a upgradeveces no quiere actualizar ciertas partes del sistema, mientras que dist-upgradesí. Aquí hay un ejemplo después de correr apt-get upgrade:
apt-get upgrade:
rimmer@rimmer-Lenovo-IdeaPad-S10-2:~$ sudo apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages have been kept back:
linux-generic linux-headers-generic linux-image-generic
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
versus apt-get dist-upgrade:
rimmer@rimmer-Lenovo-IdeaPad-S10-2:~$ sudo apt-get dist-upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following NEW packages will be installed:
linux-headers-3.0.0-13 linux-headers-3.0.0-13-generic
linux-image-3.0.0-13-generic
The following packages will be upgraded:
linux-generic linux-headers-generic linux-image-generic
3 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
Need to get 48.5 MB of archives.
After this operation, 215 MB of additional disk space will be used.
Do you want to continue [Y/n]?
En otras palabras, ¿por qué no se puede realizar esto upgrade?

full-upgradecomo una opción porapt-getdebajo de 14.04.1.apt, pero parece ser un comando completamente diferente según la página del manual que vinculóapty no deapt-get... :-) Intentaman apt.apt-get upgradeestá restringido al caso en que los paquetes deben ser reemplazados por versiones más nuevas, pero no es necesario agregar o eliminar paquetes. Una nueva versión de Firefox, por ejemplo, debería ser instalable conapt-get upgrade.Sin embargo,
apt-get upgradese negará a trabajar cuando las versiones actualizadas requieran adiciones o eliminaciones. Por ejemplo, cuando tienelinux-image-3.2.0-10-genericinstalado el núcleo ylinux-image-3.2.0-11-genericaparece, ellinux-image-genericpaquete se actualiza para depender de la versión más nueva. Para instalar el nuevo kernel, debe ejecutarapt-get dist-upgrade.Observe cómo un
apt-get upgradedirá que los paquetes del núcleo han sidoheld back. Esa es la señal para usarapt-get dist-upgrade.fuente
update-manager, no se usaapt-getdirectamente; en su lugar, funciona con un backend llamadoaptdaemon. Las capacidades estándar deupdate-managerson una combinación de los modosupgradeydist-upgradedeapt-get: puede agregar pero no eliminar paquetes; invoca la herramienta "Actualización parcial" cuando se requieren eliminaciones. Cuando use la línea de comando, useapt-get upgrade. Si ve que informa que los paquetes han sido "retenidos", ejecuteapt-get dist-upgradepara recoger las actualizaciones restantes.Básicamente, la actualización solo actualizará los paquetes existentes de una versión a otra. No instalará ni eliminará paquetes, incluso si se requiere hacerlo para actualizar otros. En el caso de las actualizaciones del kernel, la actualización del paquete linux-generic requiere la instalación del nuevo paquete linux-3.0.0-13-generic, y dado que la actualización se niega a instalar o eliminar paquetes, se niega a actualizar linux-generic.
A veces, varias incompatibilidades entre paquetes requerirán que se eliminen algunos paquetes para actualizar otros, y eso también requerirá dist-upgrade. Las actualizaciones del kernel siempre requerirán dist-upgrade debido a cómo se manejan. En lugar de tener un paquete de kernel que se actualice, cada vez se crea un paquete de kernel completamente nuevo, y el metapaquete del kernel se actualiza para depender del nuevo paquete de kernel en lugar del antiguo. Esto se hizo para mantener las versiones antiguas del kernel para que, en caso de que haya un problema al arrancar el nuevo kernel, pueda elegir el antiguo del menú de arranque y recuperarlo.
fuente
El
apt-get upgradecomando normalmente solo instalará actualizaciones (o correcciones) en los paquetes instalados actualmente. Normalmente, una nueva versión de Mozilla Firefox , por ejemplo, se instalaría con este comando.Sin embargo
apt-get upgrade, generalmente NO instalará nuevas versiones, donde los cambios importantes (incluida la eliminación de paquetes o la actualización de GRUB) Por ejemplo, cuando hay disponible un nuevo kernel de Linux (linux-image-3.xx-xx-generic, etc.), el paquete no se instalará.Para instalar el nuevo kernel, deberá ejecutarlo
apt-get dist-upgrade. Se le notificará cuando ejecuteapt-get upgrade, ya que dirá que ciertos paquetes han sido retenidos. Esa es su señal de empleo:apt-get dist-upgrade.fuente
dist-upgradeno se actualizará a una nueva versión a menos quesources.listse haya modificado en consecuencia (e incluso entonces, esa no es una forma compatible de actualizar en Ubuntu). Cuando se instala un nuevo kernel condist-upgrade, esa no es una nueva versión de Ubuntu . Es solo un nuevo paquete. Además, el reclamo "o se requiere la actualización de GRUB" es falso.sudo apt-get upgradees perfectamente capaz de actualizar paquetes en una situación en la que GRUB debe actualizarse, siempre que no se eliminen paquetes y se instalen paquetes nuevos.update-grubse ejecuta automáticamente, como siempre.apt-get upgradeno eliminará ni agregará paquetes. Si una solución a un paquete requiere un nuevo paquete, la actualización se retrasará. La respuesta de pablomme , que usted revisó para que sea menos precisa, es mejor y les aconsejaría a los lectores que se dirijan a esa.apt-get upgradenunca instalará ni eliminará ningún paquete. Las actualizaciones del kernel se empaquetan como paquetes nuevos y, como resultado,apt-get upgradenunca actualizarán el kernel. El hecho de que la actualización del núcleo haga cambios "importantes" como la configuración de GRUB no es la razón de la diferencia entreupgradeydist-upgrade.Tu mejor opción es:
apt full-upgrade-que maneja automáticamente las dependencias al actualizar paquetes; mientras:
-NO maneja automáticamente las dependencias al actualizar paquetes.
- duBtrotterS
fuente