Debian für Unternehmer - Debian-Know-how0303: Einen Debian-Mirror aus den vorhandenen DVDs erstellenIn diesem Modul soll gezeigt werden, wie aus vorhandenen DVDs ein Debian-Repository erzeugt werden kann. Umgangssprachlich wird ein Debian-Repository auch "Debian-Mirror" genannt. 1. Der VersuchsaufbauWir testen die Transformation mit dem Betriebssystem Debian Etch R3. Für die Versuche benötigen wir ein Verzeichnis auf einer Partition, die mindestens 30 Gigabyte groß sein sollte. Legen Sie nun ein entsprechendes Verzeichnis an: cd /multi mkdir mirroring Innerhalb dieses Verzeichnisses erzeugen wir nun jeweils ein Verzeichnis für die Inhalte der DVD-Images und für den zu erstellenden Debian-Mirror: cd /mirroring mkdir dvds mkdir debian-mirror cd /dvds mkdir dvd1 mkdir dvd2 mkdir dvd3 2. Inhalte der DVD-Images kopierenMounten Sie nun nacheinander die DVD-Images und kopieren Sie die Inhalte der DVD-Images in die Unterverzeichnisse des Verzeichnisses "dvds". Für das Kopieren können Sie z.B. den "Midnight Commander" nutzen. Das Mounten und Unmounten eines DVD-Images zeige ich Ihnen hiermit beispielhaft am DVD-Image 1: # mounten: mkdir dvd1 mount -t iso9660 debian-40r3-i386-DVD-1.iso dvd1 -o loop # kopieren Sie jetzt die Inhalte # ... # unmounten: umount dvd1 rm -R dvd1 3. Beschäftigen Sie sich mit dem Thema "Debian-Repository"Im Grunde ist das, was sich auf einem DVD-Image von Debian befindet, nichts weiter als ein "Debian-Repository". Was wir jetzt vorhaben, ist, dass wir die drei "Debian-Repositories" zum einem einzigen "Debian-Repository" verschmelzen. Auf den DVDs befinden sich viele verschiedene Verzeichnisse und Dateien. Für jemanden, der das erst einmal nur verstehen will, ist das für den Anfang zu viel. Wirklich wesentlich für einen Debian-Mirror sind eigentlich nur die 2 Verzeichnisse "dists" und "pool". 3.1. Das "dists"-Verzeichnis Das "dists"-Verzeichnis enthält Paketinformationen zu den Paketen, die im aktuellen "Debian-Repository" enthalten sind. Wenn Sie das "Debian-Repository" in der Datei "/etc/apt/sources.list" vermerkt haben und ein Paket nachinstallieren, dann sucht APT zuerst im "dists"-Verzeichnis des "Debian-Repositorys" nach dem Paket, und zwar im Detail so:
Wenn ein Eintrag gefunden wurde, dann kann der Eintrag ausgewertet und das Paket installiert werden. 3.2. Das "pool"-Verzeichnis Natürlich hat in unserem Beispiel APT nur einen Eintrag zum zu installierenden Paket gefunden (die Paketinformation), jedoch nicht das zu installierende Paket selbst. Die Paketinformation enthält aber einen Untereintrag mit dem Namen "Filename". Die Pakete selbst sind Dateien, deren Namen auf ".deb" enden. Sie liegen im "pool"-Verzeichnis und die einzelnen Paketinformationen verweisen (mit Hilfe des Untereintrags "Filename") darauf. In unserem Beispiel findet APT also das zu installierende Paket im "pool"-Verzeichnis und kann es endlich installieren. 3.3. Mehr Hintergrundwissen Im Wesentlichen haben Sie nun den Aufbau und die Funktionsweise eines Debian-Mirrors verstanden. Mehr Details können Sie hier nachlesen: 4. Zusammenkopieren der Pakete in ein einziges VerzeichnisUnser Ziel besteht ja darin, aus 3 Debian-Mirrors (3 Debian-DVDs) einen einzigen Debian-Mirror zu machen. Dazu verwenden wir wieder einen Dateibrowser, z.B. den "Midnight Commander". Wie Sie bereits wissen, befinden sich die Pakete in den "pool"-Verzeichnissen der Debian-Repositories. Sie fügen diese Pool-Verzeichnisse nun wie folgt zu zusammen.
Wenn alles glatt gegangen ist, dann werden Sie feststellen, dass im 2. und im 3. Schritt keine einzige Datei überschrieben werden musste. Daran erkennen Sie, dass die Pakete von Debian Etch (R3) tatsächlich auf 3 DVDs aufgeteilt wurde, ohne Redundanzen. 5. Zusammenkopieren der Paketinformationen in ein einziges VerzeichnisWährend sich die "pool"-Verzeichnisse so leicht zusammenkopieren lassen, wird das bei den "dists"-Verzeichnissen etwas schwieriger. Wir werden es jetzt trotzdem tun. Nach dieser Aktion werden Sie verstehen, was am "dists"-Verzeichnis gegenüber dem "pool"-Verzeichnis die Herausforderung ist.
Wie Sie festgestellt haben, müssen im "dists"-Verzeichnis die Dateien ineinanderkopiert werden, weil eine Packages-Datei aus einer Aneinanderreihung von Paketinformationen besteht und die Paketinformationen, die vorher auf drei DVDs aufgeteilt waren, nun zusammenzufügen sind. Um ein Ineinanderkopieren zu erreichen, benutzen wir den "cat"-Befehl. Nach dem Ineinanderkopieren der Packages-Dateien müssen wir die Resultate noch komprimieren, weil APT auf die komprimierten Versionen zugreift: cd ../../main/binary-i386 cp -a Packages Packages.backup gzip -9v Packages mv Packages.backup Packages cd ../../contrib/binary-i386 cp -a Packages Packages.backup gzip -9v Packages mv Packages.backup Packages cd ../../main/debian-installer/binary-i386 cp -a Packages Packages.backup gzip -9v Packages mv Packages.backup Packages 6. Kopieren der InstallationsimagesIm Prinzip ist der Debian-Mirror nun fertig, bis auf eine Kleinigkeit: Wenn Sie den Debian-Mirror nutzen wollen, um daraus DVD-Images für Debian Etch R3 zu generieren (siehe Modul 0304), müssen Sie noch ein paar Installationsimages kopieren, die benötigt werden, wenn Sie von den DVDs aus ein Debian installieren möchten. Gehen Sie wie folgt vor:
Herzlichen Glückwunsch! Ihr Debian-Repository ist nun fertig! |