Como posso pesquisar todos os nomes de arquivos de todos os pacotes em um determinado repositório no Fedora?

Como posso pesquisar todos os nomes de arquivos de todos os pacotes em um determinado repositório no Fedora?

Existe uma maneira de pesquisar nomes de arquivos (não conteúdos de arquivos) para pacotes em um repositório Fedora? Isso seria semelhante a rpm -ql [package] | grep termtodos os pacotes do repositório, exceto que seria melhor poder emitir o comando sem o pacote instalado, porque desejo pesquisar em vários milhares de listas de arquivos de pacotes. A pergunta que estou tentando responder é:

Quais pacotes no repositório X enviam o arquivo Y?

O nome deve ser suficiente porque não preciso de um hash exato.

Responder1

Com dnf:

dnf repoquery --disablerepo=* --enablerepo=X -f Y

Com yum:

yum -y install yum-utils
repoquery --disablerepo=* --enablerepo=X -f Y

Curingas são suportados para Y.

Exemplos:

dnf repoquery --disablerepo=* --enablerepo=rhel-8-for-x86_64-baseos-rpms -f /usr/bin/zip
dnf repoquery --disablerepo=* --enablerepo=rhel-8-for-x86_64-baseos-rpms -f /usr/bin/zi*

Você também pode simplesmente yum provides Y(ou dnf provides Y), mas isso incluirá pacotes instalados, apesar --disablerepoda mudança, em alguns sistemas.

Dica bônus

Você pode instalar diretamente o pacote que requer um nome de arquivo específico, simplesmente passando-o para yumou dnf. Sim, isso funciona e é bastante fácil:

yum install /usr/bin/zip

informação relacionada