Actualizador de software vs apt-get update

11

Siempre supuse que ejecutar apt-get updateseguido apt-get upgradeera solo la versión de línea de comandos de ejecutar el actualizador de software; sin embargo, ejecutar el actualizador de software da como resultado la actualización de los siguientes paquetes:

Complete Generic Linux kernel  
Header files relates to Linux kernel version 3.2.0  
Linux kernel headers for version 3.2.0 on 64 bit x86 SMP  
Generic Linux kernel headers  
Linux kernel image for version 3.2.0 on 64 bit x86 SMP  
General Linux kernel image  
Linux Kernel Headers for development

ISC DHCP client  
common file used by all the isc-dhcp* packages  
LightDM GObject client library  
graphical boot animation and logger-shared libraries  
DisplayManager  
graphical  boot animation and logger-main package  
graphical boot animation and logger-label control  
graphical boot animation and logger-ubuntu-logo theme (-logo)  
graphical boot animation and logger-ubuntu-logo theme (-text)  
Jabber/XMPP connection manager

(53.9 MB)

mientras que se ejecuta apt-get updatey apt-get upgradeda como resultado:

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  
The following packages will be upgraded:  
  isc-dhcp-client isc-dhcp-common liblightdm-gobject-1-0 libplymouth2 lightdm  
  linux-libc-dev plymouth plymouth-label plymouth-theme-ubuntu-logo  
  plymouth-theme-ubuntu-text telepathy-gabble  
11 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.  
Need to get 2,594 kB of archives.  
After this operation, 2,048 B of additional disk space will be used.  

¿Alguien puede explicar lo que está pasando?

ChrisW
fuente
En algún momento cambiaron el comportamiento de upgrade, ahora está buscando dist-upgradesi también desea actualizar el kernel.
Bobby

Respuestas:

9

Parece que hay algo de confusión aquí.

  • apt-get update : Esto solo actualiza la lista de paquetes disponibles.

  • apt-get upgrade: Esto actualizará cualquier paquete instalado a su última versión.

  • apt-get dist-upgrade : Igual que la actualización, pero utiliza un sistema de resolución de conflictos "inteligente", intentará actualizar los paquetes más importantes a expensas de los menos importantes si es necesario.

Entonces, si lo que desea es asegurarse de que sus paquetes instalados actualmente sean la versión más reciente disponible, ejecute

apt-get update && apt-get upgrade

Si esto resulta en problemas, entonces puede intentar:

apt-get update && apt-get dist-upgrade

Ahora, los mensajes que ha publicado no tienen nada que ver dist-upgrade, son simples actualizaciones. Tampoco hay absolutamente ninguna diferencia entre ellos, es simplemente que el actualizador de software le brinda las descripciones de los paquetes mientras apt-getenumera los nombres de los paquetes. Por ejemplo

Complete Generic Linux kernel  == linux-generic
ISC DHCP client                == isc-dhcp-client
Jabber/XMPP connection manager == telepathy-gabble  

Si lee detenidamente las dos listas, verá que son exactamente los mismos paquetes.

Dicho esto, los mensajes que publicaste dicen exactamente lo mismo.

terdon
fuente
1
Pensé que serían lo mismo, pero el tamaño de las descargas es enormemente diferente, a menos que esos números no sean comparables.
ChrisW
1

afaik, te pierdes una tercera pieza:

apt-get dist-upgrade

En realidad, apt-get upgrade no actualizará paquetes en algunos casos, por ejemplo cuando cambian dependencias o requieren que se eliminen otros paquetes. Bu apt-get dist-upgrade lo hará. Entonces, para obtener un comportamiento similar al del actualizador de software que necesita:

apt-get update && apt-get dist-upgrade

O, si quieres jugar un poco más seguro:

apt-get update && apt-get upgrade && apt-get dist-upgrade

Ver: http://www.ghacks.net/2010/03/11/what-is-it-with-the-dist-upgrade-option-of-apt-get/
Y también: /ubuntu/ / q / 194651/125726

gerlos
fuente
2
"apt-get update && apt-get upgrade && apt-get dist-upgrade" Excepto que dist-upgraderealiza todas las operaciones que también hubieran sido ejecutadas upgrade.
Bobby
Correcto. El punto es hacer actualizaciones "más seguras" antes, y después de que hayan salido bien, realice las dist-upgradeactualizaciones.
gerlos
No veo lo que gana con eso ... excepto un número de paquete más pequeño en la segunda ejecución.
Bobby
Hace algún tiempo tuve algunos problemas con los paquetes de terceros ppa cuyas dependencias estaban rotas. Utilizando la actualización "normal" podría actualizar todo menos aquellos paquetes rotos, y como estaban "aislados" de los demás, podía aislarlos de los demás y resolver mis problemas. No es algo que ocurra a menudo, pero es un buen enfoque para detectar problemas antes de que te golpeen, en mi humilde opinión.
gerlos
Quise decir que no veo qué diferencia hace si corriste upgradeo dist-upgradecuando te metiste en problemas. La principal diferencia es que la versión posterior también intentará actualizar el kernel, pero no tocará los existentes, por lo que el sistema nunca está en peligro por lo que puedo ver.
Bobby