Für alle Antworten, die ich zu diesem Thema gefunden habe, bestand die Lösung darin, auf einem bestimmten Computer A, auf dem ich das Paket installieren muss, eine Datei mit allen benötigten Abhängigkeiten zu erstellen und sie dann auf einen anderen Computer herunterzuladen. Nennen wir sie B.
Die Sache ist, ich möchte einen Speicher für bestimmte kritische Software haben, die ich arbeiten muss, um sie später offline installieren zu können, falls ich meinen Desktop formatieren muss.
Ich kümmere mich wirklich nicht darum, viele redundante .deb-Dateien auf meinem Computer zu haben, und ich kümmere mich WIRKLICH NICHT darum, ob ich 1 GB Dateien speichern werde, um eine 10-MB-Software zu installieren.
Ich möchte also eine mögliche Abhängigkeit herunterladen. Kann ich das irgendwie tun?
quelle
Antworten:
Ich würde damit gehen:
apt-get download PACKAGE && apt-cache depends -i PACKAGE | awk '/Depends:/ {print $2}' | xargs apt-get download
Dann können Sie es mit
dpkg -i *.deb
in dem Verzeichnis installieren, in das Sie diese heruntergeladen haben.quelle
apt-cache depends -i
sucht nach wichtigen Abhängigkeiten für PACKAGE. Es wird nur ausgeführt, wennapt-get download PACKAGE
es erfolgreich ist, PACKAGE aus den von Ihnen hinzugefügten ppa-Repositorys zu finden/etc/apt/sources.list
. Jetztapt-cache depends -i PACKAGE
hat Ausgabe der FormDepends: dependency-name
. Wir brauchen nur Namen von Abhängigkeiten, also macht awk genau das - es bekommt nur die zweite Zeichenfolge. Versuchen Sie es zum Beispielapt-cache depends -i vim | awk '{print $2}'
. Beachten Sie auch, dass die gesamte Zeile rechts von && als eine Aussage betrachtet werden kanndpkg -i *.deb
ist nicht so gut, es installiert das Paket nicht in der Reihenfolge der Abhängigkeiten. Daher müssen Sie möglicherweise mehrmals versuchen, das gesamte Paket zu installieren. Wie auch immer, um das Problem zu umgehen?Ist das eine einmalige Sache oder etwas, das Sie auf dem Laufenden halten möchten? Arbeiten Sie hauptsächlich online und möchten nur für alle Fälle eine lokale Sicherung aller Ihrer Pakete?
Sie können mehrere Dienste installieren, die als APT-Proxy / Cache fungieren. Wenn Sie APT auf Ihren lokalen Cache verweisen, wird es aus dem Internet heruntergeladen und eine lokal zwischengespeicherte Kopie aller Pakete aufbewahrt. Dies kann sehr nützlich sein, wenn Sie viele Computer in Ihrem Netzwerk mit einer identischen Auswahl an Paketen haben.
Mein bevorzugter apt-Cache ist ca. , aber es gibt auch apt-cacher-ng und einige andere. Jedes hat geringfügige Unterschiede, wie das Caching konfiguriert werden kann.
Ich verwende immer die minimalen netinst-Installationsprogramme, um meine Debian-basierten Systeme zu erstellen, was bedeutet, dass mein apt-Cache normalerweise fast alle Pakete enthält, um meine Systeme vollständig zu erstellen.
quelle
Führen Sie das folgende Python-Programm aus:
quelle
Führen Sie das folgende Python3-Programm aus:
Es werden alle Abhängigkeiten aller Abhängigkeiten heruntergeladen, nicht nur unmittelbare Abhängigkeiten. Aber die Installation mit
dpkg -i *.deb
fehlgeschlagen. Vielleicht, weilapt-cache depends -i package
es Fehlinformationen gibt oder einige.deb-Dateien noch eine Internetverbindung benötigen, um installiert zu werden.quelle