Como posso obter uma lista de todos os pacotes RPM que foram instalados no meu sistema em um repositório específico (por exemplo, "epel")?
44
yum list installed | grep @epel
dnf list installed | grep @epel
No RHEL6, conforme sugerido nesta resposta do stackoverflow , há um método mais completo de fazer isso com
yumdb
:O repoid recebe curingas.
Pretty-print
Se vamos trapacear e canalizar a saída, também podemos obter um efeito bonito de impressão. Aqui está um usando
awk
Usando
egrep
ougrep -e
list_ALL_AVAILABLE_from_repo
Para listar todos os pacotes disponíveis em um repositório especificado, faça:
fonte
repoquery -qa --repoid=REPONAME
repoquery -a --repoid=REPONAME
porque, de acordo com a-q
opção da página de manual, é compatível com rpmquery e não faz nada.-qa
realmente falha. Eu não posso upvote o comentário devido à remoção anteriormente a upvote :( Estou atualizando a resposta para refletir isso.Notas
O comando acima usa DNF para listar os pacotes instalados a partir do
<repoid>
. Notarepo-pkgs
é apenas um alias derepository-packages
.Nas
man
páginas:Leitura adicional:
fonte
A saída de Grepping yum é a maneira mais óbvia:
No entanto, você não pode exibir propriedades extras de pacotes e é difícil analisar com um script. A ferramenta
repoquery
do pacoteyum-utils
é a ferramenta, mas não é instalada por padrão.e um exemplo mais complexo:
fonte
Servidor RHEL 7.5 (Maipo)
yum repo-pkgs <repoid> list installed
pode ser usado para recuperar as mesmas informações deyumdb search from_repo <repoid>
, mas em um formato diferente.epel
Saídas de amostra :fonte
Você pode verificar o
Vendor
cabeçalho dos rpms instalados.Este exemplo lista todos os pacotes do repositório VideoLAN :
Obviamente, você precisa determinar se o
Vendor
cabeçalho do seu repositório é único entre diferentes repositórios.fonte
Para pessoas que só querem encontrar repositórios ausentes:
Isso deve retornar todos os repositórios de onde você tem pacotes instalados.
fonte