A qual pacote Fedora pertence um arquivo específico?

69

Na família de sistemas operacionais Debian, dpkg --search /bin/lsfornece:

coreutils: /bin/ls

Ou seja, o arquivo /bin/lspertence ao pacote Debian chamado coreutils . (veja esta postagem se você estiver interessado em um pacote que contém um arquivo que não está instalado)

Qual é o equivalente do Fedora?

tshepang
fonte

Respostas:

85

Você pode usar rpm -qf /bin/lspara descobrir a qual pacote sua versão instalada pertence:

[09:46:58] ~ $ rpm -qf /bin/ls
coreutils-8.5-7.fc14.i686
[09:47:01] ~ $ 

Atualização: De acordo com o seu comentário, o seguinte deve funcionar se você quiser apenas o nome do pacote (eu só tive a chance de testar):

[01:52:49] ~ $ rpm -qf /bin/ls --queryformat '%{NAME}\n'
coreutils
[01:52:52] ~ $ 

Você também pode usar dnf provides /bin/lspara obter uma lista de todos os pacotes de repositório disponíveis que fornecerão o arquivo:

# dnf provides /bin/ls
Last metadata expiration check: 0:17:06 ago on Tue Jun 27 18:04:08 2017.
coreutils-8.25-17.fc25.x86_64 : A set of basic GNU tools commonly used in shell scripts
Repo        : @System

coreutils-8.25-17.fc25.x86_64 : A set of basic GNU tools commonly used in shell scripts
Repo        : updates

coreutils-8.25-14.fc25.x86_64 : A set of basic GNU tools commonly used in shell scripts
Repo        : fedora
eldarerathis
fonte
Existe uma maneira de o rpm exibir os proprietários de um arquivo sem fornecer um caminho completo? Você quer adicionar uma nota para esse efeito?
tshepang
@Tshepang: Eu acho que você deve poder adicionar --queryformat '%{NAME}'isso, mas eu mesmo não testei. No entanto, posso fazer um teste rápido e atualizá-lo depois do trabalho. Enquanto isso, você pode encontrar a informação aqui útil: rpm.org/max-rpm/s1-rpm-query-parts.html
eldarerathis
Só queria acrescentar que o OpenSuSE's zyppertem um what-providesrecurso que realiza essa tarefa. Essa pergunta surge primeiro ao fazer uma pesquisa; portanto, seria útil ter essa resposta, mesmo que a pergunta seja específica.
precisa
2
Para fedora 22 "DNV oferece filename" também funciona
Trismegistos