Teil 71 - Kronberg Gymnasium
Transcrição
Teil 71 - Kronberg Gymnasium
Teil 71 - CDs Brennen Was leisten Brennprogramme? Eine "große" Brennprogramm-Suite wie Nero oder K3b bietet meist eine Vielzahl von Funktionen mit tief verschachtelten Menüs, die für den Einsteiger oftmals sehr verwirrend sind. Meist werden vier Funktionen angeboten: 1. Erstellen eines sogenannten Daten-"ISO"-Abbilds aus verschiedenen Dateien aus einem Verzichnis. 2. Brennen eines solchen Daten-"ISO"-Abbilds auf CD (oder DVD, die Begriffe werden hier synonym benutzt). 3. Auslesen (="Rippen") von Musik-CDs, um die einzelnen Titel anschließend im MP3-Format zu speichern. 4. Brennen von Musik-CDs mit einer eigenen Auswahl vorhandener MP3-Dateien. Welche Funktionen werden in dieser Übung behandelt? Davon gehören nur die Funktionen 1. und 2., also das Erstellen einer Daten-CD zu den Kernaufgaben eines Brennprogramms, die Funktionen 3. und 4. eher in den Bereich Multimedia (Vgl. Teil 17 - Multimedia) Daher wird hier versucht, die grundlegende Arbeitsweise mit Hilfe der im Hintergrund solcher grafischen "Frontends" benutzten Kommandozeilenbefehlswerkzeuge sichtbar zu machen. Häufig werden hierfür die Cdrtools ([Cdrkit]) verwendet, die entsprechend der oben angeführten Funktionen u.a. aus den folgenden Teilprogrammen bestehen: 1. mkisofs ([genisoimage] zum Erzeugen eines ISO-Dateisystems und Bestücken desselben mit Dateien) 2. cdrecord ([wodim] zum Brennen eines ISO-Abbilds auf eine CD) 3. cdda2wav (zum Auslesen einer Audio-CD in WAV-Dateien, wird hier nicht weiter besprochen) Es ist auch eine Windows-Version dieser Programme erhältlich, was einfaches Brennen per Batch-Programm erlaubt. (Es wird dann noch die Bibliothek cygwin1.dll benötigt.) Aufgaben 1. Lade das Archiv brennen.zip herunter und entpacke es. Betrachte nun die beiden darin enhaltenen Dateien in einem Texteditor mit Syntax-Einfärbung: Dateiname Quelltext brennen1_iso.sh #!/bin/bash # brennen1_iso.sh # Bildschirm Leeren clear # Variablen zum Anpassen ISOPROGRAMM='mkisofs' # alternativ probieren mit 'genisoimage' BRENNER='/dev/scd0' ISODATEINAME='cd_lernprogramme.iso' ISOVERZEICHNIS="$HOME/Desktop" QUELLVERZEICHNISNAME='cdinhalt' QUELLVERZEICHNISVERZEICHNIS="$HOME/Desktop" # Sich daraus ergebende Variablen ISO="${ISOVERZEICHNIS}/${ISODATEINAME}" QUELLVERZEICHNIS="${QUELLVERZEICHNISVERZEICHNIS}/$ {QUELLVERZEICHNISNAME}" # Schritt 1: Erstellen eines ISO-Abbilds # Schritt 1.1: Test, ob Konsolen-Isoprogramm 'mkisofs' istalliert ist ISOPROGRAMMZAHL=$(which $ISOPROGRAMM | wc -l) if [ $ISOPROGRAMMZAHL -lt 1 ]; then echo "Isoprogramm 'mkisofs' wurde nicht gefunden" echo "Installiere es mit 'sudo apt-get install mkisofs' nach" echo "und starte das Programm erneut" exit fi # Schritt 1.2: $ISOPROGRAMM \ -rational-rock \ -joliet \ -output "$ISO" \ $QUELLVERZEICHNIS Dateiname Quelltext brennen2_burn.sh #!/bin/bash # brennen2_burn.sh # Bildschirm Leeren clear # Variablen zum anpassen BRENNPROGRAMM='wodim' # alternativ probieren mit 'cdrecord' BRENNER='/dev/scd0' ISODATEINAME='cd_lernprogramme.iso' ISOVERZEICHNIS="$HOME/Desktop" # Sich daraus ergebende Variablen ISO="${ISOVERZEICHNIS}/${ISODATEINAME}" # Schritt 2: Abbild brennen # Schritt 2.1: Test, ob Konsolen-Brennprogramm 'wodim' istalliert ist BRENNPROGRAMMZAHL=$(which $BRENNPROGRAMM | wc -l) if [ $BRENNPROGRAMMZAHL -lt 1 ]; then echo "Brennprogramm 'wodim' wurde nicht gefunden" echo "Installiere es mit 'sudo apt-get install wodim' nach" echo "und starte das Programm erneut" exit fi # Schritt 2.2: Geraete auflisten echo "Diese Geraete stehen zur Verfuegung:" $BRENNPROGRAMM \ --devices sleep 5 # Schritt 2.3: Informationen ueber die eingelegte CD echo "Die eingelegte CD hat folgende Eigenschaften:" $BRENNPROGRAMM \ dev="$BRENNER" \ -atip sleep 5 # Schritt 2.4: Brennen echo "Der Brennvorgang wird gestartet..." $BRENNPROGRAMM \ dev="$BRENNER" \ driveropts=burnfree,noforcespeed \ fs=14M \ speed=8 \ -dao \ -eject \ -overburn \ -v "$ISO" if [ $? -lt 1 ]; then echo "Der Brennvorgang wurde abgeschlosen" fi 2. Lege geeignete Beispieldateien an oder verändere die Pfade so, dass Du beide Schritte auf Deinem PC erfolgreich nachvollziehen kannst. Wie lautet Dein Pfad zur Gerätedatei des Brenners? 3. Schreibe eine analoge Windows-Batch-Datei 4. Lege eine HTML-Seitenstruktur mit Unterverzeichnissen an und brenne sie möglichst Standardkonform auf eine CD. Wie könntest Du mit einer autorun.inf erreichen, dass sie möglichst auf jedem Betriebssystem automatisch geöffnet wird? 5. Vergleiche die in den beiden Skripten hier ausgewählten Kommandozeilen-Optionen und Parameter mit den Einstellungsmöglichkeiten, die ein "großes" Brennprogramm bietet! Nur für Fortgeschrittene: 6. Schreibe mit Zenity oder mit Python/Tkinter ein grafisches "Frontend" für die beiden Brennskripte!