Este artículo explica cómo listar los paquetes disponibles para actualizar en los sistemas operativos basados en Devuan/Debian utilizando apt.
Anteriormente compartí un script para verificar actualizaciones de paquetes disponibles, tanto para Debian como para CentOS. Para los sistemas Debian, el script realiza una simulación de actualización utilizando apt-get
(apt-get -s -q -u upgrade
). De esta forma obtiene la lista de paquetes que están disponibles para actualizar.
Sin embargo, la herramienta apt
posee la opción --upgradable
para listar paquetes.
apt
(Advanced Package Tool) es la herramienta de línea de comandos para manejar paquetes, que provee una interfaz a las herramientas de gestión de más bajo nivel como apt-get
y apt-cache
.
Para listar las actualizaciones disponibles simplemente se debe ejecutar apt list --upgradable
:
root@devuan:~# apt list --upgradable Listing... Done curl/jessie-security 7.38.0-4+deb8u11 amd64 [upgradable from: 7.38.0-4+deb8u10] db5.1-util/stable 5.1.29-9+deb8u1 amd64 [upgradable from: 5.1.29-5] libcurl3/jessie-security 7.38.0-4+deb8u11 amd64 [upgradable from: 7.38.0-4+deb8u10] libcurl3-gnutls/jessie-security 7.38.0-4+deb8u11 amd64 [upgradable from: 7.38.0-4+deb8u10] linux-image-amd64/jessie-security 3.16+63+deb8u2 amd64 [upgradable from: 3.16+63]
Es posible limpiar un poco la salida con grep
y cut
:
root@devuan:~# apt list --upgradable 2>/dev/null | grep -v "^Listing" | cut -d'/' -f1 curl db5.1-util libcurl3 libcurl3-gnutls linux-image-amd64
Sin embargo la herramienta de línea de comandos apt
está diseñada para se una herramienta de usuario final y su salida puede cambiar entre versiones. Esto significa que debe ser utilizada con precaución en scripts.
Todas las características de apt
están disponibles en apt-cache
o apt-get
a través de opciones APT. Por ende sigue siendo conveniente (recomendable) utilizar apt-get -s -q -u upgrade
desde scripts:
root@devuan:~# apt-get -s -q -u upgrade Reading package lists... Building dependency tree... Reading state information... The following packages have been kept back: db5.1-util linux-image-amd64 The following packages will be upgraded: curl libcurl3 libcurl3-gnutls 3 upgraded, 0 newly installed, 0 to remove and 2 not upgraded. Inst curl [7.38.0-4+deb8u10] (7.38.0-4+deb8u11 None:1.0/jessie-security [amd64]) [] Inst libcurl3 [7.38.0-4+deb8u10] (7.38.0-4+deb8u11 None:1.0/jessie-security [amd64]) Inst libcurl3-gnutls [7.38.0-4+deb8u10] (7.38.0-4+deb8u11 None:1.0/jessie-security [amd64]) Conf libcurl3 (7.38.0-4+deb8u11 None:1.0/jessie-security [amd64]) Conf curl (7.38.0-4+deb8u11 None:1.0/jessie-security [amd64]) Conf libcurl3-gnutls (7.38.0-4+deb8u11 None:1.0/jessie-security [amd64])