Laden Sie RPM-Pakete für den bereits installierten Befehl herunter

Laden Sie RPM-Pakete für den bereits installierten Befehl herunter

Ich habe eine CentOS-Maschine, auf der ich bereits openssl-devel installiert habe mit

$ yum install openssl-devel 

Es hat alle Abhängigkeitspakete heruntergeladen und installiert. Jetzt brauche ich alle diese RPM-Pakete. Ist es möglich, nur die RPM-Pakete herunterzuladen? Wenn ich das mache:

 $ yum install  openssl-devel -y --downloadonly 

Es sagt

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

da es bereits installiert ist.

Weiß jemand, wie man diese RPM-Pakete auf dasselbe System herunterlädt?

Antwort1

Es ist möglich, die Pakete eines RPM herunterzuladen, das mit dem --downloadonlySchalter bereits installiert ist. Ich bin nicht sicher, warum yum diese Einstellung nicht überprüft, bevor es prüft, ob das Paket bereits installiert ist, aber ich vermute, dass es an der zugrunde liegenden Architektur des Tools liegen könnte.

Wie dem auch sei, alles was Sie tun müssen, ist yum zu sagen,Neuinstallationdas Paket:

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

Natürlich weiß yum nicht, welche Abhängigkeiten nur für dieses Paket installiert wurden. Wenn Sie also die RPMs nehmen und versuchen, sie auf einem anderen System zu installieren, fehlen möglicherweise einige Abhängigkeiten. Es gibt Möglichkeiten, den gesamten Abhängigkeitsgraphen zu untersuchen, und ich bin sicher, dass dies bereits an anderer Stelle auf SE beschrieben wurde.

Antwort2

yumdownloaderin yum-utilslädt alle Pakete herunter, die Sie ihm übergeben, oder generiert optional die URLs, von denen die Pakete heruntergeladen werden können.

Antwort3

Du kannst den ... benutzenrepotrackBefehl aus dem yum-utils-Paket. Es lädt den gesamten Abhängigkeitsbaum herunter -auch wenn es bereits installiert ist.

Beispiel:

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


Beispielausgabe:

[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

Antwort4

Ich gehe folgendermaßen vor:

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

verwandte Informationen