Bei der Arbeit an RHEL- und CentOS-Servern gibt es einige Szenarien, in denen wir bestimmte oder eine Reihe von RPM-Paketen von der Befehlszeile herunterladen möchten, ohne sie zu installieren. Obwohl wir den Befehl wget verwenden können, um Pakete herunterzuladen, wird wget das Paket nicht zusammen mit seinen Abhängigkeiten herunterladen.
Unter RHEL 8 oder CentOS 8 ist DNF (oder yum) ein Paketverwaltungsprogramm für die Befehlszeile. Mit DNF oder yum können wir RPM-Pakete installieren, aktualisieren und entfernen. Abgesehen davon kann es auch verwendet werden, um Pakete zusammen mit Abhängigkeiten herunterzuladen, ohne sie zu installieren.
In diesem Handbuch behandeln wir, wie Sie RPM-Pakete herunterladen, ohne sie auf einem RHEL 8- oder CentOS 8-System zu installieren.
Spezifisches RPM-Paket herunterladen
Der Befehl dnf oder yum auf RHEL 8 oder CentOS 8 verfügt über ein Download-Flag, mit dem das RPM-Paket heruntergeladen werden kann.
Syntax:
$ sudo dnf download
Nehmen wir an, wir möchten das Paket „nfs-utils“ herunterladen. Ausführen
$ sudo dnf download nfs-utils
Der obige Befehl lädt das nfs-utils-Paket in das aktuelle Arbeitsverzeichnis herunter. Abhängigkeiten werden nicht heruntergeladen. Überprüfen Sie das heruntergeladene Paket und führen Sie es aus
$ ls nfs-utils-2.3.3-26.el8.x86_64.rpm $
RPM zusammen mit Abhängigkeiten herunterladen
Mit dem Flag „–downloadonly“ im Befehl dnf oder yum kann das RPM-Paket zusammen mit seinen Abhängigkeiten heruntergeladen werden. Wir können den Befehl dnf auch anweisen, RPM in einen bestimmten Ordner herunterzuladen, indem wir das Flag „–downloaddir“ verwenden.
Syntax:
$ sudo dnf install
Nehmen wir an, wir möchten Ansible RPM zusammen mit seinen Abhängigkeiten im Paketverzeichnis herunterladen.
$ mkdir packages $ sudo dnf install ansible --downloadonly --downloaddir ~/packages/
Überprüfen Sie nach erfolgreicher Ausführung des obigen Befehls, ob das Ansible-RPM-Paket heruntergeladen wurde oder nicht. Führen Sie den Befehl ls aus,
$ ls -l packages/
Jetzt können wir eine Tar-Datei dieser Pakete erstellen und auf ein Remote-System übertragen, auf dem wir Ansible installieren möchten und auf diesem System keine Internet- und Repository-Konnektivität haben.
Gruppenpaket herunterladen
Angenommen, wir möchten alle Pakete herunterladen, die unter die Gruppe „Entwicklungstools“ fallen, führen Sie sie unter dem Befehl aus.
$ sudo dnf group install "Development Tools" --downloadonly --downloaddir ~/dev-tools/ -y
Überprüfen Sie, ob Pakete heruntergeladen wurden oder nicht, führen Sie den Befehl ls aus
$ ls -l ~/dev-tools/
Großartig, die obige Ausgabe bestätigt, dass alle Entwicklungspakete im Ordner ~/dev-tools heruntergeladen wurden.
Hinweis:Immer wenn wir Pakete mit dem Befehl dnf oder yum herunterladen und das Flag –downloadidr nicht übergeben, werden Pakete nach „/var/cache/dnf/baseos-xxxx/packages/“, „/var/cache/“ heruntergeladen. dnf/appstream-xxxx/packages' und '/var/cache/dnf/epel-xxxx/packages/'.
Das ist alles aus diesem Handbuch, ich fand es informativ. Bitte posten Sie Ihre Fragen und Ihr Feedback im Kommentarbereich unten.