Ubuntu-Pakete mit allen Abhängigkeiten und Unterpaketen herunterladen und offline verwenden?

Hallo,

ich verwende seit einiger Zeit das Linux-System von Ubuntu 12.04 LTS, nun möchte ich einige Software für die mehrfache Installation von einigen Rechnern im Offlinemodus verfügbar machen.

Da ich hierfür aber alle Abhängigkeiten und Unterpakete zum jeweiligen Programm benötige, aber nicht für jeden weiteren Rechner ans Internet gehen zu müssen, möchte ich mir ein lokales Verzeichnis anlegen wovon ich alle Rechner damit versorgen kann.

Manuell wäre das eine unvorstellbare Arbeit, jedes Paket mit allen Abhängigkeiten herunterzuladen.

Nun habe ich folgenden Befehl im Internet gefunden und auch getestet, mit dem man eine Linkliste aller Unterpakete anfertigen kann:
sudo apt-get -qq --print-uris install | awk ‚{print $1}‘ | tr -d " ’ " > wget.liste

Hierzu öffnete ich ein Terminal und gab den Befehl ein.
Versucht hatte ich dies mit dem Paketnamen sowie auch mit dem kompletten Verzeichnis das auf meinem Rechner liegt.
Selbst alle möglichen http-Adressen auf packages.ubuntu.com habe ich versucht.

Hierbei komme ich aber nicht weiter, da es immer wieder zu einem Fehler kommt:
Datei oder Verzeichnis nicht gefunden.

Was mache ich da falsch?
Ich bitte um eine genaue erklärung des Befehls, so das ich einen Überblick erhalte.

Vielen Dank schonmal im voraus.

Hi,

wenn alle Rechner eine identische Paketbestückung haben, dann kannst Du apt-move verwenden, um ein lokales Repository mit allen installierten Paketen zu erzeugen. Dieses kann dann auf eine USB-Disk übertragen werden und auf den anderen Rechnern ähnlich wie eine Installations-CD eingebunden werden. apt-move kann so eingestellt werden, dass veraltete Paketversionen automatisch gelöscht werden.

Gruß, Lutz

Hallo,

Nun habe ich folgenden Befehl im Internet gefunden und auch
getestet, mit dem man eine Linkliste aller Unterpakete
anfertigen kann:
sudo apt-get -qq --print-uris install | awk ‚{print
$1}‘ | tr -d " ’ " > wget.liste

Meine Version zu einem ähnlichen Problem lautet:
http://plastic-spoon.de/Debian-Update-Script.html

Wenn Du in dem Script das „upgrade“ durch „install PAKETE“ ersetzt, kommst Du weiter.

Hierbei komme ich aber nicht weiter, da es immer wieder zu
einem Fehler kommt:
Datei oder Verzeichnis nicht gefunden.

Vermutlich wird einer der verwendeten Befehle nicht gefunden. apt-get ist sicherlich installiert, vielleicht fehlen awk oder „tr“.

Was mache ich da falsch?
Ich bitte um eine genaue erklärung des Befehls, so das ich
einen Überblick erhalte.

Bei meiner Version wird eine Datei erstellt (namens /tmp/get-update.sh), die - sie ausgeführt wird mittels wget alle benötigten Dateien in das aktuelle Verzeichnis herunterlädt. Das kann zum Beispiel ein USB-Stick sein …

Führt man dann in diesem Verzeichnis den Befehl „dpkg -i *“ aus wird alles installiert.

Vermutlich ist apt-move eleganter, habe ich aber für meine Zwecke nicht genutzt.

Gruß,

Sebastian

Hallo,

Vermutlich ist apt-move eleganter,

So wie ich das sehe noch besser: apt-cacher, apt-cacher-ng oder approx (zumindest unter Debian erhältlich, mindestens eine Version sicher auch unter *buntu).

HTH,

Sebastian

Hi,

in meiner Erfahrung wurden diese Tools, apt-cacher etc., irgendwann instabil.

apt-move bedeutet kopieren auf USB-Disk bzw. Export des mirror-Verzeichnisses übers Netz. Und eine file-Zeile in der sources.list.

approx etc. ist theoretisch besser, auch mit der Paket-Signierung etc., aber die in der apt.conf notwendige Optionsmagie habe ich nie so richtig verstanden. Mit geänderter sources.list mit dem approx-Server als Quelle funktioniert es, aber nicht immer.

Eine weitere Variante, die aber wohl immer noch sehr experimentell ist, ist die Paketverteilung per Bittorrent.

Gruß, Lutz