Solved: Debian-Mirror aus ISO-Images erzeugen?

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
dolphin
Beiträge: 362
Registriert: 01.05.2006 11:48:24

Solved: Debian-Mirror aus ISO-Images erzeugen?

Beitrag von dolphin » 15.06.2008 14:46:15

Hi!

Ich brauche in manchen Situationen eine sehr eindeutige Version von Debian auf Rechnern,
die nicht mit dem Internet verbunden sind. Eindeutig heißt hier: "Etch R0" und "Etch R3" sind
zwei völlig voneinander verschiedene Betriebssystemversionen, da R3 z.B. Bugs oder signifikante
Änderungen hat, die R0 noch nicht hat.

Die Eindeutigkeit stellte ich bis Etch R0 noch sicher, indem ich die DVD-Images heruntergeladen
und von denen Software nachinstalliert hatte. Seit R3 geht das ja nicht mehr, weil dort ein Bug oder eine
Änderung eingebaut wurde, die APT-GET dazu veranlasst, dass DVD2 und DVD3 nicht mehr
als Quelle für Softwarenachinstallationen gefunden werden können.

Auf diesen ärgerlichen Umstand reagiere ich nun, indem ich ab sofort nicht mehr von DVD-Images
Software nachinstallieren möchte, sondern von einem Debian-Mirror, den ich mir vorher
anfertigen möchte.

Da ich die eindeutigen DVD-Images bereits lokal da habe, moechte ich aus diesen
Images einen Debian-Mirror generieren.

Jetzt das Problem: Wenn ich den Befehl "debmirrror" benutze, dann erwartet
"debmirrror" immer einen Host, von dem er die Pakete für den zu erzeugenden
Mirror holt. Ich möchte aber nicht die Pakete von irgendwelchen Hosts holen, deren
Versionsstand ich ja nicht beeinflussen kann, sondern als Quelle für die Pakete möchte
ich die eindeutigen DVD-Images nehmen.

Erschwerend kommt hinzu, dass ich im Netz keine Dokumentation finde, die mir
die Verzeichnisstruktur eines Mirrors erklärt (z.B. /pool/main/...), so dass ich hier schon
wieder per Trial-and-Error dieses Zeugs studieren muesste um dann irgendwas
per Hand hinzuprickeln, dass dann irgendwann mal das macht, was ich will, aber
ich nicht genau weiss, warum es das so macht, wie ich es will. Eine Doku wäre
schlicht der sauberere Ansatz.

Also:
  • Wer weiß, wie man debmirror dazu bringen kann, als Quelle keinen Server, sondern DVD-Images oder Verzeichnisse zu verwenden?
  • Wenn das nicht geht, wer kennt ein Tool, das mir das so machen würde?
  • Wenn es ein solches Tool nicht gibt: Wer kennt eine Dokumentation, die mir den Aufbau eines Debian-Mirrors exakt beschreibt, so dass ich das Thema ERST verstehe und DANN mein Problem löse?
Ich freue mich über Input, der zur Beantwortung der obigen Fragen beiträgt.
Besten Dank schon mal im Voraus

dolphin
Zuletzt geändert von dolphin am 20.06.2008 18:14:32, insgesamt 1-mal geändert.

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22453
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Re: Debian-Mirror aus ISO-Images erzeugen?

Beitrag von KBDCALLS » 15.06.2008 15:35:41

Kann ich mir eigentlich schlecht vorstellen das die Etch R3 nur die erste DVD als Quelle akzeptiert. Was macht man mit einem Rechner der keine Verbindung zum Internet hat ? Wo hast du das her ?

Um einen Lokalen Mirror zu erstellen, könntest du die DVDs auf die Fesplatte kopieren, die Verzeichnisstruktur dabei komplett erhalten. Dann kann man mit ftp-archive eine neue Package Datei erstellen. Und in der Sources.list fügt man einen Eintrag ein der mit file:/ beginnt.

So sieht der Aufrunf von ftp-archive aus.

Code: Alles auswählen

apt-ftparchive packages  pool/ dists/lenny/main/binary-i386/Packages  > dists/lenny/main/binary-i386/Packages
Das ist der Eintrag in der Sources.list

Code: Alles auswählen

deb file:/home/matthias/hdd1/openoffice.org-3.0/ lenny main
Ich habe mir zu Testzwecken ein eigens Repository für openoffice.org 3.0 erstellt.

Mit der gleichen Struktur könnte ich mir auch einen eigenen lokalen ftp server aufsetzen.

dolphin hat geschrieben:Erschwerend kommt hinzu, dass ich im Netz keine Dokumentation finde, die mir
die Verzeichnisstruktur eines Mirrors erklärt (z.B. /pool/main/...), so dass ich hier schon
Das kann nicht sein. Bitte

http://debiananwenderhandbuch.de/debian ... ories.html
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

dolphin
Beiträge: 362
Registriert: 01.05.2006 11:48:24

Re: Debian-Mirror aus ISO-Images erzeugen?

Beitrag von dolphin » 15.06.2008 16:56:46

