Как проверить доступные версии пакетов в системах rpm?


59

Если я хочу проверить доступные версии пакета в Debian, я запускаю, apt-cache policy pkgnameкоторый в случае wajigдает:

wajig:
  Installed: 2.01
  Candidate: 2.01
  Version table:
 *** 2.01 0
        100 /var/lib/dpkg/status
     2.0.47 0
        500 file:/home/wena/.repo_bin/ squeeze/main i386 Packages
        500 ftp://ftp.is.co.za/debian/ squeeze/main i386 Packages

Это означает, что существует три пакета wajig, один из которых установлен ( /var/lib/dpkg/status) и два других (которые имеют одинаковую версию). Один из этих двух находится в локальном хранилище, а другой доступен из удаленного хранилища.

Как мне добиться аналогичного результата в системах rpm?

Ответы:


77

yum For RHEL / Fedora / Centos / Научный Linux

Предоставляет команду listдля отображения информации об установленных и обновляемых (и более старых) пакетах.

yum --showduplicates list <package>

zypper для SuSE Linux

Может вернуть подробный список доступных и установленных пакетов или патчей.

zypper search -s <package>

Добавление --exact-matchможет помочь, если есть несколько пакетов.

В качестве побочного сведению, здесь приводится сравнение команд управления пакетами.


7
Вы должны также добавить --showduplicatesк , yumесли вы хотите , чтобы увидеть все доступные версии, а не только последний.
Стив Шипвей

опция --exact-match не доступна ни для yum, ни для zypper ...
Крис Мэйс

15

Вы можете использовать, rpm -qi <package name>чтобы иметь всю информацию об установленном пакете. Вы также можете использовать следующие команды:

yum info <package name>
yum list <package name>
yum --showduplicates list <package name>

2
Все кроме последнего там просто отображают информацию об "установленной" версии FWIW. Но --showduplicatesодин работает, спасибо!
rogerdpack

5

Другие ответы касаются того, как получить информацию об установленных пакетах в системе. Чтобы добавить к этому, также можно запросить репозиторий yum о доступных еще не установленных пакетах в дополнение к pkcon searchкоманде из PackageKit, например

$ pkcon search name xz
Searching by name             [=========================]         
Starting                      [=========================]         
Querying                      [=========================]         
Available       pxz-4.999.9-2.beta.20100608git.fc15.i686        Parallel LZMA compressor using XZ
Installed       xz-5.0.3-1.fc15.i686                            LZMA compression utilities
Available       xz-compat-libs-5.0.1-2.fc15.i686                Compatibility libraries for decoding LZMA compression
Available       xz-compat-libs-5.0.3-1.fc15.i686                Compatibility libraries for decoding LZMA compression
Installed       xz-debuginfo-5.0.3-1.fc15.i686                  Debug information for package xz
Installed       xz-devel-5.0.3-1.fc15.i686                      Devel libraries & headers for liblzma
Installed       xz-libs-5.0.3-1.fc15.i686                       Libraries for decoding LZMA compression
Installed       xz-lzma-compat-5.0.3-1.fc15.i686                Older LZMA format compatibility binaries
Installed       xzgv-0.9.1-3.fc15.i686                          Picture viewer
$

Я предполагаю, что PackageKit написан универсально, так что он работает и с apt-репозиториями, хотя у меня есть только опыт использования его в моих системах Fedora.


3

Чтобы запросить доступные пакеты, вы можете сделать urpmq --sources YOURPACKAGE это для Mandriva (я знаю только Mandriva).

Если вы хотите узнать версию установленного пакета: rpm -q YOURPACKAGE это работает во всех системах RPM.

На RedHat / Fedora, см. Ням.


3

Выполнение приведенных ниже команд выдаст вам все установленные пакеты на сервере.

rpm -qa | grep <packagename>

Другие команды rpm перечислены здесь

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.