LINUX

Cómo enumerar los paquetes instalados por fecha en Linux

A veces, desea saber cuándo se instaló un paquete en su sistema operativo, tal vez con fines de auditoría, principalmente si es un administrador del sistema Linux.

En esta publicación de blog, le mostraré cómo enumerar los paquetes instalados por fecha en Linux: distribuciones de Ubuntu, Debian, CentOS y Arch Linux.

Enumere los paquetes instalados por fecha en Ubuntu / Debian

Si está ejecutando Ubuntu, Debian o cualquier otro derivado de Debian como Kubuntu, Xubuntu, etc., los comandos utilizados serán similares. Para enumerar los paquetes instalados ordenados por fecha, ejecute:

$ grep -i "install" /var/log/dpkg.log

Tenga en cuenta que el comando anterior funcionará solo si el paquete instalado se registró en el archivo /var/log/dpkg.log. Dado que el sistema Linux de forma predeterminada tiene algún tipo de rotación de registros, esto no funcionará para los registros rotados que se hayan comprimido. Para obtener todas las fechas de instalación de los paquetes, incluidos aquellos cuyos registros se han rotado, use el comando:

$ zcat /var/log/dpkg.log.* | grep -i "installed"

La salida de muestra es:

.....

2017-05-23 07:49:41 status installed libxaw7:amd64 2:1.0.13-1
2017-05-23 07:49:41 status installed libxcb-shape0:amd64 1.11.1-1ubuntu1
2017-05-23 07:49:41 status installed x11proto-xext-dev:all 7.3.0-1
2017-05-23 07:49:41 status installed libxext-dev:amd64 2:1.3.3-1
2017-05-23 07:49:41 status installed x11proto-render-dev:all 2:0.11.1-2
2017-05-23 07:49:41 status installed libxrender-dev:amd64 1:0.9.9-0ubuntu1
2017-05-23 07:49:41 status installed libxft-dev:amd64 2.3.2-1
2017-05-23 07:49:41 status installed libxrandr2:amd64 2:1.5.0-1
2017-05-23 07:49:41 status installed x11proto-scrnsaver-dev:all 1.2.2-1


zcat comando lee archivos comprimidos, luego canalizamos la salida a grep para filtrar.

Si desea grep para un paquete específico del que conoce parte de su nombre, puede canalizar la salida nuevamente al comando grep. Vea el ejemplo a continuación que busca la fecha de instalación del apto-espejo paquete.

#  zcat /var/log/dpkg.log.* | grep -i "installed" | grep apt-mirror

2017-06-26 09:47:52 status installed apt-mirror:all 0.5.1-1ubuntu1

Una alternativa a zcat es el comando zgrep que funciona de manera similar a zcat. Piense en ello como un comando grep para archivos comprimidos:

# zgrep "installed" /var/log/dpkg.log*
# zgrep "installed" /var/log/dpkg.log* | grep apt-mirror
/var/log/dpkg.log.7.gz:2017-06-26 09:47:52 status installed apt-mirror:all 0.5.1-1ubuntu1

La ventaja de zgrep es que le mostrará el archivo de registro del que se obtuvieron esos datos. Como puede ver desde arriba, los datos se extrajeron del archivo /var/log/dpkg.log.7.gz.

Lista de paquetes instalados por fecha en CentOS

Para sistemas basados ​​en RPM como Hat, CentOS, Scientific Linux, Fedora, SUSE, el comando rpm se usa para listar los paquetes instalados por fecha. Los comandos exactos para ejecutar son:

# rpm -qa --last

Este comando enumera los paquetes por hora de instalación, el más reciente primero. La salida de este comando se verá así:

libxml2-2.9.1-6.el7_2.3.x86_64 Sat 09 Dec 2017 10:15:00 AM EAT
findutils-4.5.11-5.el7.x86_64 Sat 09 Dec 2017 10:15:00 AM EAT
libgpg-error-1.12-3.el7.x86_64 Sat 09 Dec 2017 10:14:59 AM EAT
libffi-3.0.13-18.el7.x86_64 Sat 09 Dec 2017 10:14:59 AM EAT
libcap-ng-0.7.5-4.el7.x86_64 Sat 09 Dec 2017 10:14:59 AM EAT
libattr-2.4.46-12.el7.x86_64 Sat 09 Dec 2017 10:14:59 AM EAT
libacl-2.2.51-12.el7.x86_64 Sat 09 Dec 2017 10:14:59 AM EAT
dbus-libs-1.6.12-17.el7.x86_64 Sat 09 Dec 2017 10:14:59 AM EAT
sed-4.2.2-5.el7.x86_64 Sat 09 Dec 2017 10:14:58 AM EAT

Para buscar la fecha de instalación de un paquete específico, agregue el nombre del paquete al final del comando anterior.

# rpm -qa --last postfix3
postfix3-3.2.0-1.gf.el7.x86_64 Thu 25 May 2017 01:04:35 AM EAT

Del ejemplo. el paquete postfix3 se instaló el jueves 25 de mayo de 2017 a las 01:04:35 AM EAT.

Enumere los paquetes instalados por fecha en Arch

Para Arch Linux y sus derivados, como Antergos, Manjaro, Apricity, Ninja OS, etc., se utiliza la utilidad de extracción de datos de la base de datos alpm llamada expac. La invocación de expac consiste en proporcionar una cadena de formato. Se puede realizar más formateo de la salida utilizando parámetros y opciones de comando compatibles.

$ expac --timefmt="%F %T" '%l %n'

Para comparar la salida de acuerdo con el valor numérico de la cadena, canalice la salida a sort -n mando.

$ expac --timefmt="%F %T" '%l %n' | sort -n

La más reciente estará en la parte inferior, puede canalizar la salida para obtener las instalaciones más recientes.

$ expac --timefmt="%F %T" '%l %n' | sort -n | tail -n 7
2018-01-15 14:41:15 webkitgtk
2018-01-16 09:18:26 babl
2018-01-16 09:18:26 gegl02
2018-01-16 09:18:26 lcms
2018-01-16 09:18:26 libspiro
2018-01-16 09:18:26 libwmf
2018-01-16 09:18:27 gimp

Este ejemplo enumera 7 paquetes instalados recientemente.

Terminando

Hasta este punto, hemos cubierto todos los pasos necesarios para verificar la fecha de instalación del paquete en CentOS, Ubuntu, Debian y Arch Linux. Para cualquier sistema operativo con la misma derivada principal, los comandos deben ser los mismos. Dado que algunas distribuciones tienen más de un comando que hace el mismo trabajo, simplemente limítese al que prefiera.

Leer también:

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