LINUX

Cómo enumerar los paquetes que tienen actualizaciones disponibles en Linux

Lista de actualizaciones de paquetes de númerosEn este artículo, le mostraré cómo enumerar la cantidad de actualizaciones de paquetes disponibles para instalar desde la línea de comandos en sistemas Linux. He utilizado las siguientes herramientas apt, apt-get, aptitude, yum, apt-check script y apticron para listar actualizaciones.

Usando el comando apt (por encima de Ubuntu 14.04)

Desde ubuntu 14.04 tenemos un nuevo comando llamado «apt». El siguiente comando enumerará todos los paquetes que puede actualizar, cuáles son sus versiones actuales y cuál es la nueva versión.

sudo apt list --upgradable
Listing... Done
gnupg/stable 1.4.18-7+deb8u2 amd64 [upgradable from: 1.4.18-7+deb8u1]
gpgv/stable 1.4.18-7+deb8u2 amd64 [upgradable from: 1.4.18-7+deb8u1]
libgcrypt20/stable 1.6.3-2+deb8u2 amd64 [upgradable from: 1.6.3-2+deb8u1]
libidn11/stable 1.29-1+deb8u2 amd64 [upgradable from: 1.29-1+deb8u1]
linux-image-3.16.0-4-amd64/stable 3.16.36-1+deb8u1 amd64 [upgradable from: 3.16.7-ckt25-2+deb8u3]

Por lo general, este comando debe ejecutarse después de la actualización de apt. Si hay alguna actualización, le mostrará cuántos paquetes se pueden actualizar y el comando mencionado para mostrarle qué paquetes se pueden actualizar.

Usando el comando apt-get

He enumerado algunas opciones del comando apt-get para enumerar los paquetes disponibles para actualizar.

apt-get upgrade --dry-run
[sudo] password for user:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages were automatically installed and are no longer required:
  libsqlite0 pgdg-keyring
Use 'apt-get autoremove' to remove them.
The following packages have been kept back:
  linux-generic linux-headers-generic linux-image-generic
The following packages will be upgraded:
  apparmor apport apt apt-transport-https apt-utils base-files bash bind9-host
  libapt-inst1.5 libapt-pkg4.12 libbind9-90 libblkid1 libc-bin libc-dev-bin
  libc6 libc6-dev libcairo-gobject2 libcairo-script-interpreter2 libcairo2
  libcairo2-dev libcgmanager0 libcomerr2 libcurl3-gnutls libdbus-1-3
  libdbus-1-dev libdns100 libdrm-intel1 libdrm-nouveau2 libdrm-radeon1 libdrm2
  ...
  python-software-properties python-urllib3 python3-apport python3-apt
  python3-distupgrade python3-problem-report rsyslog systemd-services tcpdump
  util-linux uuid-runtime wget wpasupplicant x11-common x11proto-core-dev
  xtrans-dev
161 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
Inst base-files [7.2ubuntu5.1] (7.2ubuntu5.2 Ubuntu:14.04/trusty-updates [amd64])
Conf base-files (7.2ubuntu5.2 Ubuntu:14.04/trusty-updates [amd64])
Inst bash [4.3-7ubuntu1.4] (4.3-7ubuntu1.5 Ubuntu:14.04/trusty-updates [amd64])
...

Tenga en cuenta que –dry-run nos permite ver la lista de archivos / paquetes que se actualizarán pero no se realizarán cambios.

Aquí están las opciones de simulación disponibles –just-print, -s, –simulate,, –dry-run, –recon, –no-act

Pocos ejemplos

# apt-get -s dist-upgrade | grep "^[[:digit:]]+ upgraded"
87 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
# apt-get -s dist-upgrade | grep -Po "^[[:digit:]]+ (?=upgraded)"
87
# apt-get dist-upgrade -s --quiet=2 | grep ^Inst | wc -l
87

Usando el comando aptitude

Para obtener el comando «aptitude», use el siguiente comando para obtener la lista de paquetes listos para la actualización. Algunas versiones de aptitude no requieren el uso de comillas simples antes y después de ~ U.

