Erstellen einer DVD aus den CDs

aus openSUSE, der freien Wissensdatenbank


Warnung
Bitte sorgfältig abwägen, wenn Sie diese Informationen für OpenSUSE V10.2 verwenden wollen. Wegen der Umstellung von 'Selections' auf 'Patterns' wird die OpenSUSE-DVD vielleicht nicht wie erwartet funktionieren. Es ist nicht möglich die CD6 einem installierten System hinzu zu fügen. Wir raten Ihnen dringend, erste Versuche mit einer Rewritable-DVD durch zu führen.


Inhaltsverzeichnis

Einführung

Immer wieder haben Nutzer aus unterschiedlichen Gründen nach einer einzelnen DVD an Stelle der CDs gefragt. Mit einem Skript namens makeSUSEdvd ist es recht einfach möglich, eine solche DVD zu erstellen. Zuerst müssen Sie dafür die CD-Abbilder herunter laden. Das können sowohl die NOVELL SUSE CDs, als auch die openSUSE CDs sein. Sie müssen diese nicht brennen, sondern nur in einem Verzeichnis speichern, in welchem sich dann nur die fünf CD-Abbilder befinden dürfen. Sie benötigen zur Ausführung des Programms allerdings das root-Passwort. Falls Sie das nicht haben, funktioniert das Programm nicht und Sie sollten die DVD von Hand erstellen.

Benutzen Sie immer die neueste Version von makSUSEdvd, da es sonst zu Fehlern bei neueren Versionen von SUSE Linux kommen kann.

Vorbereitung

Falls Sie makeSUSEdvd schon einmal ausgeführt haben, können Sie diesen Abschnitt überspringen. Starten Sie es einfach.

Falls nicht, installieren Sie die aktuelle RPM-Version von makeSUSEdvd. Sie können dann den Rest der Vorbereitung überspringen.

Möchten Sie dies nicht, öffnen Sie ein Konsolenfenster. Vergewissern Sie sich, dass noch genügend Festplattenplatz zur Verfügung steht; Sie benötigen fast 4 GB für die den Inhalt der CD-Abbilder und nochmal so viel für das fertige DVD-Abbild.

Die CD-Abbilder können sich gemeinsam irgendwo befinden, Sie müssen allerdings Schreibrechte für das Verzeichnis besitzen. In dem Verzeichnis dürfen sich außerdem nur die fünf Abbilddateien befinden, falls nötig, erstellen Sie eines mit

# mkdir SUSECD

Falls Sie im Verzeichnis /tmp nicht genügend Platz für die DVD haben, verändern Sie im Skript die Zeile DVD_DIR="/tmp/DVD_DIR" so, dass DVD_DIR auf einen Ort zeigt, an dem ausreichend Platz zur Verfügung steht.

In ihrem Heimatverzeichnis sollte sich ein Ordner namens ~/bin für ihre eigenen ausführbaren Dateien befinden und in ihrem Ausführungspfad eingetragen sein. Unter SUSE ist das standardmäßig so. Ist dies nicht der Fall, können Sie sich diesen Ordner selber erstellen. Wechseln Sie in ihr Heimatverzeichnis und geben folgendes ein:

# mkdir ~/bin

Tragen Sie ihn danach noch ihn ihren Ausführungspfad ein.

Laden Sie nun makeSUSEdvd herunter und entpacken es mit

# gunzip makeSUSEdvd.gz

Danach kopieren oder verschieben Sie es von dort wo Sie es entpackt haben mit

# mv makeSUSEdvd ~/bin/

Das Skript ist nun installiert und startbereit. Sollte sich bin nicht in ihrem Ausführungspfad $PATH befinden, können Sie es unter Angabe des kompletten Pfades starten.

# /home/ihrlogin/bin/makeSUSEdvd

Ein Neustart ihrer Konsole bringt es möglicherweise in ihren Ausführungspfad $PATH.

Das Skript ausführen

Wechseln Sie in das Verzeichnis mit den CD-Abbildern und führen sie dort

# makeSUSEdvd

