Wir wussten bereits, wie man ein Paket zusammen mit all seinen Abhängigkeiten herunterlädt in Ubuntu und seinen Derivaten. Heute werden wir sehen, wie man rekursive Abhängigkeiten eines Pakets in Ubuntu herunterlädt. Mit anderen Worten, wir werden die Abhängigkeiten von Abhängigkeiten herunterladen.
Angenommen, Sie versuchen, ein Paket namens a.deb zu installieren . Das Paket a.deb hängt vom Paket b.deb ab und wieder hängt das Paket b.deb vom Paket c.deb ab . Bei dieser Methode laden wir nicht nur die Abhängigkeiten von a.deb herunter, sondern auch die Abhängigkeiten von b.deb und c.deb. Dies kann nützlich sein, wenn Sie das Paket nicht installieren können, selbst nachdem Sie alle erforderlichen Abhängigkeiten mit apt-rdepends heruntergeladen haben Befehl.
Das lokale Herunterladen von Paketen mit Abhängigkeiten dient drei Hauptzwecken.
- Vermeiden Sie das wiederholte Herunterladen derselben Pakete. Wenn Sie beispielsweise den Vim-Editor auf mehreren Systemen installieren möchten, können Sie Vim mit allen erforderlichen Abhängigkeiten herunterladen, auf einem USB-Laufwerk speichern (oder über LAN übertragen) und Vim auf einem anderen System installieren.
- Sparen Sie Internetbandbreite und Zeit.
- Installieren Sie Pakete auf nicht mit dem Internet verbundenen Systemen. Dies ist der Hauptgrund für das lokale Herunterladen von Paketen mit Abhängigkeiten. Sie können die Pakete in einem mit dem Internet verbundenen System herunterladen und dann per USB-Laufwerk oder LAN auf das Offline-System übertragen und dort ohne Internet installieren.
Die Gründe können für Sie unterschiedlich sein. Wenn Sie jemals Pakete auf einem Offline-System installieren wollten, würde diese Methode definitiv helfen.
Rekursive Abhängigkeiten eines Pakets in Ubuntu herunterladen
Für die Zwecke dieses Leitfadens nehmen wir Vim Programm als Beispiel.
Lassen Sie uns zunächst rekursive Abhängigkeiten des Vim-Pakets mit dem folgenden Befehl auflisten:
$ apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances vim | grep "^\w" | sort -u
Ersetzen Sie vim durch Ihr eigenes Paket. Wenn Sie die Ausgabe zum leichteren Lesen im Spaltenformat anzeigen möchten, führen Sie Folgendes aus:
$ apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances vim | grep "^\w" | sort -u | column
Beispielausgabe:
cdebconf libacl1 libdb5.3 liblzma5:i386 libpython3.6-stdlib libtinfo5 vim debconf libacl1:i386 libdebian-installer4 libmpdec2 libreadline7 libzstd1 vim-common dpkg libattr1 libexpat1 libncursesw5 libselinux1 libzstd1:i386 vim-runtime dpkg:i386 libattr1:i386 libffi6 libnewt0.52 libselinux1:i386 mime-support xxd gcc-8-base libbz2-1.0 libgcc1 libpcre3 libslang2 perl-base xxd:i386 gcc-8-base:i386 libbz2-1.0:i386 libgcc1:i386 libpcre3:i386 libsqlite3-0 readline-common zlib1g install-info libc6 libgpm2 libpython3.6 libssl1.1 tar zlib1g:i386 install-info:i386 libc6:i386 liblzma5 libpython3.6-minimal libtextwrap1 tar:i386

Dies sind die Abhängigkeiten von Abhängigkeiten des Vim-Programms. Bitte beachten Sie, dass all dies möglicherweise nicht erforderlich ist, um Vim zu installieren.
Lassen Sie uns fortfahren und rekursive Abhängigkeiten des Vim-Pakets mit dem Befehl herunterladen:
$ apt-get download $(apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances vim | grep "^\w" | sort -u)
Dieser Befehl lädt vim zusammen mit seinen Abhängigkeitsprogrammen in das aktuelle Verzeichnis herunter. Es wird auch die Abhängigkeiten der Vim-Abhängigkeiten herunterladen.

Überprüfen Sie, ob alle Abhängigkeiten mit dem Befehl „ls“ heruntergeladen wurden:
$ ls
Hier ist die Liste der Abhängigkeiten des Vim-Programms und der Abhängigkeiten seiner Abhängigkeiten in meinem Ubuntu 18.04-Desktop:

Verschieben Sie nun alle heruntergeladenen Dateien über ein USB-Laufwerk oder LAN auf das Offline-System. Gehen Sie dann zu dem Ort, an dem Sie alle heruntergeladenen Pakete in Ihrem Offline-System gespeichert haben, und installieren Sie sie mit dem Befehl:
$ sudo dpkg -i *
Alternativ können Sie den Index aller heruntergeladenen Pakete erstellen und sie mit dem APT-Paketmanager installieren.
Um einen Index der heruntergeladenen Pakete zu erstellen, gehen Sie zu dem Speicherort, an dem die Pakete gespeichert sind, und führen Sie den folgenden Befehl aus:
$ dpkg-scanpackages . | gzip -c9 > Packages.gz
Fügen Sie diesen Ordner mit dem folgenden Befehl zur APT-Quellliste hinzu:
$ echo "deb[trusted=yes] file:///home/sk/vim ./" | sudo tee -a /etc/apt/sources.list
Hier habe ich alle Dateien in /home/sk/vim
gespeichert Ordner in meinem Offline-System. Sie müssen diesen Pfad durch Ihren eigenen ersetzen.
Aktualisieren Sie den Paketindex mit dem Befehl:
$ sudo apt-get update
Installieren Sie schließlich das vim-Paket mit dem APT-Paketmanager:
$ sudo apt-get install vim
Ebenso können Sie auch andere Pakete herunterladen und installieren.
Hoffe das hilft.
Empfohlene Lektüre:
- So laden Sie ein RPM-Paket mit allen Abhängigkeiten in CentOS herunter
- Camicri Cube – Installieren von Paketen auf Offline-Ubuntu-Systemen
- So installieren Sie Software offline in Ubuntu
- So simulieren Sie Linux-Befehle, ohne etwas im System zu ändern