Normalerweise wird apt
mit direktem Zugriff zu einem Archiv benutzt,
sei es, dass die Daten auf einer lokalen Festplatte liegen, von einer CD-ROM kommen
oder über ein Netzwerk installiert werden sollen. Trotzdem kann es sinnvoll sein, wenn
Sie keine aktuellen CDs zur Hand haben oder Ihnen der Download der Dateien zu langwierig
ist, die Daten von einem Rechner mit den aktuellen Paketen auf ein anderes Medium, zum
Beispiel ein ZIP, zu kopieren und zu installieren.
Problematisch ist dabei, dass ein solches Medium nicht ausreicht, um eine komplette
Debian Distribution aufzunehmen. Aber es reicht ja auch aus, nur die benötigten Pakete
zu kopieren. Sie müssen also mit apt
eine Liste der benötigten Pakete erstellen und diese
auf dem Rechner mit einer schnellen Anbindung ans Netz herunterladen. Hierzu ist das
Programm wget
gut geeignet.
Weiterhin müssen Sie apt
dazu bringen, die Paketdateien von dem neuen Medium
zu lesen. Dieses sollte mit einem Dateisystem formatiert sein, das mit langen Dateinamen
umgehen kann; dies wären zum Beispiel: ext2
, vfat
oder fat32
.
Wenn apt
auf beiden Rechnern installiert ist, können Sie
über die Statusdatei (status
) feststellen lassen, welche Pakete auf dem
Zielrechner fehlen. Die Verzeichnisstruktur auf dem Medium sollte wie folgt
aussehen:
/medium/ archives/ partial/ lists/ partial/ status sources.list apt.conf
In der Konfigurationsdatei teilen Sie apt
mit, dass die Debian Pakete auf dem Medium
gespeichert werden sollen und dass dort auch die Konfigurationsdateien zu finden
sind. Die Datei sources.list
sollte den Server enthalten, von dem die
Pakete geholt werden sollen. Die Datei status
ist eine Kopie der Datei /var/lib/dpkg/status
von Ihrem Zielrechner.
Die Datei apt.conf
enthält die nötigen Informationen, um das
Medium zu
benutzen:
APT { /* nur notwendig, wenn die beiden Rechner nicht die gleiche Architektur haben */ Architecture "i386"; Get::Download-Only "true"; }; Dir { /* die status-Datei auf dem Medium nutzen. */ State "/medium/"; State::status "status"; /* auf dem Medium cachen */ Cache::archives "/medium/archives/"; /* da ist auch die Datei sources.list */ Etc "/medium/"; };
Auf Ihrem Zielrechner mounten Sie zuerst das Medium und kopieren die Datei /var/lib/dpkg/status
dorthin. Erzeugen Sie dann die
Verzeichnisse, die oben in der Struktur gezeigt sind (archives/partial/
und lists/partial/
).
Die weiteren Schritte können Sie auf dem zweiten Rechner durchführen. Passen Sie
die Datei sources.list
an. Dann führen Sie Folgendes auf diesem
Rechner
aus:
export APT_CONFIG="/medium/apt.conf" apt-get update apt-get dist-upgrade
Sie können auch alle anderen apt
-Optionen oder gpk-application
benutzen.
Wenn alle Dateien auf das Medium übertragen worden sind, können Sie diese zu Ihrem Zielrechner transportieren und die Pakete wie folgt installieren:
export APT_CONFIG="/medium/apt.conf" apt-get check apt-get --no-d -o dir::etc::status=/var/lib/dpkg/status dist-upgrade
Bitte beachten Sie, dass hierbei wieder die lokale status
-Datei benutzt wird!
Wenn Sie nicht die Möglichkeit haben, die Dateien auf einem Rechner mit apt
aus dem Netz zu kopieren, können Sie alternativ
auch das Programm
wget
benutzen. Dieses ist nicht Teil der Debian
GNU/Linux-Basisinstallation, Sie müssen also zunächst das Paket installieren.
wget
dient zum Kopieren von Webseiten inklusive der
dazugehörigen Grafiken und eventueller weiterer mit dieser Seite verlinkter Seiten.
Wir werden wget
aber zum gezielten Kopieren der benötigten
Debian Pakete von einem Server benutzen.
Sie können die Pakete mittels wget
kopieren, indem Sie apt-get
mit der Option --print-uris
dazu benutzen, eine Liste der benötigten
Pakete mit der kompletten URL für wget
zu erzeugen.
Entgegen dem eben vorgestellten Beispiel brauchen Sie hier keine extra
Konfigurationsdateien (außer natürlich der Datei /etc/apt/sources.list
, die von apt
benötigt wird). Führen Sie die folgenden
Kommandos auf dem Rechner aus, auf dem die Pakete später installiert werden sollen.
apt-get update apt-get -qq --print-uris dist-upgrade > uris awk '{print "wget -O " $2 " " $1}' < uris > /medium/wget-script
Drücken Sie „n“ nach dem ersten Kommando und prüfen Sie, ob
die Auswahl korrekt ist. Die benötigten Pakete wurden nun zur späteren Installation
markiert. In der zweiten Zeile wird mit apt-get
und den entsprechenden Optionen eine Liste
der zu installierenden Pakete erzeugt und in die Datei uris
geschrieben. Das letzte Kommando ergänzt die
Liste der Pakete um die nötigen Aufrufe des Kommandos wget
.
Die Datei /medium/wget-script
enthält nun eine Liste mit
Kommandos, die die benötigten Pakete aus dem Netz holen. Sie können dieses jetzt auf
dem Medium
ausführen:
cd /medium sh -x ./wget-script
Hierbei ist es unerheblich, ob das Transportmedium sich noch in dem Rechner
befindet, auf dem die Pakete installiert werden sollen (was keinen Sinn machen
würde, Sie könnten sich den Umweg über wget
dann sparen), oder ob Sie das Medium in einem
Rechner mit einer besseren Netzanbindung anmelden und dort das Skript ausführen. Die
Pakete werden lediglich auf das Medium übertragen und nicht installiert.
Wenn alle Dateien übertragen wurden, können Sie das Medium zu Ihrem Zielrechner transportieren und die Pakete mit folgendem Kommando installieren:
apt-get -o dir::cache::archives="/medium/" dist-upgrade
© 1999 - 2024 | Das Debian GNU/Linux Anwenderhandbuch von Frank Ronneburg steht unter einer Creative Commons Namensnennung-Nicht Kommerziell-Keine Bearbeitung 3.0 Deutschland Lizenz.