LINUX

Cómo enumerar los paquetes RPM instalados en Linux

Los comandos rpm se utilizan distribuciones basadas en rpm como CentOS, Fedora, Opensuse y RHEL. Las distribuciones modernas de Linux usan el administrador de paquetes yum y DNF, que tiene más funciones.

Este tutorial explica las opciones que se pueden agregar al comando rpm (Redhat Package Manager) para listar paquetes en Linux.

1) Lista de todos los paquetes instalados

Para consultar toda la base de datos de RPM, usaremos -qa opción (consultar todo) para enumerar todos los paquetes instalados en Linux.

# sudo rpm -qa
Output
grub2-tools-extra-2.02-0.65.el7.centos.2.x86_64
ncurses-base-5.9-14.20130511.el7_4.noarch
libpipeline-1.2.3-3.el7.x86_64
kbd-misc-1.15.5-13.el7.noarch
tuned-2.9.0-1.el7.noarch
bash-4.2.46-30.el7.x86_64
info-5.1-5.el7.x86_64
...

2) Lista de paquetes específicos instalados

Puede filtrar el rpm -qa resultados usando el comando grep para listar paquetes específicos.

El siguiente comando mostrará una lista de paquetes específicos relacionados con ‘ssh’.

# rpm -qa | grep ssh
sample output
openssh-clients-7.4p1-16.el7.x86_64
openssh-7.4p1-16.el7.x86_64
openssh-server-7.4p1-16.el7.x86_64
libssh2-1.4.3-10.el7_2.1.x86_64

Utilice el siguiente comando para encontrar la fecha de instalación de un paquete específico

# rpm -q --last openssh
openssh-5.3p1-118.1.el6_8.x86_64              Wed 01 Mar 2017 08:30:12 PM UTC

3) Lista de información detallada sobre un paquete

Para mostrar información detallada sobre el paquete, como la versión, el lanzamiento, el tamaño de la fecha de instalación y la firma, use la opción qi. Por ejemplo, verifiquemos la información detallada del paquete ‘openssh’

# rpm -qi openssh

Detalles del paquete de lista de rpm

4) Listar el paquete instalado consultando un archivo

Nosotros instalamos ssh desde el openssh-server-5.3p1-84.1.el6.x86_64 paquete. Nosotros podemos usar -qf opción (archivo de consulta) con el comando rpm en un archivo de configuración.

El siguiente ejemplo enumerará el nombre del paquete relacionado con el archivo (‘/ etc / ssh / sshd_config’) mencionado el comando:

# rpm -qf /etc/ssh/sshd_config
output
openssh-server-7.4p1-16.el7.x86_64

5) Mostrar todos los archivos instalados por un paquete

Usaremos -ql opción con el comando rpm para mostrar todos los archivos de este paquete instalado en el sistema.

# rpm -ql openssh-server-7.4p1-16.el7.x86_64
output
/etc/pam.d/sshd
/etc/ssh/sshd_config
/etc/sysconfig/sshd
/usr/lib/systemd/system/sshd-keygen.service
/usr/lib/systemd/system/sshd.service
/usr/lib/systemd/system/sshd.socket
/usr/lib/systemd/system/sshd@.service
/usr/lib64/fipscheck/sshd.hmac
/usr/libexec/openssh/sftp-server
/usr/sbin/sshd
/usr/sbin/sshd-keygen
/usr/share/man/man5/moduli.5.gz
/usr/share/man/man5/sshd_config.5.gz
/usr/share/man/man8/sftp-server.8.gz
/usr/share/man/man8/sshd.8.gz
/var/empty/sshd

6) Enumere solo los archivos de configuración del paquete

Usaremos -qc opción con rpm comando para mostrar el archivo de configuración relacionado con el paquete.

# rpm -qc openssh-server-7.4p1-16.el7.x86_64
output
/etc/pam.d/sshd
/etc/ssh/sshd_config
/etc/sysconfig/sshd

7) Enumere solo los archivos de documentación del paquete

Usaremos -qd opción (consultar documentación) con rpm comando para enumerar solo los archivos de documentación.

# rpm -qd openssh-server-7.4p1-16.el7.x86_64
output
/usr/share/man/man5/moduli.5.gz
/usr/share/man/man5/sshd_config.5.gz
/usr/share/man/man8/sftp-server.8.gz
/usr/share/man/man8/sshd.8.gz

8) Cuente el número total de paquetes instalados

En Linux podemos usar el comando wc para contar, por lo que podemos canalizarlo con el comando rpm query para obtener el recuento total de paquetes instalados.

# rpm -qa | wc -l
222

Si está utilizando el administrador de paquetes yum o dnf, utilice el siguiente comando:

# yum list installed | wc -l
# dnf list installed | wc -l
# repoquery -a --installed | wc -l

9) Enumere todos los paquetes instalados usando el comando repoquery

En la nueva versión de CentOS, RHEL y Fedora, admite el uso del comando repoquery para enumerar todos los paquetes instalados. Si está usando el administrador de paquetes dnf, instale ‘dnf-utils’ y para el administrador de paquetes yum instale ‘yum-utils’ para usar repoquery.

# dnf install dnf-utils
# yum install yum-utils

Ejecute el siguiente comando para listar todos los paquetes instalados usando el comando repoquery:

# repoquery -a --installed

10) Enumere los paquetes instalados de un repositorio específico

Puede enumerar los paquetes instalados desde un repositorio específico como el repositorio EPEL en las distribuciones RHEL o CentOS 7 o CentOS 8.

El siguiente comando enumera todos los paquetes instalados desde el repositorio ‘EPEL’:

# yum list installed | grep @epel

Yumdb es otro comando disponible para listar los paquetes instalados desde un repositorio específico. Yumdb viene con el paquete ‘yum-utils’, así que asegúrese de instalarlo.

El siguiente comando yumdb mostrará todos los paquetes instalados desde el repositorio ‘EPEL’:

# yumdb search from_repo epel

11) Cómo restaurar el archivo de configuración del paquete RPM

Si por alguna razón un archivo se ha dañado o se ha eliminado del sistema, podemos comenzar con el rpm -qf opción de consulta para averiguar de qué paquete se originó el archivo. Siguiente uso rpm2cpio | cpio -idmv para extraer los archivos del paquete. Considere el ejemplo de ssh:

Suponiendo que el /etc/ssh/sshd_config El archivo se ha eliminado y es posible que no queramos reinstalar ssh, por lo que restauraremos el archivo siguiendo los pasos a continuación.

  1. El siguiente comando muestra que el archivo proviene del paquete openssh-server-7.4p1-16.el7.x86_64.
    # rpm -qf /etc/init.d/sshd
  2. Descargue el rpm de Openssh desde su fuente
  3. Dupdo openssh-server-7.4p1-16.el7.x86_64 archivo de paquete a /tmp directorio o cualquier otro directorio de su elección.
  4. Usar rpm2cpio | cpio -idmv para extraer el paquete.

Los comandos que usamos en los pasos anteriores crearon algunos subdirectorios en /tmp. Ahora podemos copiarlo a su ubicación original.

Conclusión

En este tutorial, aprendimos diferentes formas de listar los paquetes rpm instalados en Linux. Espero que haya disfrutado de la lectura y deje sus sugerencias en la sección de comentarios a continuació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