KBDCALLS hat geschrieben:Kann ich mir eigentlich schlecht vorstellen das die Etch R3 nur die erste DVD als Quelle akzeptiert.
Da wurde etwas intern geändert, so dass die Anbindung der DVD-Images an das APT-System nicht mehr so
funkioniert, wie sie soll. Ich denke, ich sollte erstmal das Thema intensiv studieren. Dann weiß ich genug und kann hier
später nachreichen, was genau sich in R3 gegenüber R0 geändert hat.
KBDCALLS hat geschrieben: Was macht man mit einem Rechner der keine Verbindung zum Internet hat ?
Programmieren, neue Technologien ausprobieren, Texte schreiben, Daten verwalten. Und das alles, ohne
Angst haben zu müssen, gehackt zu werden. Weil da niemand rauf kommt, brauch ich keine lästigen
Sicherheitsvorkehrungen, sondern kann alles so einrichten, wie es für mich bequem ist.
KBDCALLS hat geschrieben: Wo hast du das her ?
Ich installiere verschiedene Debian-Versionen unter absolut identischen Bedingungen. Während
R0 fehlerfrei durchläuft, gibt es bei R3 nachvollziehbar Probleme. Sozusagen hab ich es im
Eigenversuch unter "klinischen Bedingungen" herausgefunden. Mehr dazu reiche ich wie gesagt nach,
da ich die Ursache des unterschiedlichen Verhaltens noch nicht sauber erforscht habe.
KBDCALLS hat geschrieben: Um einen Lokalen Mirror zu erstellen, könntest du die DVDs auf die Fesplatte kopieren, die Verzeichnisstruktur dabei komplett erhalten. Dann kann man mit ftp-archive eine neue Package Datei erstellen. Und in der Sources.list fügt man einen Eintrag ein der mit file:/ beginnt.

So sieht der Aufrunf von ftp-archive aus.

Code: Alles auswählen

apt-ftparchive packages  pool/ dists/lenny/main/binary-i386/Packages  > dists/lenny/main/binary-i386/Packages
Das ist der Eintrag in der Sources.list

Code: Alles auswählen

deb file:/home/matthias/hdd1/openoffice.org-3.0/ lenny main
Ich habe mir zu Testzwecken ein eigens Repository für openoffice.org 3.0 erstellt.

Mit der gleichen Struktur könnte ich mir auch einen eigenen lokalen ftp server aufsetzen.

dolphin hat geschrieben:Erschwerend kommt hinzu, dass ich im Netz keine Dokumentation finde, die mir
die Verzeichnisstruktur eines Mirrors erklärt (z.B. /pool/main/...), so dass ich hier schon
Das kann nicht sein. Bitte

http://debiananwenderhandbuch.de/debian ... ories.html
Danke! Ich schau mir das alles mal an, in den nächsten Tagen. Ich melde ich mich,
wenn ich weitergekommen bin. Wenn ich ganz durch bin, schreibe ich wie üblich einen
Bericht mit dem kompletten Lösungsweg.

dolphin

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22453
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Re: Debian-Mirror aus ISO-Images erzeugen?

Beitrag von KBDCALLS » 15.06.2008 17:16:21

dolphin hat geschrieben:
KBDCALLS hat geschrieben: Was macht man mit einem Rechner der keine Verbindung zum Internet hat ?
Programmieren, neue Technologien ausprobieren, Texte schreiben, Daten verwalten. Und das alles, ohne
Angst haben zu müssen, gehackt zu werden. Weil da niemand rauf kommt, brauch ich keine lästigen
Sicherheitsvorkehrungen, sondern kann alles so einrichten, wie es für mich bequem ist.
Das haste mich jetzt etwas mißverstanden. Ich meinte eher wie will man solch einen Rechner aktualsieren. Wenn er nur die erste DVD als Quelle akzeptiert. Das würde dann ja bedeuten, das ich diesen Rechner nicht auf R4 mittels DVDs aktualisieren kann. Ich meinte jetzt die DVD auf der sich nur die Pakete befinden die wirklich ein Upgrade erhalten haben.
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

dolphin
Beiträge: 362
Registriert: 01.05.2006 11:48:24

Re: Debian-Mirror aus ISO-Images erzeugen?

Beitrag von dolphin » 18.06.2008 20:12:24

So. Hab soeben ein Etch R3 frisch aufgesetzt.
Die DVDs sind uebrigens von hier:

Code: Alles auswählen

http://cdimage.debian.org/debian-cd/4.0_r3/i386/iso-dvd/
--> debian-40r3-i386-DVD-1.iso
--> debian-40r3-i386-DVD-2.iso
--> debian-40r3-i386-DVD-3.iso
Nachdem ich die 3 DVD-Images in die "/etc/fstab" eingebunden habe
(um sie dauerhaft zu mounten), nach einem Reboot diese Quellen in der
"etc/apt/sources.list" verankert habe, und anschliessend ein "apt-get update"
ausgefuehrt habe, bekomme ich waehrend des "APT-Updates" folgende
fehlergespickte Ausgabe an die Backe geworfen:

Code: Alles auswählen

