Descargue paquetes RPM para el comando que ya está instalado

Descargue paquetes RPM para el comando que ya está instalado

Tengo una máquina CentOS en la que ya instalé openssl-devel usando

$ yum install openssl-devel 

Descargó e instaló todos los paquetes de dependencia. Ahora necesito todos esos paquetes RPM. ¿Es posible descargar sólo los paquetes RPM? Cuando hago esto:

 $ yum install  openssl-devel -y --downloadonly 

Dice

Package 1:openssl-devel-1.0.1e-4.fc18.x86_64 already installed and latest version

ya que ya está instalado.

¿Alguien sabe cómo descargar esos paquetes RPM en el mismo sistema?

Respuesta1

Es posible descargar los paquetes de un RPM que ya está instalado utilizando el --downloadonlyconmutador. No estoy seguro de por qué yum no verifica esta configuración antes de verificar si el paquete ya está instalado, pero supongo que podría deberse a la arquitectura subyacente de la herramienta.

De todos modos, todo lo que necesitas hacer es decirle a Yum quereinstalarel paquete:

yum --downloadonly --downloaddir=/tmp/rpm_files/ reinstall package_name

Por supuesto, yum no sabrá qué dependencias se instalaron solo para este paquete, por lo que si toma los RPM e intenta instalarlos en un sistema diferente, es posible que falten algunas dependencias. Hay formas de explorar todo el gráfico de dependencia y estoy seguro de que esto ya se describió en otra parte de SE.

Respuesta2

yumdownloaderin yum-utilsdescargará cualquier paquete que le pase u, opcionalmente, generará las URL desde las que se pueden descargar los paquetes.

Respuesta3

Puedes usar elrepotrackcomando del paquete yum-utils. Descargará todo el árbol de dependencias.incluso si ya está instalado.

Ejemplo:

sudo yum install yum-utils      # Install yum-utils
sudo repotrack openssl-devel    # Download all dependencies for openssl-devel


Salida de muestra:

[sbadra@rhel6 ~]$ sudo yum install openssl-devel
Loaded plugins: product-id, search-disabled-repos, subscription-manager
Setting up Install Process
Package openssl-devel-1.0.1e-57.el6.x86_64 already installed and latest version
Nothing to do

[sbadra@rhel6 ~]$ sudo repotrack openssl-devel
Downloading audit-libs-2.4.5-6.el6.x86_64.rpm
Downloading audit-libs-2.4.5-6.el6.i686.rpm
Downloading basesystem-10.0-4.el6.noarch.rpm
Downloading bash-4.1.2-48.el6.x86_64.rpm
Downloading ca-certificates-2017.2.14-65.0.1.el6_9.noarch.rpm
Downloading chkconfig-1.3.49.5-1.el6.x86_64.rpm
Downloading coreutils-8.4-46.el6.x86_64.rpm
Downloading coreutils-libs-8.4-46.el6.x86_64.rpm
.... more packages ....
Downloading openssl-1.0.1e-57.el6.i686.rpm
Downloading openssl-1.0.1e-57.el6.x86_64.rpm
Downloading openssl-devel-1.0.1e-57.el6.i686.rpm
Downloading openssl-devel-1.0.1e-57.el6.x86_64.rpm
.... more packages ....
Downloading sed-4.2.1-10.el6.x86_64.rpm
Downloading setup-2.8.14-23.el6.noarch.rpm
Downloading tzdata-2018c-1.el6.noarch.rpm
Downloading zlib-1.2.3-29.el6.x86_64.rpm
Downloading zlib-1.2.3-29.el6.i686.rpm
Downloading zlib-devel-1.2.3-29.el6.i686.rpm
Downloading zlib-devel-1.2.3-29.el6.x86_64.rpm

Respuesta4

Esto es lo que hago:

sudo yum install --config=./yum.conf 
  --installroot=/tmp/f541Sdex 
  --downloadonly 
  --downloaddir /tmp/DL-e25xds 
  $(cat list-of-packages)

información relacionada