Como verificar as versões de pacotes disponíveis nos sistemas rpm?

58

Se eu quiser verificar versões de um pacote no Debian, eu corro apt-cache policy pkgnameo que no caso de wajigdá:

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

Isso significa que existem três pacotes wajig, um que está instalado ( /var/lib/dpkg/status) e dois outros (que são da mesma versão). Um desses dois está em um repositório local e o outro está disponível em um repositório remoto.

Como obtenho um resultado semelhante em sistemas de rpm?

tshepang
fonte

Respostas:

76

yum Para RHEL / Fedora / Centos / Scientific Linux

Fornece o comando listpara exibir informações sobre pacotes instalados e atualizáveis ​​(e mais antigos).

yum --showduplicates list <package>

zypper para SuSE Linux

Pode retornar uma lista detalhada de pacotes ou patches disponíveis e instalados.

zypper search -s <package>

A adição --exact-matchpode ajudar, se houver vários pacotes.

Como uma observação lateral, aqui está uma comparação dos comandos de gerenciamento de pacotes.

abanar
fonte
7
Você também deve adicionar --showduplicatespara yumse você quiser ver todas as versões disponíveis, não apenas o mais recente.
precisa saber é o seguinte
a opção --exact-match não parece estar disponível para yum nem para zypper ...
Chris Maes
15

Você pode usar rpm -qi <package name>para ter todas as informações do pacote instalado. Você também pode usar os comandos abaixo:

yum info <package name>
yum list <package name>
yum --showduplicates list <package name>
moshtagh
fonte
2
Todos, exceto o último, apenas exibem informações sobre a versão "instalada" do FWIW. Mas o --showduplicatesque funciona, obrigado!
Rogerdpack
5

As outras respostas abordam como obter informações sobre os pacotes instalados no sistema. Para adicionar isso, também é possível consultar o repositório yum sobre pacotes disponíveis ainda não instalados, além do pkcon searchcomando do PackageKit, por exemplo

$ 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
$

Eu suponho que o PackageKit seja escrito genérico para que funcione também com repositórios apt, embora eu tenha apenas experiência em usá-lo nos meus sistemas Fedora.

hlovdal
fonte
3

Para consultar os pacotes disponíveis, você pode fazer urpmq --sources YOURPACKAGE Isso é específico do Mandriva (eu conheço apenas o Mandriva).

Se você deseja conhecer a versão de um pacote instalado: rpm -q YOURPACKAGE Isso funciona em todos os sistemas RPM.

No RedHat / Fedora, veja yum.

ofaurax
fonte
3

A execução dos comandos abaixo fornece todos os pacotes instalados no servidor.

rpm -qa | grep <packagename>

Mais comandos rpm estão listados aqui

ronak
fonte