Ign file: etch Release.gpg
Ign file: etch Release.gpg
Ign file: etch Release.gpg
Get: 1 file: etch Release [817B]
Get: 2 file: etch Release [495B]
Get: 3 file: etch Release [495B]
Err file: etch/contrib Packages
  File not found
Err file: etch/contrib Packages
  File not found
Failed to fetch file:/debian-mirror/dvd2/dists/etch/contrib/binary-i386/Packages
.gz File not found
Failed to fetch file:/debian-mirror/dvd3/dists/etch/contrib/binary-i386/Packages
.gz File not found
Reading package lists... Done
E: Some index files failed to download, they have been ignored, or old ones used
 instead.
Vereinfacht gesagt, der Unterschied zwischen Etch R0 und Etch R3 ist der, dass
bei Etch R0 die "contrib"-Pakete auf allen 3 DVDs verteilt waren und bei Etch R3
die "contrib"-Pakete sich allesamt auf der DVD 1 befinden.

Das wiederum heißt, dass bei Etch R3 auf DVD 2 und DVD 3 keine
"contrib"-Pakete vorhanden sind, sondern nur die "main"-Pakete.

Darauf war ich nicht vorbereitet. Während bei Etch R0 noch folgende Befehle
korrekt waren

Code: Alles auswählen

echo -e -n "deb file:/debian-mirror/dvd1 etch main contrib\n">/etc/apt/sources.list
echo -e -n "deb file:/debian-mirror/dvd2 etch main contrib\n">>/etc/apt/sources.list
echo -e -n "deb file:/debian-mirror/dvd3 etch main contrib\n">>/etc/apt/sources.list
muss ich bei Etch R3 jeweils bei DVD 2 und 3 das "contrib" weglassen, also so:

Code: Alles auswählen

echo -e -n "deb file:/debian-mirror/dvd1 etch main contrib\n">/etc/apt/sources.list
echo -e -n "deb file:/debian-mirror/dvd2 etch main\n">>/etc/apt/sources.list
echo -e -n "deb file:/debian-mirror/dvd3 etch main\n">>/etc/apt/sources.list
Jetzt, wo ich es erkannt habe, ist alles ploetzlich nicht mehr so mysterioes.

Damals, als ich im Stess war, einen neuen Rechner aufsetzen musste und
mit der neuen Hardware gekaempft hatte, sah es aus, als waeren die
Paketbeschreibungen aller 3 DVDs auf DVD 1 gewandert, so dass ich damit
gerechnet hatte, dass er auf den beiden anderen DVDs nichts mehr finden
wird. Unter Zeitdruck hatte ich dann einfach statt R3 das R0 genommen und
das Thema "R3" auf einen spaeteren Zeitpunkt verschoben, wenn ich wieder
mehr Zeit fuer Nachforschungen habe. Dieser Zeitpunkt ist jetzt.

Der Unterschied zwischen R0 und R3 ist jetzt also analysiert. Mit dem
eigentlichen Thema "Mirror" mach ich voraussichtlich morgen weiter.

dolphin

dolphin
Beiträge: 362
Registriert: 01.05.2006 11:48:24

Re: Debian-Mirror aus ISO-Images erzeugen?

Beitrag von dolphin » 20.06.2008 18:13:55

So. Ich bin jetzt durch. Eigentlich ist es ganz einfach, denn ein Debian-Repository
besteht im Wesentlichen aus zwei Teilen:
  • dem "dists"-Verzeichnis
  • und dem "pool"-Verzeichnis.
Das "dists"-Verzeichnis enthält die Paketinformationen, welche u.a. die Verweise zu den Paketen
enthalten. Die Deb-Pakete selbst liegen dann im "pool"-Verzeichnis.

Um die 3 DVD-Images zu einem einzigen Debian-Repository zusammenzufassen, hab ich
einen Weg gefunden, der auch ohne apt-ftparchive auskommt:

Die "pool"-Verzeichnisse der drei DVD-Images kopiere ich mit dem Midnight-Commander
in ein einziges Verzeichnis zusammen. Das funktioniert, ohne dass eine Datei eine
jeweils andere mit gleichem Namen ueberschreiben will.

Bei den "dists"-Verzeichnissen kopiere ich die Packages-Dateien mittels "cat quelldatei>>zieldatei"
zusammen. Anschliessend packe ich die so zusammengefassten Packages-Dateien mit "gzip".

Damit ich aus diesem Repository dann mittels "jigdo-lite" wieder DVD-Images generieren
kann (die Umkehrung des Ganzen), benoetigt das Debian-Repository neben pool und
dists noch ein drittes Verzeichnis von DVD1: Das Verzeichnis install.386 (enthaelt
hauptsaechlich Installationsimages).

Mit diesem Wissen bin ich nun in der Lage, aus den Installations-DVDs einen Debian-Mirror zu
generieren und (umgekehrte Richtung) aus dem Debian-Mirror Installations-DVDs, und zwar
mit einem Rechner, der nicht mit dem Internet verbunden sein muss.

Morgen frueh stelle ich diese Erkenntnisse auf meinem Portal online. Wenn jemand
dort die Details meines Versuchsaufbaus (ready to copy and paste) nachlesen will,
einfach hier nach der URL fragen.

dolphin

Antworten