16.5. Procedura di masterizzazione On The Fly

Con una macchina abbastanza potente (almeno un PII 350 o equivalente; ma c'è chi ci riesce anche con processori meno performanti) è possibile saltare la fase di creazione dell'immagine iso, passando l'output di mkisofs direttamente in pasto a cdrecord.

IMG_SIZE=`mkisofs -R -q -print-size dir_da_esportare/ \
    2>&1 | sed -e "s/.* = //"`
echo $IMG_SIZE
[ "0$IMG_SIZE" -ne 0 ] && mkisofs -r dir_da_esportare/ \
    | cdrecord speed=4 dev=0,0,0 tsize=${IMG_SIZE}s -data -
     

Il trattino finale non è un errore, indica di prendere i dati dallo standard input. L'impostazione della variabile IMG_SIZE serve per verificare la dimensione dell'immagine che mkisofs andrà a creare. Questo parametro verrà passato a cdrecord con l'opzione "tsize". Perché questo casino? Perché alcuni masterizzatori non ne vogliono sapere di cominciare questa operazione senza prima conoscere la dimensione del file immagine. Se il vostro non è uno di questi potete anche saltare ed usare una banale pipe

mkisofs -v -l -T -r -D -J /dir/da/esportare | \
    cdrecord -v -eject speed=8 dev=0,0,0 -data -
     

Se volete semplicemente fare una copia di un cd distinguiamo 2 casi: