Dies ist eine alte Version des Dokuments!
In einem virtuellen Testlab befinden sich einige Debian Rechner ohne Internetanschluss. Im Verlauf des Testbetriebs ergaben sich jedoch einige Umstände, welche es erforderlich machten diverse Pakete auf den Testrechnern nachzuinstallieren. Um nicht ständig die Konfiguration der Rechner unnötig zu ändern, um ihnen temporär einen Internetzugang zu gewähren, haben wir nach einer Möglichkeit gesucht, dies lokal im Testlab abzuwickeln.
Die Vorgehensweise gliederte sich in unserem Setup wie folgt:
Erstellen Sie auf dem Repository-Server ein Verzeichnis, welches die freigegebenen Pakete beinhalten soll:
# mkdir /var/local/repository
Sie können jetzt mittels »aptitude« die Pakete auf dem Server herunterladen. Benutzen Sie hierfür die Option »--download-only« (-d) damit Sie nicht alles was Sie auf Ihren Testrechner benötigen auch auf dem Repository-Server installieren müssen. Sie finden die Pakete dann im Verzeichnis »/var/cache/apt/archives«. »aptitude« kümmert sich hierbei wie gewohnt um das Auflösen der Abhängigkeiten und lädt diese dann ggf ebenfalls herunter.
Kopieren Sie nun die heruntergeladenen Pakete in das zu veröffentlichende Verzeichnis »/var/local/repository«. Ich verwende dafür zB »rsync«:
# rsync -rt /var/cache/apt/archives/ /var/local/repository/
Jetzt müssen Sie in diesem Verzeichnis noch einen »Paket-Index« und ggf einen Source-Index erzeugen. Das dafür benötigte Programm »dpkg-scanpackages« befindet sich im Paket »dpkg-dev«. Dieses müssen Sie ggf noch auf dem Server installieren:
# aptitude install dpkg-dev
Navigieren Sie in das zu veröffentlichende Verzeichnis (Die Pfadangabe ist hier immer relativ) und erzeugen Sie den Index:
# cd /var/local/repository # dpkg-scanpackages ./ > Packages && gzip -f Packages # dpkg-scansources ./ > Sources && gzip -f Sources
Im wesentlichen ist das Repository nun komplett und beinhaltet:
deb-Pakete
: Die »deb-Pakete« beinhalten die eigentlichen heruntergeladenen Objekte.Packages.gz
: Enthält den Namen, die Version, die Größe, die Kurz- und Langbeschreibung und die Abhängigkeiten eines jeden Pakets. Diese Informationen werden von »aptitude« oder »dselect« ausgewertet.Sources.gz
: Enthält den Namen, die Version und die »Bau-Abhängigkeiten« (die das Paket zum Bauen benötigt) von jedem Paket; diese Informationen werden von apt-get source und vergleichbaren Werkzeugen verwendet.
Geben Sie abschließend noch das Verzeichnis »/var/local/repository« über das Netzwerk frei:
# echo "/var/local/repository 192.168.167.0/24(rw,sync)" » /etc/exports # exportfs -a
Tragen Sie hier die Angaben, die Ihren Gegebenheiten entsprechen ein. »192.168.167.0/24« in diesem Fall ist die Netzadresse unseres Testlabs.
Damit dieses Setup am Ende zufriedenstellend funktioniert, müssen im Vorfeld einige Bedingungen erfüllt werden. Da zumindest in unserem Fall die Clients unmittelbar nach der Installation noch einen Internetanschluss hatten (wir installieren die Rechner mit einer minimal Net-install CD) wurden folgende Pakete unmittelbar hinterher installiert. Zwingend nötig auf den Clients hierbei ist das Paket »nfs-common«
# aptitude install nfs-common