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 - 2025 | Das Debian GNU/Linux Anwenderhandbuch von Frank Ronneburg steht unter einer Creative Commons Namensnennung-Nicht Kommerziell-Keine Bearbeitung 3.0 Deutschland Lizenz.