Baixe pacotes RPM para comando que já está instalado

Baixe pacotes RPM para comando que já está instalado

Eu tenho uma máquina CentOS na qual já instalei o openssl-devel usando

$ yum install openssl-devel 

Ele baixou e instalou todos os pacotes de dependências. Agora preciso de todos esses pacotes RPM. É possível baixar apenas os pacotes RPM? Quando eu faço isso:

 $ yum install  openssl-devel -y --downloadonly 

Diz

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

já que já está instalado.

Alguém sabe como baixar esses pacotes RPM no mesmo sistema?

Responder1

É possível baixar os pacotes de um RPM que já está instalado através do --downloadonlyswitch. Não sei por que o yum não verifica essa configuração antes de verificar se o pacote já está instalado, mas acho que isso pode ser causado pela arquitetura subjacente da ferramenta.

De qualquer forma, tudo que você precisa fazer é dizer ao yum parareinstalaro pacote:

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

Claro, o yum não saberá quais dependências foram instaladas apenas para este pacote, então se você pegar os RPMs e tentar instalá-los em um sistema diferente, algumas dependências podem estar faltando. Existem maneiras de explorar todo o gráfico de dependência e tenho certeza que isso já foi descrito em outro lugar no SE.

Responder2

yumdownloaderin yum-utilsirá baixar todos os pacotes que você passar para ele ou, opcionalmente, gerar os URLs dos quais os pacotes podem ser baixados.

Responder3

Você pode usar orepotrackcomando do pacote yum-utils. Ele fará o download de toda a árvore de dependências -mesmo que já esteja instalado.

Exemplo:

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


Exemplo de saída:

[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

Responder4

Aqui está o que eu faço:

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

informação relacionada