[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: afio und CD-R



On Mon, Sep 30, 2002 at 11:58:25PM +0200, Micha Wiedenmann wrote:

> Ja, danke! Das ist eigentlich erstmal die einfachste Methode. Hat
> jemand dafür ein vollautomatisches Skript incl. mkisofs und
> cdrecord?

mkisofs ist nicht zwingend nötig, da man die afio-Datei einfach roh
auf die CD brennen kann, und dann mit "afio -[i|t|r|p] <Optionen>
/dev/cdrom" zugreifen kann. Es ist auch nicht nötig, die Dateien erst
zwischenzuspeichern, afio kann direkt auf CD brennen! Mein Skript
sieht so aus:

/usr/bin/find / | nice --10 /bin/afio -o -Z -b 2048 -s 325000x -T 3k -v -W ~/afio-Yfile '!cdrecord dev=/dev/scsi/host0/bus0/target0/lun0/generic speed=1 fs=31m -v -multi -data - &> /dev/tty9'

Zur Erläuterung: find erzeugt die Liste der zu archivierenden Dateien
und übergibt sie per Pipe an afio. Die Optionen für afio sind in der
man-page nachzulesen. Wichtig ist -o (Archiv erstellen), -Z (gzip zur
Komprimierung verwenden), -W <file> gibt eine Datei an, in der die
auszuschließenden Dateien/Verzeichnisse stehen (z.B. tmp/*). Mit
'!<KommandoMitOptionen>' wird das Kommando für *jeden* Archiv-Teil
ausgeführt, und bekommt die afio-Datei an stdin.

Wichtig ist für cdrecord "fs=31m"[1] (ein großer FIFO-Buffer, damit
keine Buffer Underruns entstehen), "-" steht für Daten von stdin
lesen, "&> /dev/tty9" schickt alle Ausgaben von cdrecord auf Konsole
9, damit die Ausgaben von afio und cdrecord nicht durcheinander
kommen...

Die Anpassung des nice-Wertes von afio ist bei mir nötig, sonst
schafft es die Archivierung nicht schnell genug für den Brenner.

Ich weiß nicht, ob Dir das was nützt, bei mir funktioniert das
wunderbar... vielfach getestet.

> Kann es sein, dass man das erstellte Archiv nur mit den gleichen
> Kommandozeilenoptionen bearbeiten kann, mit denen man es erstellt
> hat?

Zumindest ist (im obigen Beispiel) -Z wieder nötig, um zu
dekomprimieren.

> Gruß und Dank, Micha

Christoph

[1] Wenn Du Buffer noch größer brauchst, mußt Du zuerst in
/proc/sys/kernel/shmmax einen größeren Wert (in Byte) eintragen.

-- 
Sicher ist, daß nichts sicher ist. Selbst das nicht.



Reply to: