Como descobrir a qual pacote determinado comando pertence no CentOS?


19

Por exemplo, posso encontrar facilmente o comando localizar pertence ao pacote mlocate.i386.

yum search locate
mlocate.i386 : An utility for finding files by name
[mirror@home /]$ rpm -qa | grep locate
mlocate-0.15-1.el5.1

yum search updatedb
Loaded plugins: fastestmirror, protectbase
0 packages excluded due to repository protections
=========================================== Matched: updatedb ===========================================
mlocate.i386 : An utility for finding files by name

Mas não é tão fácil encontrar a qual comando o pacote livre pertence:

yum search free   // this command just returns too much informationy 
rpm -qa | grep free
freetype-2.2.1-31.el5_8.1   // obviously not the package by which free command is installed

Existe alguma maneira conveniente de saber a qual pacote um comando específico pertence no Linux? Por exemplo, CentOS ou algumas outras distribuições

Respostas:



24

Exemplo do Ubuntu / Debian para verificar o pacote do freecomando:

dpkg -S $(which free)

isso funciona apenas para pacotes instalados. eu encontrei aqui algo que funciona para pacotes não instalados$ dpkg -S */free$*
bobrobbob

@bobrobbob Receio que isso não esteja correto. Eu testei com o dpkg -S */firefox$*que fornece vários resultados em um servidor com o Firefox instalado, nenhum em um servidor sem o Firefox. Eu acho que não pode funcionar porque dpkgé um comando que opera nos pacotes instalados localmente. Para encontrar pacotes não instalados, você pode ir para packages.ubuntu.com/…
Jeroen Vermeulen - MageHost 2/17

Oh meu. Você está certo, desculpe por isso
bobrobbob

11
Se você receber dpkg-query: no caminho encontrado correspondência de padrão tentar este : dpkg -S "$(readlink -fn "$(which free)")".
Pablo A

7

Para o CentOS, que tal o yum fornece?

Usar

which free 

para descobrir onde fica

Para mim é no

/ usr / bin / grátis

Então você pode correr

yum provides /usr/bin/free

e ele vai te dizer qual pacote tem


Se the commandnão estava instalado ou disponível no seu centos, você poderia usá-lo yum provides <command>, porque which <command>retornaránot <command> in ...
Lane Ouyang

1

Para todas as distribuições baseadas em red hat, você pode usar o utilitário de gerenciamento de pacotes yum

yum provides `which free`

O argumento Fornece especifica qual pacote fornece determinado recurso ou arquivo.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.