GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo indicar a Yum que instale una versión específica del paquete X?

Si hay dos (o más) versiones de un RPM dado disponible en un repositorio de YUM, ¿cómo puedo instruir a yum? instalar la versión que quiero?

Mirando a través del servicio de compilación de Koji, noto que hay varias versiones.

Respuesta aceptada:

Para ver qué versiones particulares están disponibles para usted a través de yum puedes usar --showduplicates cambiar . Te da una lista como "nombre del paquete.arquitectura     versión":

$ yum --showduplicates list httpd | expand
Loaded plugins: fastestmirror, langpacks, refresh-packagekit
Loading mirror speeds from cached hostfile
 * fedora: mirror.steadfast.net

Available Packages
httpd.x86_64                        2.4.6-6.fc20                         fedora 
httpd.x86_64                        2.4.10-1.fc20                        updates

En cuanto a la instalación de una versión en particular? Puede agregar la información de la versión al nombre del paquete, eliminando el nombre de la arquitectura, así:

$ sudo yum install <package name>-<version info>

Por ejemplo, en este caso, si quisiera instalar la versión anterior, 2.4.6-6, haría lo siguiente:

$ sudo yum install httpd-2.4.6-6

También puede incluir la información de lanzamiento al especificar un paquete. En este caso, dado que estoy tratando con Fedora 20 (F20), la información de la versión sería "fc20" y la información de la arquitectura también.

$ sudo yum install httpd-2.4.6-6.fc20
$ sudo yum install httpd-2.4.6-6.fc20.x86_64

repoquería

Si alguna vez no está seguro de estar construyendo los argumentos correctamente, puede consultar con repoquery también.

$ sudo yum install yum-utils  # (to get `repoquery`)
$ repoquery --show-duplicates httpd-2.4*
httpd-0:2.4.6-6.fc20.x86_64
httpd-0:2.4.10-1.fc20.x86_64

descarga e instalación

También puede usar una de las siguientes opciones para descargar un RPM en particular de la web y luego usar yum para instalarlo.

$ yum --downloadonly <package>
-or-
$ yumdownloader <package>

Y luego instálalo así:

$ sudo yum localinstall <path to rpm>

¿Qué pasa si quiero descargar todo lo que requiere el paquete X?

$ yumdownloader --resolve <package>

Ejemplo

$ yumdownloader --resolve vim-X11
Loaded plugins: langpacks, presto, refresh-packagekit
Adding en_US to language list
--> Running transaction check
---> Package vim-X11.x86_64 2:7.3.315-1.fc14 set to be reinstalled
--> Finished Dependency Resolution
vim-X11-7.3.315-1.fc14.x86_64.rpm                              | 1.1 MB     00:01

Observe que está haciendo una verificación de dependencia y luego descargando las piezas faltantes. Vea mi respuesta que lo cubre con más detalles aquí:¿Cómo descargar un archivo del repositorio e instalarlo más tarde sin conexión a Internet?

Referencias

  • Obtenga yum para instalar una versión específica del paquete

Linux
  1. Cómo instalar una versión específica del paquete usando YUM

  2. Cómo instalar y usar Yarn Package Manager en Linux

  3. Cómo instalar y administrar software en CentOS 7

  4. CentOS/RHEL:Cómo instalar una versión específica del paquete rpm usando YUM

  5. ¿Cómo puedo vincular a una versión específica de glibc?

Cómo instalar YUM en RHEL 8 / CentOS 8

Cómo instalar una versión específica del kernel en CentOS

Cómo instalar una versión específica del paquete en Ubuntu y Debian

¿Cómo instalar una versión anterior del paquete como Liquid 2.2.2?

Cómo instalar Yarn en Ubuntu 18.04

¿Cómo instalar MongoDB versión 4.0 en Centos 7?