Hier ist ein spezielles Beispiel, in dem "httpd" als Paket zum Herunterladen und Installieren verwendet wird. Dieser Prozess wurde sowohl auf CentOS6 als auch auf CentOS7 getestet.
Installieren Sie das benötigte Material und erstellen Sie einen Speicherort für die heruntergeladenen RPMs:
# yum install yum-plugin-downloadonly yum-utils createrepo
# mkdir /var/tmp/httpd
# mkdir /var/tmp/httpd-installroot
Laden Sie die RPMs herunter. Hierbei wird der hier vorgeschlagene Trick installroot verwendet , um einen vollständigen Download aller Abhängigkeiten zu erzwingen, da in diesem leeren Stammverzeichnis nichts installiert ist. Yum wird dort einige Metadaten erstellen, aber wir werden alles wegwerfen. Beachten Sie, dass für CentOS7 releasever
"7" wäre.
# yum install --downloadonly --installroot=/var/tmp/httpd-installroot --releasever=6 --downloaddir=/var/tmp/httpd httpd
Ja, das war die kleine Version. Sie sollten die Größe der Full-Repo-Downloads gesehen haben!
Generieren Sie die Metadaten, die erforderlich sind, um unseren neuen Stapel von RPMs in ein YUM-Repo zu verwandeln, und bereinigen Sie die Dinge, die wir nicht mehr benötigen:
# createrepo --database /var/tmp/httpd
# rm -rf /var/tmp/httpd-installroot
Konfigurieren Sie das Download-Verzeichnis als Repo. Beachten Sie, dass für CentOS7 der gpgkey "7" anstelle von "6" heißt:
# vi /etc/yum.repos.d/offline-httpd.repo
[offline-httpd]
name=CentOS-$releasever - httpd
baseurl=file:///var/tmp/httpd
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
So überprüfen Sie die fehlenden Abhängigkeiten:
# repoclosure --repoid=offline-httpd
Ich habe nicht herausgefunden, warum auf CentOS7 Dinge gemeldet werden, die libssl.so.10(libssl.so.10)(64bit)
fehlen, httpd-tools
wenn openssl-libs-1.0.1e-51.el7_2.2.x86_64.rpm
(der Anbieter dieser Bibliothek) eindeutig im Verzeichnis vorhanden ist. Wenn Sie dennoch feststellen, dass etwas offensichtlich fehlt, ist dies möglicherweise eine gute Gelegenheit, es mit der yum install --downloadonly
oben beschriebenen Methode wieder hinzuzufügen .
Wenn Sie offline sind oder das /var/tmp/httpd
Repo-Verzeichnis auf den anderen Server kopiert haben, richten Sie das Repo dort ein:
# vi /etc/yum.repos.d/offline-httpd.repo
[offline-httpd]
name=CentOS-$releasever - httpd
baseurl=file:///var/tmp/httpd
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
# yum --disablerepo=\* --enablerepo=offline-httpd install httpd
Hoffentlich keine fehlenden Abhängigkeiten!