Unser Server läuft offline und wir müssen viele Yum-Pakete installieren, wie Oracle-JDK, Elasticsearch, Nginx usw.
Gibt es eine Möglichkeit, die RPM-Abhängigkeiten herunterzuladen, damit wir sie offline auf dem Server installieren können?
Antwort1
Pflegen Sie einen lokalen CentOS-Spiegel auf einem mit dem Internet verbundenen Rechner mit rsync
einem öffentlichen CentOS-Spiegel, der rsync-Verbindungen akzeptiert. Sie können diese Verzeichnisse dann auf einen USB-Stick kopieren und als Installationsquellen verwenden. Sie enthalten bereits die erforderlichen Metadaten, um als Repositorys zu fungieren, sodass Sie das Installationsprogramm nur darauf verweisen müssen.
$ du -sh /srv/www/mirrors/centos/7.1.1503/{os,updates}/x86_64
7.1G /srv/www/mirrors/centos/7.1.1503/os/x86_64
2.1G /srv/www/mirrors/centos/7.1.1503/updates/x86_64
Bei Paketen von Drittanbietern können Sie diese auch selbst spiegeln, indem Sie das reposync
Befehlszeilentool verwenden, das den Inhalt von Yum-Repositorys in ein lokales Dateisystem herunterlädt und createrepo
aus einer Reihe von RPMs in einem Verzeichnis ein Yum-Repository erstellt.
Denken Sie daran, dass sich Repositories nicht im Netzwerk befinden müssen. Sie können sich auf einem lokalen Dateisystem wie einer Festplatte, einer DVD-ROM oder einem USB-Stick befinden.
Antwort2
Sie müssen nach einem lokalen Repository suchen. Schauen Sie sich das hier anArtikeloderDieses hier
Antwort3
Als Antwort auf Ihren Kommentar:
Ich möchte beispielsweise alle RPM-Pakete und Abhängigkeiten auf einer anderen Centos 7.1-Maschine mit Internetverbindung herunterladen und dann alle diese RPM-Dateien (z. B. mit einem USB-Stick) auf den Server verschieben und sie dort installieren.
Das klingt nach etwas ziemlich Trivialem.Festlegen der Option keepcache=0
bis keepcache=1
inyum.conf
auf dem Online-CentOS-Server. Installieren Sie dort zunächst alle Pakete, die Sie auch auf Ihrem Offline-Server installieren möchten und kopieren Sie anschließend einfach die gesammelten RPM-Pakete aus den verschiedenen /var/cache/yum/*/*/*packages/
Verzeichnissen.
Antwort4
yum install -y xxx yyy --downloadonly
Anschließend werden alle RPMs heruntergeladen /var/cache/yum
.