¿Cómo verificar las versiones de paquetes disponibles en sistemas rpm?

59

Si quiero verificar las versiones disponibles de un paquete en Debian, ejecuto lo apt-cache policy pkgnameque en el caso de wajigda:

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

Eso significa que hay tres paquetes wajig, uno que está instalado ( /var/lib/dpkg/status) y otros dos (que son la misma versión). Uno de estos dos está en un repositorio local y el otro está disponible desde un repositorio remoto.

¿Cómo logro un resultado similar en los sistemas rpm?

tshepang
fuente

Respuestas:

77

yum para RHEL / Fedora / Centos / Scientific Linux

Proporciona el comando listpara mostrar información sobre paquetes instalados y actualizables (y anteriores).

yum --showduplicates list <package>

zypper para SuSE Linux

Puede devolver una lista detallada de paquetes o parches disponibles e instalados.

zypper search -s <package>

Agregar --exact-matchpuede ayudar, si hay varios paquetes.

Como nota al margen, aquí hay una comparación de los comandos de gestión de paquetes.

meneo
fuente
77
También debe agregar --showduplicatesa yumsi desea ver TODAS las versiones disponibles, no solo la última.
Steve Shipway
la opción --exact-match no parece estar disponible para ñam ni para zypper ...
Chris Maes
15

Puede utilizar rpm -qi <package name>para tener toda la información del paquete instalado. También puede usar los siguientes comandos:

yum info <package name>
yum list <package name>
yum --showduplicates list <package name>
Moshtagh
fuente
2
Todos, excepto el último, solo muestran información sobre la versión "instalada" FWIW. Pero el --showduplicatesuno funciona, gracias!
rogerdpack
5

Las otras respuestas abordan cómo obtener información sobre los paquetes instalados en el sistema. Para agregar a eso, también es posible consultar el repositorio de yum sobre los paquetes disponibles aún no instalados, además del pkcon searchcomando de PackageKit, por ejemplo

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

Supongo que PackageKit está escrito genérico para que también funcione con repositorios aptos, aunque solo tengo experiencia en usarlo en mis sistemas Fedora.

hlovdal
fuente
3

Para consultar los paquetes disponibles, puede hacer urpmq --sources YOURPACKAGE Esto es específico de Mandriva (solo conozco a Mandriva).

Si desea conocer la versión de un paquete instalado: rpm -q YOURPACKAGE esto funciona en todos los sistemas RPM.

En RedHat / Fedora, vea yum.

ofaurax
fuente
3

La ejecución de los siguientes comandos le proporcionará todos los paquetes instalados en el servidor.

rpm -qa | grep <packagename>

Más comandos rpm se enumeran aquí

ronak
fuente