APT offline verwenden
-----------------------------------------------------------------------------
Jason Gunthorpe
<jgg@debian.org>
Version 2.4.14
-----------------------------------------------------------------------------
Copyright © 1999 Jason Gunthorpe
Lizenzhinweis
»APT« und dieses Dokument sind freie Software. Sie können sie unter den
Bedingungen der GNU General Public License, wie sie von der Free Software
Foundation veröffentlicht wird; entweder Version 2 der Lizenz oder
(optional) jeder neueren Version weitergeben und/oder verändern.
Siehe für weitere Details auf Debian-Systemen die Datei /usr/share/
common-licenses/GPL, die die vollständige Lizenz enthält.
Zusammenfassung
Dieses Dokument beschreibt, wie APT in einer Umgebung ohne Netzwerk, speziell
einem »Turnschuhnetzwerk«, an die Durchführung von Upgrades herangeht.
-----------------------------------------------------------------------------
Inhaltsverzeichnis
1. Einleitung
1.1. Übersicht
2. APT auf beiden Maschinen benutzen
2.1. Übersicht
2.2. Die Konfigurationsdatei
3. APT und Wget benutzen
3.1. Übersicht
3.2. Betrieb
Kapitel 1. Einleitung
Inhaltsverzeichnis
1.1. Übersicht
1.1. Übersicht
Normalerweise benötigt APT direkten Zugang zu einem Debian-Archiv,
entweder von einem lokalen Medium oder über ein Netz. Eine andere häufige
Beanstandung ist, dass eine Debian-Maschine an einer langsamen Anbindung,
wie einem Modem, hängt und eine andere Maschine eine sehr schnelle
Verbindung hat, sie jedoch physisch fern sind.
Die Lösung dazu besteht darin, große Wechselmedien, wie eine Zip-Platte
oder eine SuperDisk zu benutzen. Diese Platten sind nicht groß genug, um
ein ganzes Debian-Archiv zu speichern, können aber leicht eine Untermenge
aufnehmen, die für die meisten Benutzer groß genug ist. Die Idee besteht
darin, APT zu benutzen, um eine Liste benötigter Pakete zu generieren und
diese dann mit einer anderen Maschine mit guter Verbindung auf die Platte
herunterzuladen. Es ist sogar möglich, eine andere Debian-Maschine mit
APT oder ein komplett unterschiedliches Betriebssystem und ein
Download-Werkzeug wie Wget zu benutzen. Nennen wir die Maschine, die die
Pakete herunterlädt ferner Rechner und die mit der schlechten oder
fehlenden Verbindung Zielrechner.
Dies wird durch kreatives Manipulieren der APT-Konfigurationsdatei
erreicht. Die wesentliche Voraussetzung besteht darin, APT mitzuteilen,
dass es für seine Archivdateien auf einer Platte nachsieht. Beachten Sie,
dass diese Platte mit einem Dateisystem formatiert sein sollte, das mit
langen Dateinamen umgehen kann, so wie ext2, fat32 oder vfat.
Kapitel 2. APT auf beiden Maschinen benutzen
Inhaltsverzeichnis
2.1. Übersicht
2.2. Die Konfigurationsdatei
2.1. Übersicht
Ein verfügbares APT auf beiden Maschinen stellt die einfachste
Konfiguration dar. Die Grundidee besteht darin, eine Kopie der
Statusdatei auf der Platte abzulegen und die Maschine in der Ferne zu
benutzen, um die neusten Paketdateien herunterzuladen und zu entscheiden,
welche Pakete heruntergeladen werden. Die Plattenverzeichnisstruktur
sollte so aussehen:
/Platte/
Archive/
partial/
lists/
partial/
status
sources.list
apt.conf
2.2. Die Konfigurationsdatei
Die Konfigurationsdatei sollte APT mitteilen, dass es seine Dateien auf
der Platte speichert und obendrein die Konfigurationsdateien auf der
Platte benutzt. Die »sources.list« sollte genau die Sites enthalten, die
Sie auf der fernen Maschine benutzen möchten und die Statusdatei sollte
eine Kopie von /var/lib/dpkg/status vom Zielrechner sein. Bitte beachten
Sie, falls Sie lokale Archive benutzen, dass Sie »copy«-URIs benutzen
müssen. Die Syntax entspricht der von »file«-URIs.
apt.conf muss die nötigen Informationen enthalten, damit APT die Platte
benutzt:
APT
{
/* Dies ist nicht nötig, falls die beiden Maschinen die gleiche
Architektur haben. Es teilt dem fernen APT mit, welche Architektur die
Zielmaschine hat */
Architecture "i386";
Get::Download-Only "true";
};
Dir
{
/* Die Platte für Statusinformationen benutzen und die Statusdatei von der
Vorgabe /var/lib/dpkg umleiten */
State "/disc/";
State::status "status";
// Programmzwischenspeicher werden lokal gespeichert
Cache::archives "/disc/archives/";
Cache "/tmp/";
// Ort der Quellenliste.
Etc "/disc/";
};
Weitere Details finden sich in der apt.conf-Handbuchseite und der
Musterkonfigurationsdatei in /usr/share/doc/apt/examples/apt.conf.
Das Erste, was auf der Zielmaschine getan werden muss, ist das Einhängen
der Platte und das Kopieren von /var/lib/dpkg/status dorthin. Sie werden
außerdem die in der Übersicht umrissenen Verzeichnisse archives/partial/
und lists/partial/ erstellen müssen. Dann bringen Sie die Platte zu der
fernen Maschine und konfigurieren Sie die »sources.list«. Führen Sie das
folgende auf der fernen Maschine aus:
# export APT_CONFIG="/disc/apt.conf"
# apt-get update
[ APT lädt die Paketdateien herunter ]
# apt-get dist-upgrade
[ APT lädt all die Pakete herunter, die die Zielmaschine benötigt, um ein
Upgrade durchzuführen ]
Der Befehl »dist-upgrade« kann durch alle anderen Standard-APT-Befehle
ersetzt werden, insbesondere »dselect-upgrade«. Sie können sogar eine
APT-Oberfläche, wie dselect, benutzen. Jedoch stellt dies ein Problem
dar, Ihre Auswahl zurück an den lokalen Rechner zu kommunizieren.
Nun enthält die Platte alle Indexdateien und Archive, die nötig sind, um
ein Upgrade der Zielmaschine durchzuführen. Bringen Sie die Platte zurück
und starten Sie:
# export APT_CONFIG="/Platte/apt.conf"
# apt-get check
[ APT erstellt eine lokale Kopie der Zwischenspeicherdateien ]
# apt-get --no-d -o dir::state::status=/var/lib/dpkg/status dist-upgrade
[ Oder irgendeinen anderen APT-Befehl ]
Es ist für ordentliches Funktionieren notwendig, die Statusdatei erneut
als die lokale anzugeben. Dies ist sehr wichtig!
Wenn Sie Dselect benutzen, können Sie die sehr riskante Aktion
durchführen, disc/status auf /var/lib/dpkg/status zu kopieren, so dass
die von Ihnen auf der fernen Maschine gemachte Auswahl aktualisiert wird.
Es wird in höchstem Maße empfohlen, dass Leute nur auf der lokalen
Maschine Auswahlen treffen – aber dies könnte manchmal unmöglich sein.
Kopieren Sie die Statusdatei NICHT, falls Dpkg oder APT in der
Zwischenzeit benutzt wurden!
Kapitel 3. APT und Wget benutzen
Inhaltsverzeichnis
3.1. Übersicht
3.2. Betrieb
3.1. Übersicht
wget ist ein beliebtes und portierbares Herunterladewerkzeug, das auf
nahezu jeder Maschine laufen kann. Anders als die Methode oben wird
hierfür benötigt, dass die Debian-Maschine bereits eine Liste verfügbarer
Pakete hat.
Die Grundidee besteht darin, eine Platte zu erzeugen, die nur die
heruntergeladenen Archivdateien von der fernen Site enthält. Dies wird
durch Benutzen der Option »--print-uris« von Apt-get und dem
anschließenden Erstellen eines Wget-Skripts getan, das dann die Pakete
tatsächlich herunterlädt.
3.2. Betrieb
Anders als bei der vorherigen Technik werden keine speziellen
Konfigurationsdateien benötigt. Es werden lediglich die
Standard-APT-Befehle benutzt, um die Dateiliste zu erstellen.
# apt-get dist-upgrade
[ Antworten Sie »nein« auf gestellte Fragen; stellen Sie sicher, dass Sie
mit den Aktionen zufrieden sind ]
# apt-get -qq --print-uris dist-upgrade > uris
# awk '{print "wget -O " $2 " " $1}' < uris > /Platte/wget-script
Es könnte auch jeder andere Befehl neben »dist-upgrade« hier benutzt
werden, einschließlich »upgrade«.
Die Datei /Platte/wget-script wird nun eine Liste der Wget-Befehle
enthalten, um die erforderlichen Archive herunterzuladen. Dieses Skript
sollte mit dem aktuellen Verzeichnis als Platteneinhängepunkt ausgeführt
werden, so dass die Ausgabe auf die Platte gespeichert wird.
Die Maschine in der Ferne würde etwas wie das folgende tun
# cd /Platte
# sh -x ./wget-script
[ warten … ]
Sobald die Archive heruntergeladen und die Platte zur Debian-Maschine
zurückgekehrt ist, kann die Installation durch Benutzung von
# apt-get -o dir::cache::archives="/Platte/" dist-upgrade
fortfahren, wodurch die bereits auf der Platte heruntergeladenen Archive
benutzt werden.
Generated by dwww version 1.14 on Sat Jun 13 10:21:40 CEST 2026.