aptitude search '~U'
...
i   scudcloud                                                                                                      - ScudCloud is a non official desktop client for Slack                                                                     
i   shim-signed                                                                                                    - Secure Boot chain-loading bootloader (Microsoft-signed binary)                                                           
i   smbclient                                                                                                      - command-line SMB/CIFS clients for Unix                                                                                   
i   strongswan                                                                                                     - IPsec VPN solution metapackage                                                                                           
i A strongswan-ike                                                                                                 - strongSwan Internet Key Exchange (v2) daemon                                                                             
i A strongswan-plugin-openssl                                                                                      - strongSwan plugin for OpenSSL                                                                                            
i A strongswan-starter                                                                                             - strongSwan daemon starter and configuration file parser                                                                  
i   sudo                                                                                                           - Provide limited super user privileges to specific users   
...

Nota: que no busca en línea, solo local en su sistema.

Cómo verificar usando el script apt-check

Pude obtener un resultado ordenado en ubuntu 14.04 usando este script.

# /usr/lib/update-notifier/apt-check -p
bind9-host
python3-problem-report
liblwres90
linux-headers-generic
libdns100
libisccfg90
...

# / usr / lib / update-notifier / apt-check –human-legible
Se pueden actualizar 33 paquetes.
30 actualizaciones son actualizaciones de seguridad.

Usando el comando yum y up2date

Yum es un administrador de paquetes de software que instala, actualiza y elimina paquetes en sistemas basados ​​en RPM. Calcula automáticamente las dependencias y descubre qué cosas deberían ocurrir para instalar paquetes. Para enumerar las actualizaciones que están disponibles para los paquetes instalados:

yum list updates
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
 * base: centos.hyve.com
 * epel: mirrors.coreix.net
 * extras: centos.hyve.com
 * rpmforge: www.mirrorservice.org
 * updates: mirror.sov.uk.goscomb.net

kernel.x86_64                                                     2.6.32-504.3.3.el6  
...

La siguiente utilidad es up2date. Esta utilidad descarga paquetes de RHN (Red Hat Network) y los instala en su sistema. La ventaja de usar up2date para actualizar / instalar paquetes es que resuelve automáticamente las dependencias y descarga cualquier paquete adicional que pueda necesitar. Tiene la opción -l para mostrarle qué actualizaciones de paquetes están disponibles para descargar e instalar.

up2date -l

Herramienta Apticron: envíele por correo electrónico la lista de actualizaciones

Si necesita que su máquina le avise automáticamente cuando haya nuevos paquetes disponibles, apticron puede ser el paquete que está buscando. Apticron es un script de shell simple que se llama desde cron una vez al día. Pero primero debes instalarlo:

sudo apt-get install apticron

y configurar:

vim /etc/apticron/apticron.conf
EMAIL="root@example.com"

Ahora apticron enviará correos electrónicos una vez al día cuando haya nuevos paquetes disponibles. Una muestra de un correo electrónico se ve así:

apticron report [Mon, 10 Jul 2017 10:42:01 -0800]
========================================================================

apticron has detected that some packages need upgrading on:

[your machine name]
[ 1.2.3.4 ]

The following packages are currently pending an upgrade:

xfree86-common 4.3.0.dfsg.1-14sarge3
libice6 4.3.0.dfsg.1-14sarge3
libsm6 4.3.0.dfsg.1-14sarge3
xlibs-data 4.3.0.dfsg.1-14sarge3
libx11-6 4.3.0.dfsg.1-14sarge3
libxext6 4.3.0.dfsg.1-14sarge3
libxpm4 4.3.0.dfsg.1-14sarge3

========================================================================

Package Details:

Reading changelogs...
--- Changes for xfree86 (xfree86-common libice6 libsm6 xlibs-data libx11-6 libxext6 libxpm4) ---
xfree86 (4.3.0.dfsg.1-14sarge3) stable-security; urgency=high

* Non-maintainer update by the Security Team:
Fixes several vulnerabilities reported by iDefense
(CVE-2006-6101, CVE-2006-6102, CVE-2006-6103)

-- Moritz Muehlenhoff Sun, 9 Jul 2017 13:31:35 +0000

========================================================================

You can perform the upgrade by issuing the command:

apt-get dist-upgrade

as root on faustus.example.com

It is recommended that you simulate the upgrade first to confirm that
the actions that would be taken are reasonable. The upgrade may be
simulated by issuing the command:

apt-get -s dist-upgrade

-- apticron

Mantener el software de su computadora actualizado es la tarea más importante para proteger su sistema. Ubuntu puede alertarle sobre actualizaciones pendientes y también puede configurarse para aplicar actualizaciones automáticamente. Tenga en cuenta que las actualizaciones pueden reiniciar los servicios en su servidor, por lo que esto puede no ser apropiado para todos los entornos.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar