¿Cómo puedo obtener una lista de todos los paquetes RPM que se han instalado en mi sistema desde un repositorio particular (por ejemplo, "epel")?
44
yum list installed | grep @epel
dnf list installed | grep @epel
A partir de RHEL6, como se sugiere en esta respuesta de stackoverflow , hay un método más completo para hacer esto con
yumdb
:El repoid toma comodines.
Bonito estampado
Si vamos a engañar y canalizar la salida, también podemos lograr un efecto de impresión bonita. Aquí hay uno usando
awk
Usando
egrep
ogrep -e
list_ALL_AVAILABLE_from_repo
Para enumerar todos los paquetes disponibles en un repositorio especificado, haga:
fuente
repoquery -qa --repoid=REPONAME
repoquery -a --repoid=REPONAME
porque, según la-q
opción de la página de manual,-qa
realmente falla. No puedo votar a favor el comentario debido a queNotas
El comando anterior usa DNF para enumerar los paquetes instalados desde
<repoid>
. Noterepo-pkgs
es solo un alias derepository-packages
.De las
man
páginas:Otras lecturas:
fuente
Grepping la salida de yum es la forma más obvia:
Sin embargo, no puede mostrar propiedades de paquetes adicionales y es difícil de analizar con un script. La herramienta
repoquery
del paqueteyum-utils
es la herramienta, pero no está instalada de manera predeterminada.y un ejemplo más complejo:
fuente
Servidor RHEL 7.5 (Maipo)
yum repo-pkgs <repoid> list installed
se puede usar para recuperar la misma informaciónyumdb search from_repo <repoid>
, pero en un formato diferente.Resultados de muestra
epel
:fuente
Puede verificar el
Vendor
encabezado de los rpms instalados.Este ejemplo enumera todos los paquetes del repositorio de VideoLAN :
Obviamente, debe determinar si el
Vendor
encabezado de su repositorio es único entre los diferentes repositorios.fuente
Para las personas que solo quieren encontrar repositorios faltantes:
Esto debería devolver todos los repositorios donde tiene instalados los paquetes.
fuente