Sie sind hier

Die größte PDF-Datei der Welt

Vorwort:
Ein sehr netter Kunde (oder vermutlich Mitarbeiter der Dokumentationsabteilung, etc.) bestand beim Projektende, dass er den GESAMTEN Quellcode des Rechners entgegen den vertraglichen Vereinbarungen in schriftlicher Form auf Papier bekommt, sonst würde er die Gelder nicht zur Bezahlung freigeben.
Nach langer Diskussion war er einverstanden, wenn ich ihm eine PDF-Datei liefere, die er sich herunterladen und selbst ausdrucken kann. Da der Quellcode von Debian-Linux 6 (Squeeze) nicht gerade klein ist, habe ich nachfolgendes halb-automatisches Verfahren zur Erzeugung der PDF-Dateien verwendet ...

ACHTUNG !!! Dies soll kein Aufruf sein, es nur zum Spaß selbst zu machen !!!

Alleine der Download von den Debian-Servern ist mit 22 GByte nicht gerade wenig und belastet die Server des Debian-Projektes nur unnötig. Ich möchte die Sache hier vielmehr dokumentieren und denjenigen als Lösung geben, die in die gleiche Lage geraten.

Ausgehend von Debian-Linux werden folgende Pakete benötigt:

  • pdfsam
  • libpodofo-utils

Schritt 1 : Download der Source-DVDs
Ein leeres Verzeichnis mit beliebigen Namen erstellen und dort die 6 Source-DVDs sowie die Update-DVD mittels wget herunterladen

mkdir id10t.doc
cd id10t.doc
wget http://cdimage.debian.org/debian-cd/6.0.4/source/iso-dvd/debian-6.0.4-source-DVD-1.iso
wget http://cdimage.debian.org/debian-cd/6.0.4/source/iso-dvd/debian-6.0.4-source-DVD-2.iso
wget http://cdimage.debian.org/debian-cd/6.0.4/source/iso-dvd/debian-6.0.4-source-DVD-3.iso
wget http://cdimage.debian.org/debian-cd/6.0.4/source/iso-dvd/debian-6.0.4-source-DVD-4.iso
wget http://cdimage.debian.org/debian-cd/6.0.4/source/iso-dvd/debian-6.0.4-source-DVD-5.iso
wget http://cdimage.debian.org/debian-cd/6.0.4/source/iso-dvd/debian-6.0.4-source-DVD-6.iso
wget http://cdimage.debian.org/debian-cd/6.0.4/source/iso-dvd/debian-update-6.0.4-source-DVD-1.iso

Benötigter Speicherbedarf : ca. 22 GByte (nur Images)

Schritt 2 : mounten aller DVDs und Auslesen der Dateien
Die Verzeichnisse src1 bis src7 erstellen und die iso-Images mounten:

for i in `seq 1 7` ; do mkdir src$i ; done
mount debian-6.0.4-source-DVD-1.iso src1 -o loop
mount debian-6.0.4-source-DVD-2.iso src2 -o loop
mount debian-6.0.4-source-DVD-3.iso src3 -o loop
mount debian-6.0.4-source-DVD-4.iso src4 -o loop
mount debian-6.0.4-source-DVD-5.iso src5 -o loop
mount debian-6.0.4-source-DVD-6.iso src6 -o loop
mount debian-update-6.0.4-source-DVD-1.iso src7 -o loop

Nun alle Dateien des pool-Verzeichnisse in den zu erstellenden Ordner source kopieren:

mkdir source
cd source
for i in `seq 1 7` ; do cp ../src$i/pool/* . -Rv ; done
for i in `seq 1 7` ; do umount ../src$i ; done

Benötigter Speicherbedarf : weitere 22 GByte (nur source-Verzeichnis)

Schritt 3 : Entpacken der Quellcode-Archive
In den Source-Ordnern gibt es folgende Datei-Arten (mit Angabe, wie ich diese behandle):

  • *.dsc ===> Prüfsummendatei ... lasse ich mit ausdrucken
  • *.tar.gz ===> Gepacktes Archiv ... muss entpackt werden
  • *.tar.bz2 ===> Gepacktes Archiv ... muss entpackt werden
  • *.diff.gz ===> Komprimierte Datei für das patch-programm mit Angaben der von Debian durchgeführten Änderungen ... lasse ich nach Dekompression mit ausdrucken

Nun geht es ans entpacken ... (bitte Geduld mitbringen)

dnam=`pwd` ; for i in `find . -type f | grep ".tar.gz"` ; do cd `dirname $i` ; tar -xvf `basename $i` ; rm `basename $i` ; cd $dnam ; done
dnam=`pwd` ; for i in `find . -type f | grep ".tar.bz2"` ; do cd `dirname $i` ; tar -xvf `basename $i` ; rm `basename $i` ; cd $dnam ; done
dnam=`pwd` ; for i in `find . -type f | grep ".diff.gz"` ; do cd `dirname $i` ; gunzip $i ; `basename $i` ; cd $dnam ; done

In den Schleifen lasse ich die gerade entpackten Archive gleich löschen, da diese nicht weiter benötigt werden und kostbaren Festplattenplatz benötigen.

Benötigter Speicherbedarf : >200 GByte (nur source-Verzeichnis)

 

To be continued ...