aus. Stellen Sie vorher sicher, dass sich in diesem Verzeichnis nur die fünf CD-Abbilddateien befinden. Folgen Sie nun einfach den Anweisungen auf ihrem Bildschirm und die DVD-Abbilddatei dvd.iso wird standardmäßig in den Ordner /tmp/DVD_DIR/ kopiert, von wo aus Sie sie nach der Fertigstellung mit ihrem Brennprogramm brennen können. Sie können die Skriptparameter auch ändern, so dass das DVD-Abbild dort gespeichert wird, wo Sie wollen. Um diese Möglichkeiten zu sehen, starten Sie es einfach mit dem Parameter -h:

# makeSUSEdvd -h

Skripteinstellungen

Standardmäßig erwartet das Skript, von dort ausgeführt zu werden, wo sich die CD-ISOs befinden und schreibt das DVD-ISO dann in /tmp/DVD_DIR. Mit verschiedenen Parametern lässt sich das Skript aber auch flexibel anderen Gegebenheiten anpassen. Fügen Sie diese einfach hinter dem Skript hinzu. Sie werden im folgenden aufgeführt.

Hilfe anzeigen: -h

makeSUSEdvd -h Zeigt ihnen, welche Parameter benutzt werden können. Zu jedem Parameter wird eine Erklärung gegeben.

Interaktiv: -I

makeSUSEdvd -I Anstatt alle Optionen beim Start anzugeben, fragt das Skript nach den gewünschten Optionen und bietet Standardeinstellungen an.

Version anzeigen: -v

makeSUSEdvd -v Zeigt die Version des Skriptes.

CD-ISO Ordner vorgeben: -d

makeSUSEdvd -d /pfad/zu/iso Gibt den Ordner an, in welchem sich die CD-Abbilddateien befinden. Ohne diesen Parameter wird der Ordner benutzt, in dem das Skript aufgerufen wird.

DVD-ISO Ordner vorgeben: -o

makeSUSEdvd -o /pfad/zur/ausgabe Ausgabeverzeichnis, in welches das DVD-ISO-Abbild geschrieben wird.

Quellen Ordner vorgeben: -s

makeSUSEdvd -s /pfad/zu/quellen Quellenverzeichnis, wo die Quellen oder temporären Dateien gespeichert werden. Ideal wenn Sie die -i Option benutzen und die Quellen auf ihrer Festplatte für eine Netzwerkinstallation - beispielsweise unter /srv/ftp/suse - installieren wollen.

CDs an Stelle von ISO-Dateien benutzen: -c

makeSUSEdvd -c An Stelle der ISO-Abbilder werden CDs benutzt. Sie werden dann nach dem Platz gefragt, an welchem die CDs in das Dateisystem eingebunden sind. Standard ist /media/cdrom.

Kein DVD-ISO erstellen: -i

makeSUSEdvd -i - Die DVD-ISO wird nicht erstellt. Sie bekommen zusätzlich ein Beispiel genannt, was sie in GRUB und LILO einfügen müssen, um das System starten und ohne CD installieren zu können. Außerdem wird die Datei ~/.makeSUSEdvdrc erstellt, die von makeSUSEdvd -C weiterverarbeitet wird.

Mit dem Erstellen der ISO Datei fortfahren: -C

makeSUSEdvd -C fährt mit der Erstellung der ISO Datei fort nachdem Sie die Dateien bearbeitet haben und liest außerdem die Datei ~/.makeSUSEdvdrc ein, die mit der Option makeSUSEdvd -i erstellt wurde. Diese Option kann nicht mit anderen Optionen kombiniert werden.

Verzeichnis mit RPMs hinzufügen: -a

makeSUSEdvd -a Wenn Sie ein Verzeichnis mit RPM Dateien haben, können Sie dies zur ISO Datei hinzufügen. Das Verzeichnis (mit allen Unterverzeichnissen) wird in den Pfad suse/ in der ISO Datei hinzugefügt. Ebenso werden andere, "nicht-RPM-Dateien" hinzugefügt. Sie können die so hinzugefügten RPM-Dateien in YAST zur Installation auswählen. Wenn Sie z.B. die makeSUSEdvd RPM-Datei in /usr/local/bin/RPMS/noarch/ gespeichert haben, fügen Sie einfach das Verzeichnis /usr/local/bin/RPMS hinzu und Sie können makeSUSEdvd im Zuge der Neuinstallation Ihres SUSE Systems oder später über YAST installieren.

GPG Schlüssel benutzen: -g

makeSUSEdvd -g FOO wählt den Top GPG Schlüssel aus, der normalerweiser mit dem Befehl gpg --list-secret-keys FOO ausgegeben würde. Wenn kein Schlüssel gefunden werden kann, werden Sie aufgefordert, einen neuen Schlüssel zu erstellen und der neue Schlüssel wird benutzt.

Kombinationen des obigen

-h und -v können nicht kombiniert werden. Ebenso können -c und -s nicht gemeinsam genutzt werden. Ein Beispiel in dem die CD-Abbilder in einem anderen Verzeichnis installiert sind, keine DVD ISO erstellt wird und der Inhalt in ein FTP-Verzeichnis installiert wird:

# makeSUSEdvd -d download/cd -s /srv/ftp/suse -i

Ein Beispiel in dem ein DVD-Abbild von CDs erstellt wird und wo /tmp nicht groß genug ist, um sowohl die temporären Dateien als auch das DVD-ISO aufzunehmen:

# makeSUSEdvd -c -o /data1/DOS

Weitere Details zum Skript

  • Ab Version 0.30 können die meisten Standardoperationen auch ohne Kenntnis des root-Passworts ausgeführt werden. Nur für die Installation von Programmen entweder mit dem Befehl rpm oder über YaST brauchen Sie das root-Passwort.
  • Die Erstellung eines GPG Schlüssels wird angefordert wenn kein Schlüssel verfügbar ist.
  • Ein interaktiver Modus ist nun verfügbar.

Programme

Das Skript überprüft, ob verschiedene Programme installiert sind. Zuerst wird geprüft, ob create_package_descr installiert ist und richtig funktioniert. Wenn nicht, werden Sie gefragt, ob Sie mit rpm upgraden möchten. Wenn Sie die Frage verneinen, stoppt das Skript und Sie müssen "von Hand" installieren. Wenn Sie die *.gz Datei verwenden, kopieren Sie das Programm bitte in ein Verzeichnis, das in der Umgebungsvariable $PATH aufgeführt ist und machen Sie es mit chmod +x ausführbar.

Für die anderen Programme wird die Installation über YaST (wenn vorhanden) angeboten, ansonsten muss "per Hand" installiert werden.

Die folgenden Programme müssen installiert sein:

  1. create_package_descr. Dies ist ein PERL Programm, das speziell für diesen Zweck von SUSE geschrieben wurde. Bitte beachten Sie, daß die alte Version von create_package_descr von Novell's Webseite NICHT funktioniert (zumindest mit makeSUSEdvd 0.29 und SUSE 10.1 RC3). Sie sollten daher das Paket von Sourceforge herunterladen, entpacken und create_package_descr in ein Verzeichnis in Ihrem $PATH kopieren (z.B. nach /usr/bin/). Achten Sie darauf, daß die Datei ausführbar ist (chmod 755). Wenn möglich, installieren Sie das entsprechende RPM Paket, das ebenfalls bei Sourceforge verfügbar ist.
  2. rpm. Einige Distributionen enthalten es bereits, andere benötigen es noch. Falls es nicht installiert werden kann wird das Skript nicht laufen.
  3. mkisofs. Dieses wird dazu benötigt die ISO-Dateien zu erstellen und ist meistens schon installiert wenn Sie einen DVD-Brenner haben.
  4. gpg um die Dateien und ISO's zu signieren.

Sollte es nicht möglich sein, all diese Programme zu installieren, wird das Skript nicht funktionieren. Sobald alle notwendigen Programme installiert sind, läuft das Skript ganz normal ab.

Von Hand eine DVD aus einem CD-Set bauen

Diese Anleitung wurde auf der opensuse-Mailinglist gesendet. Sie wurde unter SUSE Linux 9.3 erarbeitet und mit 10.1 Beta1 und Beta2 ausprobiert. Die hier aufgeführten Anweisungen beziehen sich auf 10.1 Beta2, sollten aber auch mit anderen Versionen funktionieren. Sie benötigen für diese Vorgehensweise die Pakete "autoyast" und "autoyast-utils".

