Debian GNU/Linux-CD-ROMs sind im Handel, als Beilage zu Zeitschriften oder zum
Download als Image erhältlich. Natürlich bietet Debian Ihnen aber auch die Möglichkeit,
eigene bootfähige CDs herzustellen und diese an Ihre eigenen Bedürfnisse anzupassen.
Hierzu steht das Paket debian-cd
zur Verfügung.
Zunächst sollten Sie jedoch dafür sorgen, dass die benötigten Dateien für die CDs auf
Ihrem System vorhanden sind. Hierzu ist es üblich, eine lokale Kopie (Spiegel) der
gewünschten Architektur(en) (z.B. i386) anzulegen. Das Programm mirror
ist hierzu hervorragend geeignet.
Neben einigen gebräuchlichen Tools (wie zum Beispiel apt-get, perl, bash, make... ),
die auf jedem System vorhanden sein sollten, benötigt debian-cd
die Programme mkisofs
/ mkhybrid
, dpkg-multicd
, das Perl-MD5-Modul, dpkg-dev
und lynx
. Natürlich benötigen Sie auch noch einigen freien
Festplattenplatz.
Nach der Installation dieses Pakets finden sich die notwendigen Dateien im Verzeichnis /usr/share/debian-cd/
. In der Datei CONF.sh
müssen einige Zeilen angepasst werden.
export CODENAME=woody
- Hier wird die
Variable für die gewünschte Version gesetzt. Es sollte bei einem kompletten
Spiegel einer stabilen Version jederzeit möglich sein, die gewünschten CDs
zu erstellen. Bei Entwicklerversionen können dringend benötigte Pakete
fehlen, oder es sind noch keine angepassten Bootdisketten verfügbar. In
einem solchen Fall kann aber auch das Paket debian-cd
in einem Zustand sein, der es nicht
erlaubt, CDs zu erstellen.
export DEBVERSION="2.3
r0"
- Versionsnummer und Release-Stand der Distribution.
export
OFFICIAL="Unofficial"
- Dieser Wert sollte nicht verändert werden. Die Bezeichnung
„Official“ ist nur für CD-Images erlaubt, die vom
Debian-Projekt erstellt wurden. Für Vorabversionen kann hier auch die
Bezeichnung „Unofficial Beta“ benutzt werden.
export ARCH=`dpkg
--print-installation-architecture`
- Diese Variable beschreibt,
für welche Architektur die CD-Images erstellt werden sollen. Häufig wird
diese Architektur identisch mit der bereits verwendeten Architektur sein, so
dass man beruhigt dem Programm dpkg
die Aufgabe übertragen kann, den
richtigen Wert zu ermitteln. Natürlich ist es auch möglich, CD-Images für
eine andere Architektur zu erstellen. In diesem Fall ist der Wert
entsprechend anzupassen und natürlich müssen die benötigten Pakete für die
Zielarchitektur vorliegen. Je nach Zielarchitektur müssen ggf. noch weitere
Pakete, beispielsweise aboot
für die Alpha-Architektur, installiert werden.
Die nächsten vier Variablen sollten auf Verzeichnisse auf der gleichen Partition
und auf dem gleichen Device zeigen. Wenn dies nicht möglich ist, kann die Variable COPYLINK
auf 1
gesetzt werden. Dies benötigt einiges an
zusätzlichem Festplattenplatz, da keine symbolischen Links verwendet werden können.
Diese Option muss auch gesetzt sein, falls die Daten auf einem per NFS gemounteten
Laufwerk liegen.
export MIRROR=/home/ftp/debian
- Pfad zum
Debian Spiegel. Das Verzeichnis, unterhalb dessen sich die Kopie des
Debian FTP-Servers befindet.
export NONUS=/home/ftp/debian/debian-non-US
-
Das Verzeichnis, in dem sich die Dateien aus dem Non-US-Bereich befinden.
Wenn dieser Bereich nicht auf den CDs enthalten sein soll, kann diese Zeile
auskommentiert werden.
export FORCENONUSONCD1=1
- Wenn diese Zeile
durch Entfernen des Zeichens #
aktiviert wird, werden zwei Versionen der
ersten CD erzeugt. Eine enthält alle Pakete aus non-US, die andere nicht.
Diese Option ist nur sinnvoll, wenn tatsächlich beide CD-Images benötigt
werden.
export TDIR=/home/ftp/debian/.tmp
- Pfad zu
einem Verzeichnis, in dem Dateien, die zur Erzeugung der CDs benötigt
werden, abgelegt werden können.
export OUT=/home/ftp/CD-Images
- Pfad, in dem
die CD-Images abgelegt werden. Dieser kann sich auf einer anderen Partition
befinden.
Die weiteren Optionen müssen nicht zwingend angepasst werden; trotzdem lohnt es sich, einmal einen Blick darauf zu werfen.
export APTTMP=/home/ftp/debian/.tmp/apt
- Das
Verzeichnis für temporäre Dateien, die von apt
benötigt werden.
export NONFREE=1
- Beschreibt, ob auch die
Non-Free-Teile der Distribution auf den CDs enthalten sein sollen.
export EXTRANONFREE=1
- Hiermit werden die
Non-Free-Teile auf eine Extra-CD geschrieben. Bitte beachten Sie, dass nur
eine der Optionen NONFREE
oder EXTRANONFREE
benutzt werden kann.
export LOCAL=1
- Wenn ein Verzeichnis $MIRROR/dists/$CODENAME/local/binary-$ARCH
existiert und die Dateien aus diesem Verzeichnis auf die zu erstellende CD
kopiert werden sollen, so ist bei dieser Zeile das Kommentarzeichen (#
) zu entfernen.
export LOCALDEBS=/home/fr/pakate/debian
-
Wenn die lokalen Pakete nicht in dem oben beschriebenen Verzeichnis liegen,
so kann mit dieser Variablen das gewünschte Verzeichnis angegeben
werden.
export BOOTDIR=/boot
- Diese Variable ist zu
benutzen, wenn die Dateien cd.b
und second.b
nicht an der üblichen Stelle zu
finden sind und CD-Images für die Sparc-Architektur erzeugt werden.
export SYMLINK=1
- Mit dieser Option werden
symbolische Links zu den benötigten Paketen erzeugt.
export COPYLINK=1
- Hiermit werden alle
Dateien kopiert und keine symbolischen Links angelegt.
export MKISOFS=/usr/bin/mkhybrid
- Hier kann
der Pfad zum Programm mkhybrid
angegeben werden, mit dem die
ISO-Dateien erzeugt werden. Es kann auch ein anderes Programm mit
ähnlicher Funktionalität, beispielsweise mkisofs
, benutzt werden.
export MKISOFS_OPTS=" -a -r -T" #For normal
users
oder export MKISOFS_OPTS=" -a -r -F . -T" #For symlink
farmers
- Optionen für das Programm mkhybrid
.
export VERBOSE_MAKE=1
- Gibt mehr
Informationen während der Zusammenstellung der CD-Images aus.
ATTEMPT_FALLBACK=yes
- Mit dieser Option kann
versucht werden, eine einfachere CD zu erstellen, falls es ohne diese Option
fehlschlägt.
export
EXCLUDE="$BASEDIR"/tasks/exclude-potato
- Liste einiger Dateien,
die nicht enthalten sein sollen, in diesem Fall, um auf der ersten CD etwas
Platz zu sparen.
export
UNEXCLUDE2="$BASEDIR"/tasks/unexclude-CD2-potato
- Hiermit werden
die eben ausgeschlossenen Dateien auf die CD Nummer 2 geschrieben.
export
SRCEXCLUDE="$BASEDIR"/tasks/exclude-src-potato
- Liste einiger
Quellpakete, die ebenfalls nicht auf den CDs erscheinen sollen.
Hier sehen Sie ein Beispiel für eine bereits angepasste Konfiguration:
# # This file will have to be sourced where needed # # The debian-cd dir # Where I am (hoping I'm in the debian-cd dir) export BASEDIR=`pwd` # Building potato cd set ... export CODENAME=woody # Version number, "2.2 r0", "2.2 r1" etc. export DEBVERSION="4.0 r0" # Official or non-official set. # NOTE: THE "OFFICIAL" DESIGNATION IS ONLY ALLOWED FOR IMAGES AVAILABLE # ON THE OFFICIAL DEBIAN CD WEBSITE http://cdimage.debian.org export OFFICIAL="Unofficial" #export OFFICIAL="Official" #export OFFICIAL="Official Beta" # ... for arch export ARCH=`dpkg --print-installation-architecture` # IMPORTANT : The 4 following paths must be on the same partition/device. # If they aren't then you must set COPYLINK below to 1. This # takes a lot of extra room to create the sandbox for the ISO # images, however. Also, if you are using an NFS partition for # some part of this, you must use this option. # Paths to the mirrors export MIRROR=/home/ftp/debian # Comment the following line if you don't have/want non-US export NONUS=/home/ftp/debian/debian-non-US # And this option will make you 2 copies of CD1 - one with all the # non-US packages on it, one with none. Useful if you're likely to # need both. #export FORCENONUSONCD1=1 # Path of the temporary directory export TDIR=/home/ftp/debian/.tmp # Path where the images will be written export OUT=/home/fr/mp3/IMAGES # Where we keep the temporary apt stuff. # This cannot reside on an NFS mount. export APTTMP=/home/ftp/debian/.tmp/apt # Do I want to have NONFREE merged in the CD set export NONFREE=1 # Do I want to have NONFREE on a separate CD (the last CD of the CD set) # WARNING: Don't use NONFREE and EXTRANONFREE at the same time ! # export EXTRANONFREE=1 # If you have a $MIRROR/dists/$CODENAME/local/binary-$ARCH dir with # local packages that you want to put on the CD set then # uncomment the following line # export LOCAL=1 # If your local packages are not under $MIRROR, but somewhere else, # you can uncomment this line and edit to to point to a directory # containing dists/$CODENAME/local/binary-$ARCH # export LOCALDEBS=/home/joey/debian/va/debian # Sparc only : bootdir (location of cd.b and second.b) # export BOOTDIR=/boot # Symlink farmers should uncomment this line : # export SYMLINK=1 # Use this to force copying the files instead of symlinking or hardlinking # them. This is useful if your destination directories are on a different # partition than your source files. # export COPYLINK=1 # Options # export MKISOFS=/usr/bin/mkhybrid # export MKISOFS_OPTS="-a -r -T" #For normal users # export MKISOFS_OPTS="-a -r -F . -T" #For symlink farmers # uncomment this to if you want to see more of what the Makefile is doing export VERBOSE_MAKE=1 # uncoment this to make build_all.sh try to build a simple CD image if # the proper official CD run does not work #ATTEMPT_FALLBACK=yes # We don't want certain packages to take up space on CD1... export EXCLUDE="$BASEDIR"/tasks/exclude-potato # ...but they're okay on other CDs (UNEXCLUDEx == may be included on CD >= x) export UNEXCLUDE2="$BASEDIR"/tasks/unexclude-CD2-potato # Any packages listed in EXCLUDE but not in any UNEXCLUDE will be # excluded completely. # We also exclude some source packages export SRCEXCLUDE="$BASEDIR"/tasks/exclude-src-potato
Für das eigentliche Erstellen der CD-Image-Dateien stehen zwei Shell-Skripts zur
Verfügung. build.sh
erstellt Image-Dateien für eine einzelne
Architektur. Die gewünschte Architektur wird über die Konfigurationsdatei ermittelt
oder kann auf der Kommandozeile übergeben werden.
build_all.sh
erstellt CD-Image-Dateien für alle
Architekturen.
Wenn CD-Images für eine Entwicklungsversion von Debian erstellt werden sollen, so
kann es passieren, dass das Paket nicht auf dem allerneuesten Stand ist. In einem
solchen Fall bietet sich ein Versuch mit einer Entwicklungsversion von debian-cd
aus dem CVS-Baum an.
Eine komplette Kopie der CVS-Version kann mit folgenden Befehlen erstellt werden:
cvs -d :pserver:anonymous@cvs.debian.org:/cvs/debian-boot login cvs -d :pserver:anonymous@cvs.debian.org:/cvs/debian-boot -z3 checkout debian-cd cvs -d :pserver:anonymous@cvs.debian.org:/cvs/debian-boot logout
Im aktuellen Verzeichnis wird ein Verzeichnis debian-cd
erstellt, in dem sich die neuesten Dateien
befinden. Wenn diese Version aktualisiert werden soll, sind beim nächsten Aufruf
folgende Kommandos notwendig:
cvs -d :pserver:anonymous@cvs.debian.org:/cvs/debian-boot login cvs -d :pserver:anonymous@cvs.debian.org:/cvs/debian-boot -z3 update -d -P cvs -d :pserver:anonymous@cvs.debian.org:/cvs/debian-boot logout
© 1999 - 2024 | Das Debian GNU/Linux Anwenderhandbuch von Frank Ronneburg steht unter einer Creative Commons Namensnennung-Nicht Kommerziell-Keine Bearbeitung 3.0 Deutschland Lizenz.