No Arch Linux, como posso descobrir qual pacote instalar que conterá o arquivo X?

92

Estou procurando um pacote que forneça um binário específico, para que eu possa instalá-lo. como posso pesquisar para descobrir quais pacotes fornecem esse binário? (nota: sei que há pelo menos uma ferramenta que faz isso, mas esqueci o nome.)

xenoterracida
fonte
Além disso, o binário que eu estou procurando é /usr/sbin/ipsetse alguém quiser me informar sobre o pacote que o fornece, mesmo que não saiba a resposta para a pergunta.
Xenoterracide
A resposta de Gilles é a correta. Em relação ipset, eu só foi capaz de encontrá-lo em AUR aur.archlinux.org/packages.php?ID=16553
jasonwryan

Respostas:

118

Desde o pacman 5.0, existe uma funcionalidade integrada para pesquisar no banco de dados com a -Fopção Primeiro atualize o banco de dados:

sudo pacman -Fy

Então você pode ver qual pacote contém $filenamecom

pacman -Fs $filename

ou

pacman -Fos $path

para procurar um caminho completo.

Como você sabia que estava procurando um equivalente apt-file, poderia ter procurado no Pacman Rosetta .

Como alternativa, você pode usar o pkgfile . Instale-o pacman -S pkgfilee execute

sudo pkgfile -u

para atualizar o banco de dados. Para ver qual pacote contém $filename, execute

pkgfile $filename
Gilles
fonte
1
Obrigado pela pedra Rosetta! Vou usá-lo para distribuições rpm e também para pacman.
21418 jpaugh
3
Vale ressaltar que as pacman -Fspesquisas por nome de base, se você deseja pesquisar o uso do caminho completo pacman -Fos. Exemplo: pacman -Fs /usr/bin/mount.cifsretorna nada, enquanto que pacman -Fs mount.cifscorretamente retorna CIFS-utils como fazpacman -Fos /usr/bin/mount.cifs
Dev
27

a maneira do google:

site:www.archlinux.org/packages/ bin/filename

e caso esteja no AUR em vez de em um pacote oficial:

site:aur.archlinux.org/packages/ bin/filename
eshizhan
fonte
Nada mal.
ychaouche
Ótima dica, isso parece produzir bons resultados. Eu criei um "motor de busca" no Chrome com este URL: https://www.google.com/search?q=site%3Awww.archlinux.org%2Fpackages%2F+%s.
Borek Bernard
22

Do ArchWiki :

$ pacman -Qo df

Isso produzirá o pacote proprietário do programa df(no momento da redação deste documento coreutils).

-Qo opera apenas em pacotes instalados e seus programas.

Você pode ver mais argumentos na consulta de bancos de dados de pacotes .

amiad
fonte
4
Isso apenas informa qual pacote possui um arquivo, não informa o que você precisa instalar para obtê-lo.
David C. Bishop
@ DavidC.Bishop Isso não é a mesma coisa?
213 Victor Victor
6
@ Victor Não, o pacote já deve estar instalado no sistema para consultá-lo.
David C. Bishop
@ DavidC.Bishop Ah, entendi, você quis dizer "qual pacote instalado possui um arquivo". Obrigado!
213 Victor Victor
1
Edite sua postagem para refletir o que foi discutido nos comentários.
Pompei2