Diese Anleitung funktioniert höchstwahrscheinlich nicht mehr mit SUSE Linux 10.1 und neuer, da die Installationsquellen nicht digital signiert werden.


  • Laden Sie als erstes alle CDs von einem Spiegelserver in ihrer Näher herunter.
    Herunterladen
  • Dann binden Sie alle Abbilder über eine Schleife in ihr Dateisystem ein, dies erfordert root-Rechte. Etwa so:
    # mkdir -p /mnt/SL101B2CD01 && mount -o loop /path/to/iso/SUSE-10.1-CD-OSS-i386-Beta2-CD1.iso /mnt/SL101B2CD01
    # mkdir -p /mnt/SL101B2CD02 && mount -o loop /path/to/iso/SUSE-10.1-CD-OSS-i386-Beta2-CD2.iso /mnt/SL101B2CD02
    # mkdir -p /mnt/SL101B2CD03 && mount -o loop /path/to/iso/SUSE-10.1-CD-OSS-i386-Beta2-CD3.iso /mnt/SL101B2CD03
    # mkdir -p /mnt/SL101B2CD04 && mount -o loop /path/to/iso/SUSE-10.1-CD-OSS-i386-Beta2-CD4.iso /mnt/SL101B2CD04
    # mkdir -p /mnt/SL101B2CD05 && mount -o loop /path/to/iso/SUSE-10.1-CD-OSS-i386-Beta2-CD5.iso /mnt/SL101B2CD05
    
  • Kopieren Sie dann den Inhalt aller CDs an einen sicheren Platz. Etwa so:
    # mkdir -p /tmp/sl101b2dvd
    # cp -rfvp /mnt/SL101B2CD01/* /tmp/sl101b2dvd
    # cp -rfvp /mnt/SL101B2CD02/* /tmp/sl101b2dvd
    # cp -rfvp /mnt/SL101B2CD03/* /tmp/sl101b2dvd
    # cp -rfvp /mnt/SL101B2CD04/* /tmp/sl101b2dvd
    # cp -rfvp /mnt/SL101B2CD05/* /tmp/sl101b2dvd
    
  • Nun können Sie die CDs wieder aus ihrem Dateisystem entbinden. Etwa so:
    # umount /mnt/SL101B2CD01
    # umount /mnt/SL101B2CD02
    # umount /mnt/SL101B2CD03
    # umount /mnt/SL101B2CD04
    # umount /mnt/SL101B2CD05
    
  • Wechseln Sie nun in den Ordner in den Sie die CD-Inhalte kopiert haben. Da Sie am Ende nur noch ein Installationsmedium haben werden, können Sie dort alle media.* Ordner bis auf "media.1" löschen. Etwa so:
    # cd /tmp/sl101b2dvd
    # rm -rf media.2 media.3 media.4 media.5
    
  • Wechseln Sie nun in das Verzeichnis "media.1" und ändern Sie dort die Datei "media" mit einem Editor ihrer Wahl. Die Originaldatei enthält die Nummer "5", da normalerweise von fünf CDs für die Installation ausgegangen wird. Tauschen Sie diese gegen eine "1" aus und speichern Sie die Datei ab. Etwa so:
    # cd /tmp/sl101b2dvd/media.1
    # joe media
    # rm -f media~
    
  • Nun müssen Sie die Paketbeschreibungsdateien ändern, damit YaST weiß, wo sich die Pakete befinden. Stellen Sie sicher, dass Sie auf das komplette "boot" Verzeichnis Schreibrechte besitzen. Es könnten ein paar Fehler auftreten, welche Sie aber ignorieren können. Das ganze etwa so:
    # chmod 777 -Rv /tmp/sl101b2dvd/boot
    # cd /tmp/sl101b2dvd/suse
    # create_package_descr -x setup/descr/EXTRA_PROV -l english -l spanish -l french -l german -l czech -l hungarian -l italian
    
  • Nun müssen Sie noch das ISO-Abbild erstellen. Schreiben Sie das ganze etwa so in eine einzige Zeile.
    # mkisofs -v -V SU101OSS.001 -r -J -l -L -P "SuSE Linux AG" \
         -b "boot/<arch>/loader/isolinux.bin" \
         -c "boot/<arch>/loader/boot.cat" \
         -no-emul-boot -boot-load-size 4 -boot-info-table \
         -graft-points -o /tmp/openSuSE-10.1-beta2-DVD.iso \
         /tmp/sl101b2dvd
    

    Dabei ersetzen Sie "<arch>" durch Ihre Architektur, bspw. "i386".

  • Sie können dieses ISO-Abbild als eine virtuelle DVD für VMware benutzen oder - natürlich - auch auf eine richtige DVD brennen :-)

Zusätzliche Informationen und Links