Cómo listar y filtrar paquetes en Centos
Aprendemos a mostrar cómo listar y filtrar paquetes en Centos. Esto puede ser muy útil si queremos instalar los mismos paquetes, con sus respectivas versiones, en otro host; o si deseamos reinstalar nuestro sistema.
También nos puede servir para verificar si un paquete instalado, contar el número de paquetes instalados o averiguar la versión de un paquete dado.
Estos tips, también se pueden utilizar en sistemas RHEL o Scientific Linux
Listar paquetes instalados con Yum
YUM, acrónicmo en inglés de “Yellowdog Updates Modified”, es el administrador de paquetes de RHEL, Centos y Scientific Linux. Lo podemos utilizar para descargar, instalar, eliminar, consultar y administrar paquetes de software RPM. Todo esto desde los repositorios oficiales o de terceros.
Para listar los paquetes instalados en un sistema podemos utilizar el siguiente comando y parámetros:
sudo yum list installed
Se imprimirá en pantalla una lista de todos los paquetes instalados, incluida la información sobre las versiones y el repositorio de los paquetes.
[root@servcentos]# yum list installed | less
Complementos cargados:fastestmirror
Paquetes instalados
GeoIP.x86_64 1.5.0-13.el7 @anaconda
NetworkManager.x86_64 1:1.12.0-8.el7_6 @updates
NetworkManager-libnm.x86_64 1:1.12.0-8.el7_6 @updates
NetworkManager-team.x86_64 1:1.12.0-8.el7_6 @updates
NetworkManager-tui.x86_64 1:1.12.0-8.el7_6 @updates
acl.x86_64 2.2.51-14.el7 @anaconda
aic94xx-firmware.noarch 30-6.el7 @anaconda
alsa-firmware.noarch 1.0.28-2.el7 @anaconda
alsa-lib.x86_64 1.1.6-2.el7 @anaconda
alsa-tools-firmware.x86_64 1.1.0-1.el7 @anaconda
apr.x86_64 1.4.8-3.el7_4.1 @base
apr-util.x86_64 1.5.2-6.el7 @base
audit.x86_64 2.8.4-4.el7 @anaconda
audit-libs.x86_64 2.8.4-4.el7 @anaconda
authconfig.x86_64 6.2.8-30.el7 @anaconda
basesystem.noarch 10.0-7.el7.centos @anaconda
bash.x86_64 4.2.46-31.el7 @anaconda
bind-libs-lite.x86_64 32:9.9.4-72.el7 @anaconda
bind-license.noarch 32:9.9.4-72.el7 @anaconda
binutils.x86_64 2.27-34.base.el7 @anaconda
biosdevname.x86_64 0.7.3-1.el7 @anaconda
(...)
Como la lista es muy extensa, para poder consultarla más fácilmente, podemos combinar la salida, con comandos como “less” o “more”
sudo yum list installed | less
Para saber si un paquete específico está instalado, podemos filtrar la salida con el comando ‘grep’
Por ejemplo, para saber si el paquete de descompresión está en nuestro sistema:
sudo yum list installed | grep unzip
Con el resultado:
[root@servcentos]# sudo yum list installed | grep unzip
unzip.x86_64 6.0-19.el7 @base
Listar paquetes instalados con RPM
En Centos podemos usar el comando rpm, con la opción ‘-q’ , para consultar los paquetes. En el siguiente ejemplo, listaremos todos los paquetes instalados:
sudo rpm -qa
A diferencia de yum, rpm nos mostrará solo los nombre de los paquetes.
Para consultar si un paquete determinado está instalado, debemos pasar el nombre del paquete utilizando el parámetro “-q”. Como en el siguiente ejemplo:
sudo rpm -q tmux
Si el paquete está instalado nos devolverá un mensaje similar al siguiente:
[root@servcentos]# sudo rpm -q tmux
tmux-1.8-4.el7.x86_64
En caso contrario:
[root@servcentos]# sudo rpm -q tmux
el paquete tmux no está instalado
Crear una lista de paquetes instalados
Para saber que paquetes tenemos instalados en el sistema, podemos utilizar la salida estándar hacia un fichero, como sigue:
sudo rpm -qa > packages_list.txt
De esta manera podemos utilizar dicho fichero, para realizar una instalación en otro host:
sudo yum -y install $(cat packages_list.txt)
Contar el número de paquetes instalados
Para saber cuántos paquetes están instalados en el sistema, podemos combinar el comando con la herramienta “wc”, que se encarga de contar.
sudo rpm -qa | wc -l
En mi caso:
[root@servcentos]# sudo rpm -qa | wc -l
361
Espero que estos apuntes os puedan servir en algún momento.
Fuentes consultadas: