Wir können jedes Paket mit curl
herunterladen oder wget
Befehle, oder? Diese Befehle laden jedoch nicht die erforderlichen Abhängigkeiten herunter. Möglicherweise müssen Sie einige Zeit damit verbringen, die Abhängigkeiten, die für das zu installierende Paket erforderlich sind, manuell zu suchen und herunterzuladen. Nun, nicht mehr! Lassen Sie uns in diesem kurzen Tutorial sehen, wie Sie ein RPM-Paket mit allen Abhängigkeiten in CentOS herunterladen. Ich habe diese Anleitung unter CentOS 7 getestet, obwohl die gleichen Schritte möglicherweise auch auf anderen RPM-basierten Systemen wie RHEL, Fedora, AlmaLinux und Rocky Linux funktionieren.
Laden Sie ein RPM-Paket mit allen Abhängigkeiten in CentOS herunter
Wir können dies auf zwei Arten tun. Wir werden Downloadonly verwenden plugin in der ersten Methode.
1. RPM-Pakete mit allen Abhängigkeiten mit dem "Downloadonly"-Plug-in herunterladen
Wir können jedes RPM-Paket mit allen Abhängigkeiten ganz einfach mit "Downloadonly" herunterladen Plugin für den Befehl yum.
Um das Downloadonly-Plugin zu installieren, führen Sie den folgenden Befehl als root
aus Benutzer.
# yum install yum-plugin-downloadonly
Führen Sie nun den folgenden Befehl aus, um ein RPM-Paket herunterzuladen.
# yum install --downloadonly <package-name>
Standardmäßig lädt dieser Befehl die Pakete herunter und speichert sie unter /var/cache/yum/
Lage. Sie können die Pakete jedoch mit "--downloaddir
herunterladen und an einem beliebigen Ort Ihrer Wahl speichern " Option.
# yum install --downloadonly --downloaddir=<directory> <package-name>
Beispiel:
# yum install --downloadonly --downloaddir=/root/mypackages/ httpd
Beispielausgabe:
Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: centos.excellmedia.net * epel: epel.mirror.angkasa.id * extras: centos.excellmedia.net * updates: centos.excellmedia.net Resolving Dependencies --> Running transaction check ---> Package httpd.x86_64 0:2.4.6-40.el7.centos.4 will be installed --> Processing Dependency: httpd-tools = 2.4.6-40.el7.centos.4 for package: httpd-2.4.6-40.el7.centos.4.x86_64 --> Processing Dependency: /etc/mime.types for package: httpd-2.4.6-40.el7.centos.4.x86_64 --> Processing Dependency: libaprutil-1.so.0()(64bit) for package: httpd-2.4.6-40.el7.centos.4.x86_64 --> Processing Dependency: libapr-1.so.0()(64bit) for package: httpd-2.4.6-40.el7.centos.4.x86_64 --> Running transaction check ---> Package apr.x86_64 0:1.4.8-3.el7 will be installed ---> Package apr-util.x86_64 0:1.5.2-6.el7 will be installed ---> Package httpd-tools.x86_64 0:2.4.6-40.el7.centos.4 will be installed ---> Package mailcap.noarch 0:2.1.41-2.el7 will be installed --> Finished Dependency Resolution Dependencies Resolved ======================================================================================================================================= Package Arch Version Repository Size ======================================================================================================================================= Installing: httpd x86_64 2.4.6-40.el7.centos.4 updates 2.7 M Installing for dependencies: apr x86_64 1.4.8-3.el7 base 103 k apr-util x86_64 1.5.2-6.el7 base 92 k httpd-tools x86_64 2.4.6-40.el7.centos.4 updates 83 k mailcap noarch 2.1.41-2.el7 base 31 k Transaction Summary ======================================================================================================================================= Install 1 Package (+4 Dependent packages) Total download size: 3.0 M Installed size: 10 M Background downloading packages, then exiting: (1/5): apr-1.4.8-3.el7.x86_64.rpm | 103 kB 00:00:01 (2/5): apr-util-1.5.2-6.el7.x86_64.rpm | 92 kB 00:00:01 (3/5): mailcap-2.1.41-2.el7.noarch.rpm | 31 kB 00:00:01 (4/5): httpd-tools-2.4.6-40.el7.centos.4.x86_64.rpm | 83 kB 00:00:01 (5/5): httpd-2.4.6-40.el7.centos.4.x86_64.rpm | 2.7 MB 00:00:09 --------------------------------------------------------------------------------------------------------------------------------------- Total 331 kB/s | 3.0 MB 00:00:09 exiting because "Download Only" specified
Gehen Sie nun zu dem Ort, den Sie im obigen Befehl angegeben haben. Dort sehen Sie das heruntergeladene Paket mit allen Abhängigkeiten. In meinem Fall habe ich die Pakete in /root/mypackages/
heruntergeladen Verzeichnis.
Lassen Sie uns den Inhalt überprüfen.
# ls /root/mypackages/
Beispielausgabe:
apr-1.4.8-3.el7.x86_64.rpm apr-util-1.5.2-6.el7.x86_64.rpm httpd-2.4.6-40.el7.centos.4.x86_64.rpm httpd-tools-2.4.6-40.el7.centos.4.x86_64.rpm mailcap-2.1.41-2.el7.noarch.rpm
Wie Sie in der obigen Ausgabe sehen, enthält das Paket httpd
wurde mit allen Abhängigkeiten heruntergeladen.
Bitte beachten Sie, dass dieses Plugin für "yum install/yum update" und nicht für "yum groupinstall" gilt. Standardmäßig lädt dieses Plugin die neuesten verfügbaren Pakete im Repository herunter. Sie können jedoch eine bestimmte Version herunterladen, indem Sie die Version angeben.
Beispiel:
# yum install --downloadonly --downloaddir=/root/mypackages/ httpd-2.2.6-40.el7
Sie können auch mehrere Pakete gleichzeitig herunterladen, wie unten gezeigt.
# yum install --downloadonly --downloaddir=/root/mypackages/ httpd vsftpd
Herunterladen - Kostenloser Leitfaden:"10 einfache Möglichkeiten zur Wiederherstellung Ihres Linux-Systems"
2. Laden Sie RPM-Pakete mit allen Abhängigkeiten mit dem Dienstprogramm "Yumdownloader" herunter
Yumdownloader ist ein einfaches, aber nützliches Befehlszeilenprogramm, das jedes RPM-Paket zusammen mit allen erforderlichen Abhängigkeiten auf einmal herunterlädt.
Installieren Sie Yumdownloader mit dem folgenden Befehl als root
Benutzer.
# yum install yum-utils
Führen Sie nach der Installation den folgenden Befehl aus, um ein Paket herunterzuladen, zum Beispiel httpd
.
# yumdownloader httpd
Um Pakete mit allen Abhängigkeiten herunterzuladen, verwenden Sie --resolve
Möglichkeit:
# yumdownloader --resolve httpd
Standardmäßig lädt Yumdownloader die Pakete in das aktuelle Arbeitsverzeichnis herunter.
Um Pakete zusammen mit allen Abhängigkeiten an einen bestimmten Ort herunterzuladen, verwenden Sie --destdir
Möglichkeit:
# yumdownloader --resolve --destdir=/root/mypackages/ httpd
Oder
# yumdownloader --resolve --destdir /root/mypackages/ httpd
Beispielausgabe:
Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: centos.excellmedia.net * epel: epel.mirror.angkasa.id * extras: centos.excellmedia.net * updates: centos.excellmedia.net --> Running transaction check ---> Package httpd.x86_64 0:2.4.6-40.el7.centos.4 will be installed --> Processing Dependency: httpd-tools = 2.4.6-40.el7.centos.4 for package: httpd-2.4.6-40.el7.centos.4.x86_64 --> Processing Dependency: /etc/mime.types for package: httpd-2.4.6-40.el7.centos.4.x86_64 --> Processing Dependency: libaprutil-1.so.0()(64bit) for package: httpd-2.4.6-40.el7.centos.4.x86_64 --> Processing Dependency: libapr-1.so.0()(64bit) for package: httpd-2.4.6-40.el7.centos.4.x86_64 --> Running transaction check ---> Package apr.x86_64 0:1.4.8-3.el7 will be installed ---> Package apr-util.x86_64 0:1.5.2-6.el7 will be installed ---> Package httpd-tools.x86_64 0:2.4.6-40.el7.centos.4 will be installed ---> Package mailcap.noarch 0:2.1.41-2.el7 will be installed --> Finished Dependency Resolution (1/5): apr-util-1.5.2-6.el7.x86_64.rpm | 92 kB 00:00:01 (2/5): mailcap-2.1.41-2.el7.noarch.rpm | 31 kB 00:00:02 (3/5): apr-1.4.8-3.el7.x86_64.rpm | 103 kB 00:00:02 (4/5): httpd-tools-2.4.6-40.el7.centos.4.x86_64.rpm | 83 kB 00:00:03 (5/5): httpd-2.4.6-40.el7.centos.4.x86_64.rpm | 2.7 MB 00:00:19
Lassen Sie uns überprüfen, ob Pakete am angegebenen Ort heruntergeladen wurden.
# ls /root/mypackages/
Beispielausgabe:
apr-1.4.8-3.el7.x86_64.rpm apr-util-1.5.2-6.el7.x86_64.rpm httpd-2.4.6-40.el7.centos.4.x86_64.rpm httpd-tools-2.4.6-40.el7.centos.4.x86_64.rpm mailcap-2.1.41-2.el7.noarch.rpm
Im Gegensatz zum Downloadonly-Plugin kann Yumdownload die Pakete herunterladen, die zu einer bestimmten Gruppe gehören.
# yumdownloader "@Development Tools" --resolve --destdir /root/mypackages/
Persönlich bevorzuge ich Yumdownloader gegenüber dem Downloadonly-Plugin für Yum. Aber beide sind einfach und machen die gleiche Arbeit. Sie können eine auswählen, die zu Ihnen passt.
Verwandte Lektüre:
- Pakete mit Abhängigkeiten lokal in Ubuntu herunterladen