Respuestas:
No, no son lo mismo. apt-get upgrade
no maneja las dependencias cambiantes entre versiones, por lo que si un paquete ha cambiado dependencias, no se actualizará (se "retendrá"). Vea la respuesta larga para más detalles.
Usar el Actualizador de software y usar sudo apt-get update ; sudo apt-get dist-upgrade
(tenga en cuenta que dist-
) sería casi equivalente, excepto que obviamente es una GUI y la otra una aplicación de consola y también algunas diferencias informativas muy pequeñas.
De man apt-get
,
apt-get upgrade
:
upgrade
upgrade is used to install the newest versions of all packages
currently installed on the system from the sources enumerated in
/etc/apt/sources.list. Packages currently installed with new
versions available are retrieved and upgraded; under no
circumstances are currently installed packages removed, or packages
not already installed retrieved and installed. New versions of
currently installed packages that cannot be upgraded without
changing the install status of another package will be left at
their current version. An update must be performed first so that
apt-get knows that new versions of packages are available.
(énfasis por mí)
Esto significa que una versión más nueva de un paquete que tenga una nueva dependencia no requerida en la versión anterior no se actualizará con este método (a menos que la nueva dependencia ya esté instalada). Estos se mostrarán como "Retenidos".
apt-get dist-upgrade
:
dist-upgrade
dist-upgrade in addition to performing the function of upgrade,
also intelligently handles changing dependencies with new versions
of packages; apt-get has a "smart" conflict resolution system, and
it will attempt to upgrade the most important packages at the
expense of less important ones if necessary. The dist-upgrade
command may therefore remove some packages. The
/etc/apt/sources.list file contains a list of locations from which
to retrieve desired package files. See also apt_preferences(5) for
a mechanism for overriding the general settings for individual
packages.
(énfasis por mí)
Esto significa que con este comando en lugar de upgrade
, los paquetes con dependencias nuevas (o eliminadas) pueden actualizarse.
Un buen ejemplo de la diferencia entre los dos es cuando se lanza un nuevo kernel de Linux. Esto se incluye en el linux-image-generic
paquete que siempre depende del último paquete del kernel de Linux. Debido a las dependencias de linux-image-generic
cambio con cada actualización del núcleo, upgrade
no lo actualizará.
apt-get upgrade
se requiere), apt-get
no puede hacer lo mismo? Parece que hay algo más fundamentalmente diferente entre los dos.
Es casi lo mismo pero no exactamente. Por ejemplo, cuando se ofrecen actualizaciones del kernel, sudo apt-get update && sudo apt-get dist-upgrade
es necesario para obtener esas actualizaciones.
sudo apt-get update && sudo apt-get upgrade
le dirá que algunos paquetes han sido retenidos.
El uso del Actualizador de software hace que todo sea perfecto y no verá nada retenido.
apt
las actualizaciones disponibles, las fases ( mencionadas por pabouk ) son la diferencia más destacada entre la actualización con el Actualizador de software y la línea de comandos.En estos días, la apt
utilidad, que no existía cuando se publicó esta pregunta, pero que probablemente se habría incluido en la pregunta si lo hubiera hecho, es una alternativa cada vez más popular apt-get
para actualizar paquetes. Son similares: el mismo paquete (también llamado apt
) proporciona ambos , y todo lo que apt
puede hacer, las apt-
utilidades tradicionales también, aunque en algunos casos tendrías que pasar opciones especiales de configuración. Pero apt
está más cerca que apt-get
el Actualizador de software. Al igual que el Actualizador de software, es capaz de instalar nuevos paquetes cuando la nueva versión de un paquete existente los declara como dependencias.sudo apt upgrade
Por lo tanto, en la actualidad, los usuarios interesados en esta distinción pueden simplemente ejecutar en sudo apt upgrade
lugar de sudo apt-get upgrade
si desean que se instalen automáticamente nuevas dependencias. En consecuencia, la característica del Actualizador de software de retrasar ligeramente algunas actualizaciones, para determinar si son estables en la naturaleza y limitar el daño si no lo son, ahora es probablemente la principal diferencia entre usar el Actualizador de software y actualizar en la línea de comandos.
Este comportamiento del Actualizador de software se debe a la política de actualizaciones por fases . Esa política, implementada en el Actualizador de software pero no enapt-get
(o apt
), ha sido una gran diferencia entre los dos métodos desde que se introdujo la política , y pabouk comentó al respecto hace un par de años :
Hay otra diferencia:
apt-get
no utiliza PhasedUpdates, por lo que a veces Software Updater muestra menos actualizaciones queapt-get
. Consulte ¿Por qué Software Updater dice No hay actualizaciones disponibles, pero apt-get upgrade Muestra actualizaciones disponibles? .
- pabouk 25 de febrero de 15 a 7:34
Esta puede haber sido siempre la diferencia más significativa, ya que uno siempre podría ejecutarse sudo apt-get dist-upgrade
ante la upgrade
falta de voluntad de la acción para instalar nuevos paquetes o desinstalar los existentes. Sin embargo, cuando se actualiza desde la línea de comandos, la importancia relativa de las actualizaciones por fases aumenta con apt
:
apt-get
, el apt
comando descargará e instalará actualizaciones incluso si se retrasarían debido a la política de actualizaciones por fases si se hubiera utilizado el Actualizador de software.apt-get
la apt
del comando de upgrade
acción será instalar nuevos paquetes que no fueron previamente instalados, pero se requieren como dependencias para las nuevas versiones de los paquetes.Además de (a) preferir una interfaz gráfica y (b) su integración de escritorio que proporciona notificaciones cuando hay actualizaciones disponibles, la razón principal por la que uno podría usar el Actualizador de software es que es la forma más fácil de participar en actualizaciones por fases.
apt-get
no utiliza PhasedUpdates, por lo que a veces Software Updater muestra menos actualizaciones queapt-get
. Consulte ¿Por qué Software Updater dice No hay actualizaciones disponibles, pero apt-get upgrade Muestra actualizaciones disponibles? .