Encontrar um arquivo fornecido por rpm é fácil
dnf provides *bin/vim
ou
yum whatprovides *bin/vim
Se você tiver o rpm instalado ou yum..mas suponha que eu queira saber o conteúdo do rpm para o arquivo exato. Por exemplo
grep -ril bin/vim v*
vim-9.0.1572-1.2.ppc64.rpm
Muito fácil
mas quero saber o pacote EXATO que contém bin/sh, como fazer? Usando isso, retorne os pacotes que possuem bin/sh também como dependência. Quero saber o pacote exato que fornece bin/sh como um arquivo.
grep -ril bin/sh v*
v4l-conf-3.107-2.10.ppc64.rpm
vacation-1.2.7.1-13.3.ppc64.rpm
vim-9.0.1572-1.2.ppc64.rpm
virt-what-1.25-1.2.ppc64.rpm
vpnc-0.5.3r550-3.12.ppc64.rpm
vsftpd-3.0.5-10.1.ppc64.rpm
rpm -qf
lhe dirá qual pacote possui um arquivo.por exemplo
Se um pacote não estiver instalado, você poderá ver o conteúdo com,
rpm -qlp
por exemploA partir disso seria simples criar um arquivo de "índice" do conteúdo de todos os rpms em um diretório, e então apenas executar o grep nesse índice.
Um exemplo que veio da minha cabeça:
Observe que tive que procurar por /usr/bin/sh porque /bin é um link simbólico para /usr/bin
O primeiro comando da sua pergunta com qualquer variação
*bin/<file>
fornece exatamente o que você está pedindo:yum
pode ser trocado pordnf
. Isso retorna o pacote, esteja ele instalado ou não.Se for para um arquivo contido em um pacote que está realmente instalado: