Informatik und Kram

Da wir lange nicht wußten, wo wir das für die Uni ausgearbeitete Material unterbringen sollten und auch einen schrecklichen Drang hatten der Welt diverse Sachen aufzudrücken...

Brennen in der Konsole schnell und einfach
de-flagge aktiviert en-flagge deaktiviert

Ja, 2 Artikel an einem Tag! Was'n hier los?
Nein, das liegt einfach nur daran, dass ich gerade über ssh auf meinem Desktop eine CD brennen wollte und dabei natürlich ganz gimpig mit "ssh -Y" k3b auch darauf hätte starten können und dann das Fenster hier angezeigt werden würde.
Aber irgendwie ist das doch nicht wirklich nerdig genug, also kurzerhand mal direkt die Files aus der Konsole brenne, bzw. einfach das .bin/.cue auf die CD schweißen.
Hmm, wie ging das nochmal...
... achso, ja da war doch mal was mit "cdrecord"^^
mittlerweile heißt das ganze doch "wodim" und ist meistens als Paket mit dem Namen cdrkit zu bekommen (pacman -S cdrkit), weil da wieder irgendwas mit diversen Rechten und Lizenzen falsch gelaufen ist glaub ich, aber das soll mich nicht weiter interessieren, also schauen wir zunächst einmal ob wir unseren Brenner damit erkennen:
wodim --devices 	 
sollte mindestens einen Brenner als Info ausspucken. Falls dies nicht der Fall ist, sollte man mal dafür sorgen, dass man Schreibe- und Leserechte auf das entsprechende Device hat, welches in der Regel irgendwas /dev/hdX sein wird. Der einfachste - es soll schnell gehen Hack - ist hier ein klassisches chmod 777 /dev/hdX^^ Aber die meisten Distributionen haben bereits das Device mit einer Gruppe versehen (z.B. optical) zu welcher man nur noch den User hinzufügen muss, der Zugriff darauf haben soll. Dann noch reloggen nicht vergessen und es kann weiter gehen.
Zu aller erst kann ich mir nicht verkneifen darzustellen wie brutal leicht man eine CD unter Linux rippt:
dd if=/dev/hdX of=~/image.iso 	 
Wenn man das sieht, ist es eigentlich vollkommen klar, dass das so gehen muss, aber ich finde es einfach nur genial! dd ist halt auch einfach DAS Mördertool. Der Vollständigkeit halber hier noch flott, wie man denn so ein ISO Image direkt ins Filesystem mounten kann:
mount -t iso9660 -o loop image.iso /mnt/iso 	 
Die Zeile hat man sicher schon mal gesehen, wobei der -t iso9660 Parameter eigentlich überflüssig ist. Das einzig wichtige ist halt, dass der Kernel logischerweise Loop-Devices unterstützen sollte. (CONFIG_BLK_DEV_LOOP=y/m)
Unter Linux brennt es sich am besten wenn man ein ISO File hat. Das kriegt man natürlich sehr schön wenn man mit dd ein Image zieht. Aber leider ist das ja nicht immer der Fall, meist hat man auch ein .bin/.cue File vor sich liegen und das direkt zu brennen, na ja theoretisch gar kein Problem, aber ich empfinde es als nützlich sich das ganze einmal von innen anzuschauen, d.h. ich würde es gerne erst einmal mounten bevor ich das brenne. Also wollen wir unser .bin/.cue File zu einem ISO konvertieren? Klar, nichts leichter als das. Das hierfür benötige Tool nennt sich bchunk (pacman -S bchunk), und das konvertieren ist mit der folgenden Anweisung erledigt:
bchunk foobar.bin foobar.cue output 	 
Ja, bchunk schmeißt dann mit ziemlich informativem Output um sich und wird zu guter Letzt ein .iso File erstellen, falls es sich um eine Daten-CD handelt, bzw. einfach einige .cdr Files falls es eine Audio-CD war.
Gut gut, jetzt haben wir auch aus .bin Files ein .iso File gemacht, was fehlt? Na ja, wir könnten jetzt alle möglichen Formate abklappern. Aber bringen wird das nix, es findet sich für fast alles ein blaformat2iso Tool, welches mit Leichtigkeit das gegebene Format in ein .iso File konvertiert (z.B.: nrg2iso oder ccd2iso). Dann wäre da natürlich noch der einfachste Fall: Man möchte einfach einige Files von der Festplatte auf die CD hauen, dies kann man mittels mkisofs bzw. der Spaß heißt mittlerweile auch anders: genisoimage.
Prinzipiell kann ich euch mit Parametern für das Ding tot werfen, aber eigentlich geb ich ehrlich zu, dass ich mir auch nur die eine Anweisung hier gemerkt hat, weil das eigentlich für alles ausreicht:
genisoimage -U -J -R -f -o image.iso /path/to1 ... /path/toN 	 
So jetzt aber genug der ISO Erstellung, ach so ja ne nur kurz was die ganzen Parameter hier bei genisoimage machen. Das "-U" aktiviert einen Haufen anderer Parameter und besagt eigentlich nur, dass bei der .iso Generierung auf jegliche Standards geschissen werden soll. "-J" aktiviert die MS Joliet Extensions, wichtig um die CD unter Windoze > 98 lesen zu können. "-R" aktiviert die RockRidge Extensions, welche in erster Linie den ISO9660 Standard darum erweitern, dass auf der CD auch Rechte und ähnliches gespeichert werden zu den Files und dann noch "-f", was genisoimage dazu auffordert allen Symbolic-Links zu folgen.
So jetzt können wir auch endlich mal brennen, aber keine Sorge das hat schon seinen Grund wieso das ganz am Ende kommt, weil das ist mittlerweile wirklich nur noch ein Kinderspiel:
wodim -v dev=/dev/hdX -data image.iso 	 
Die Parameter sollten eigentlich alle klar sein. Das "-v" sorgt für ein wenig Progress-Output, ansonsten kann man die altbekannten Dinge wie den "speed" Parameter einfach vergessen, dieser wird automatisch auf das Maximum gesetzt, was ja meistens auch zu bevorzugen ist^^

Kommentare

Kommentar schreiben