Come trovare a quale pacchetto appartiene un determinato comando su CentOS?


19

Ad esempio, posso facilmente trovare il comando Locate appartiene al pacchetto 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

Ma non è così facile trovare quale comando pacchetto libero appartiene a:

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

Quindi esiste un modo conveniente per sapere a quale pacchetto appartiene un comando specifico su Linux? Ad esempio CentOS o alcune altre distribuzioni

Risposte:



24

Esempio di Ubuntu / Debian per controllare il pacchetto del freecomando:

dpkg -S $(which free)

funziona solo per i pacchetti installati. ho trovato qui qualcosa che funziona con i pacchetti non installati$ dpkg -S */free$*
bobrobbob,

@bobrobbob Temo che non sia corretto. Ho provato con il dpkg -S */firefox$*quale fornisce più risultati su un server su cui è installato Firefox, nessuno su un server senza Firefox. Penso che non possa funzionare perché dpkgè un comando che opera sui pacchetti installati localmente. Per trovare i pacchetti non installati si può andare a packages.ubuntu.com/...
Jeroen Vermeulen - MageHost

Oh mio. hai ragione, scusa per quello
bobrobbob

1
Se si ottiene dpkg-query: nessun percorso trovato pattern matching provare questo : dpkg -S "$(readlink -fn "$(which free)")".
Pablo A

7

Per CentOS, che ne dici di yum?

Uso

which free 

per scoprire dove si trova

Per me è a

/ Usr / bin / gratuito

Quindi puoi correre

yum provides /usr/bin/free

e ti dirà quale pacchetto ha


Se the commandnon è stato installato o disponibile nei tuoi centos, potresti usare yum provides <command>, perché which <command>tornerànot <command> in ...
Lane Ouyang

1

Per tutte le distribuzioni basate su cappello rosso è possibile utilizzare l'utilità di gestione dei pacchetti yum

yum provides `which free`

fornisce argomento specifica quale pacchetto fornisce determinate funzionalità o file.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.