2011-01-05 12 views
57

Voglio elencare tutti i pacchetti che ho installato su un sistema da un repository dato usando yum. Di solito per farlo uso yum list installed | grep "something". Ma ora mi trovo di fronte a un problema. Il repo a cui sono interessato non ha quel "qualcosa" per me di grep. I pacchetti da quel pronti contro termine non hanno alcuna caratteristica distintiva. Come li elenco?Come elencare i pacchetti installati da un dato repository usando yum

Ho guardato attraverso le pagine man di yum ma non ho trovato nulla. Mi chiedo se ci sono altri comandi che potrei usare.

+0

e che significa 'rpm -qa'? –

+5

questo dovrebbe essere migrato a Unix e Linux, questa è una domanda decente. – fedvasu

+1

Unix Exchange ha già [una domanda] (http://unix.stackexchange.com/questions/22560/list-all-rpm-packages-installed-from-repo-x) che è molto simile, se non uguale. @fedvasu, sono d'accordo; solo forum sbagliato, ma bella domanda, anche se con una semplice risposta: D –

risposta

35

Nelle versioni più recenti di yum, questa informazione viene memorizzata in "yumdb" quando il pacchetto è installato. Questo è l'unico al 100% modo preciso per ottenere le informazioni, ed è possibile utilizzare:

yumdb search from_repo repoid 

(o repoquery e grep - non grep yum uscita). Tuttavia il comando "Find-repos-di-install" faceva parte di yum-utils per un po ', che ha fatto la migliore ipotesi, senza che le informazioni:

http://james.fedorapeople.org/yum/commands/find-repos-of-install.py

Come ha detto Floyd, un sacco di pronti contro termine. includi un tag "dist" nel loro rilascio, e puoi cercarlo ... comunque da quello che hai detto, immagino che non sia il tuo caso?

+2

Facendo qualche ricerca, sembra che yumdb sia nuovo in RHEL 6 (e CentOS 6) - quindi non è disponibile nelle versioni precedenti. –

+0

Grazie per questo; Sapevo * ci sarebbe dovuto essere un modo rpm/yum per farlo ora: D –

+2

Perfetto. Solo una cosa, per ottenere yumdb su Cent OS 6 installarlo con yum install yum-utils –

62

Prova

yum list installed | grep reponame

Su uno dei miei assistenti:

yum list installed | grep remi 
ImageMagick2.x86_64      6.6.5.10-1.el5.remi   installed 
memcache.x86_64       1.4.5-2.el5.remi    installed 
mysql.x86_64        5.1.54-1.el5.remi   installed 
mysql-devel.x86_64      5.1.54-1.el5.remi   installed 
mysql-libs.x86_64       5.1.54-1.el5.remi   installed 
mysql-server.x86_64      5.1.54-1.el5.remi   installed 
mysqlclient15.x86_64      5.0.67-1.el5.remi   installed 
php.x86_64        5.3.5-1.el5.remi    installed 
php-cli.x86_64       5.3.5-1.el5.remi    installed 
php-common.x86_64       5.3.5-1.el5.remi    installed 
php-domxml-php4-php5.noarch    1.21.2-1.el5.remi   installed 
php-fpm.x86_64       5.3.5-1.el5.remi    installed 
php-gd.x86_64        5.3.5-1.el5.remi    installed 
php-mbstring.x86_64      5.3.5-1.el5.remi    installed 
php-mcrypt.x86_64       5.3.5-1.el5.remi    installed 
php-mysql.x86_64       5.3.5-1.el5.remi    installed 
php-pdo.x86_64       5.3.5-1.el5.remi    installed 
php-pear.noarch       1:1.9.1-6.el5.remi   installed 
php-pecl-apc.x86_64      3.1.6-1.el5.remi    installed 
php-pecl-imagick.x86_64     3.0.1-1.el5.remi.1   installed 
php-pecl-memcache.x86_64     3.0.5-1.el5.remi    installed 
php-pecl-xdebug.x86_64     2.1.0-1.el5.remi    installed 
php-soap.x86_64       5.3.5-1.el5.remi    installed 
php-xml.x86_64       5.3.5-1.el5.remi    installed 
remi-release.noarch      5-8.el5.remi     installed 

Funziona.

+6

Sfortunatamente questo funziona solo per i repository che aggiungono qualcosa come "remi" alla fine. rpmforge funziona (usano "rf") ma gli atrpms non mettono nulla alla fine:/ –

+3

Inoltre, rileggendo la domanda, dice che normalmente lo fa, ma non può in questo caso. –

+0

Un altro problema: se i nomi dei pacchetti/le stringhe di versione sono troppo lunghi (es. Solr da Cloudera), la parte "@ origine-repo" viene spostata in basso su una nuova riga, risultando in una riga che è "[spazio vuoto] @ origine- pronti contro termine". – IBBoard

Problemi correlati