Consulte o rpmdb.
rpm -qf $(which free)
Por exemplo, eu posso encontrar facilmente o comando locate 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 descobrir qual comando de 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
Então, há alguma maneira convincente de saber a qual pacote um comando específico pertence ao Linux? Por exemplo, CentOS ou algumas outras distribuições
Ubuntu / Debian:
dpkg -S $(which free)
Para o CentOS, que tal o yum fornece?
Use
which free
para descobrir onde está
Para mim, é
/ usr / bin / free
Então você pode correr
yum provides /usr/bin/free
e lhe dirá qual pacote tem
Para todas as distribuições baseadas em red hat, você pode usar o utilitário de gerenciamento de pacotes yum
yum provides 'which free'
fornece argumento especifica qual pacote fornece determinado recurso ou arquivo.