2011-01-05 10 views
57

Chcę wyświetlić listę wszystkich pakietów, które zainstalowałem w systemie z danego repo, używając yum. Zwykle w tym celu używam yum list installed | grep "something". Ale teraz mam do czynienia z problemem. Repo, które mnie interesuje, nie ma tego "czegoś", abym mógł pomknąć. Pakiety z tego repozytorium nie mają żadnych charakterystycznych cech. Jak je wymienić?Jak wyświetlić listę zainstalowanych pakietów z danego repo używając yum

Przeglądałem strony man, ale niczego nie znalazłem. Zastanawiam się, czy są inne polecenia, których mógłbym użyć.

+0

co z 'rpm -qa'? –

+5

to powinno zostać przeniesione na Unix i Linux, to przyzwoite pytanie. – fedvasu

+1

Unix Exchange ma już [pytanie] (http://unix.stackexchange.com/questions/22560/list-all-rpm-packages-installed-from-repo-x), które jest bardzo podobne, jeśli nie to samo. @fedvasu, zgadzam się; tylko błędne forum, ale dobre pytanie, aczkolwiek z prostą odpowiedzią: D –

Odpowiedz

35

W nowszych wersjach yum informacje te są przechowywane w "yumdb" podczas instalacji pakietu. Jest to jedyny w 100% dokładny sposób, aby uzyskać informacje, można użyć:

yumdb search from_repo repoid 

(lub repoquery i grep - nie grep wyjście yum). Jednak Komenda "Find-repo-of-install" był częścią yum-utils, który przez jakiś czas zrobił najlepsze przypuszczenie bez tej informacji:

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

Jak Floyd powiedział, wiele repo. zawierają unikalny znacznik "dist" w swoim wydaniu, i możesz poszukać tego ... jednak z tego, co powiedziałeś, myślę, że tak nie jest w twoim przypadku?

+2

Przeprowadzając badania, wydaje się, że yumdb jest nowy w RHEL 6 (i CentOS 6) - więc nie jest dostępny w starszych wersjach. –

+0

Dziękuję za to; * * * * Musiałbym mieć teraz rpm/mum sposób: D –

+2

Perfect. Tylko jedna rzecz, aby uzyskać yumdb na Cent OS 6, zainstaluj ją za pomocą yum install yum-utils –

62

Spróbuj

yum list installed | grep reponame

Na jednym z moich serwerów:

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 

To działa.

+6

Niestety działa to tylko dla repozytoriów, które dodają coś takiego jak "remi" na końcu. rpmforge działa (używają "rf"), ale atrpms nie umieszcza niczego na końcu:/ –

+3

Ponadto, ponownie czytając pytanie, mówi, że zwykle to robi, ale nie może w tym przypadku. –

+0

Kolejny problem: jeśli nazwa pakietu/ciągi wersji są zbyt długie (np. Solr z Cloudera), część "@ origin-repo" zostanie przesunięta do nowej linii, w wyniku czego pojawi się wiersz "[puste miejsce] @ origin- repo ". – IBBoard

Powiązane problemy