Seconda Parte

Prime Prove

Lanciamo subito cdrecord senza alcun parametro e prendiamo visione dei comandi e delle opzioni di questo applicativo. Come e' opportuno, cominciamo a vedere alcuni esempi su come masterizzare, in modalita' dummy (ossia prova, a laser spento). Supponiamo di essere in una directory contentente un file immagine mds-woody-1.iso; per creare o catturare un'immagine iso vedi piu' avanti.

cdrecord dev=0,5,0 speed=4 -eject -dummy -data mds-woody-1.iso
e' un comando abbastanza intelleggibile.
  • dev=0,5,0 indica il dispositivo di scrittura.
  • speed=4 indica la velocita' di scrittura.
  • -eject indica di effetuare l'eject dopo la masterizzazione
  • -dummy mi indica di fare tutto per prova, a laser spento
  • -data mi indica il tipo di traccia da scrivere (traccia dati)
  • mds-woody.iso e' il file che contiene la traccia da scrivere.

    Ecco che il nostro masterizzatore finge (-dummy) di fare il suo dovere; senza indicare poco o niente sulla masterizzazione in corso. Ecco allora che aggiungiamo ai vari parametri anche -v (o -vv) per rendere piu' prolisso l'output delle informazioni.
    Se invece di un cd dati io volessi confezionare un cd audio delle tracce tr1.wav, tr2.wav e successive,niente di piu' semplice:

    cdrecord dev=0,5,0 speed=4 -v -eject -dummy -audio tr*.wav

    Se io volessi limitare la pausa audio tra una traccia e le successive, e' opprotuno inserire tra i parametri anche defpregap=0 e pregap=0.

    Alcune opzioni di cdrecord sono "ripetibili", cioe' posso indicarli piu' volte nella riga di comando, se per esempio volessi un pregap diverso dopo la traccia 1 e poi tornare con pregap normale per le successive posso fare:

    cdrecord dev=0,5,0 speed=4 -v -eject -dummy -audio tr1.wav pregap=3 tr2.wav pregap=0 tr3.wav tr4.wav

    Lo stesso posso indicare se voglio fare un cd misto dati e audio:

    cdrecord dev=0,5,0 speed=4 -v -eject -dummy -data mds-woody-1.iso -audio tr*.wav

    In questo modo ci sara' una traccia dati e poi tracce audio.

    Una volta sicuri di tutto cio' togliete i -dummy e scatenate la vostra frenesia di incidere.

    Drive ad alta velocita' di scrittura o con dati in rete

    Nel caso abbiate drive particolarmente veloci, pc non proprio alla moda, utilizziate piu' masterizzatori contemporaneamente sullo stesso pc o abbiate i dati in un drive di rete, consiglio di usare i parametri aggiuntivi:

  • driveropts=burn-proof nel caso il masterizzatore lo supporti fs=12000000 per impostare una fifo seondaria di poco meno di 12Mb

  • Per l'opzione fs=x bisogna tener conto che cdrecord utilizza la cache del masterizzatore e in piu' di default ci aggiunge 4Mb di cache secondaria. Se uno non vuole fifo secondaria puo' indicare fs=0, se ne vuole di piu' fa diversamente.
    Ricordo a chi comunque avesse avuto brutte avventure con Window$ che cdrecord si garantisce risorse a sufficienza, quindi mentre masterizzate potete benissimo fare qualsiasi altra attivita', provare per credere.
    Per le tracce audio, se sono grabbate da un cd nessun problema, se sono confezionate "a mano" o remixate potrebbero aver bisogno del parametro -pad. Infatti la dimensione delle tracce audio deve essere multipla della dimensione del settore. Se non lo e' con -pad si riempie il gap tra dimensione reale e dimensione canonica con del silenzio, se non si mette -pad cdrecord si impunta e non masterizza.

  • Creare immagini ISO

    ci sono due problematiche base:

    Ho un cd e voglio copiarlo e voglio fare un cd di parte del mio disco.

    Per la prima la creazione dell' immagine iso e' triviale:

    cat /dev/cdrom >immagine.iso

    e trasferite byte per byte tutto il cd nel file immagine.iso.

    Attenzione, questo e' vero solo se il cd e' ad unica sessione, piu' avanti quando affronteremo la multisessione vedremo come fare altrimenti.

    Per fare una immagine iso da una directory basta la seguente sintassi:

    mkisofs -J -l -R -o /root/immagine.iso /usr/share/doc

    dove -J -l -R aggiungono all' immagine iso le estensioni Joliet per Window$, abilita i nomi lunghi e le estensioni Rock-rige per Unix.

    L' opzione -o sta per output file e come parametro ha il nome del file; infine si indica la directory da salvare.

    Per le altre opzioni fare cdrecord -help e leggere con molta pazienza.

    Degne di nota sono:

    -V per impostare un titolo a tutto il cd

    -print-size per stimare soltanto la dimensione del file iso

    Una volta fabbricata una immagine iso prima di masterizzarla la verifichiamo montandola come loop sotto la direcitory /mnt/test: (se non c'e' createvela, e' sovente utile)

    mount -o loop /root/immagine.iso /mnt/test
    cd /mnt/test
    ls -laF
    du -m
    cd /root
    umount /mnt/test

    a questo punto masterizziamola con il comando

    cdrecord dev=0,5,0 speed=4 -v -eject -data immagine.iso

    Operazioni non convenzionali ma Utili

    L' indicazione di un file iso come traccia dati ha i suoi vantaggi, ma non e' un vincolo.

    possiamo per esempio dire a cdrecord di memorizzare direttamente un altro tipo di filesystem.

    Per esempio se /dev/hda1 contiene una partizione hfs io posso masterizzare una partizione hfs con il comando:

    cdrecord dev=0,5,0 speed=4 -v -eject -data /dev/hda1

    Ecco che il cd risultante riusciro' a leggerlo soltanto da Linux con

    mount -t hfs /dev/cdrom /cdrom

    oppure da un pc Machintosh.

    Posso fare lo stesso con qualsiasi tipo di partizione, con l'obiettivo di riuscire a leggerla da Linux e sicuramente non da Window$.

    Una applicazione alquanto curiosa e' quella di salvare non tanto una partizione ma un file archivio direttamente su cd; posso fare un archivio zip, tgz o tar.gz e poi darlo in pasto a cdrecord.

    tar cvzf /root/homes.tgz /home
    cdrecord dev=0,5,0 speed=4 -v -eject -data /root/homes.tgz
    rm -rf /root/homes.tgz

    In questo modo avro' scritto direttamente dal primo settore del cd un file tgz illeggibile pressoche' a chiunque se non a conoscienza dello startagemma, in piu' essendo i dati compressi con il gzip, il mio cd potra' contenere da 1 a piu' Gigabytes di dati, a seconda dei dati stessi, espandendo le possibilita' di utilizzare ancora il cd come unita' di backup.

    Per estrarre il contenuto del file tgz da riga di comando bastera' eseguire

    tar xvzf /dev/cdrom

    Se per masterizzare e estrarre dati posso indicare direttamente i dispositivi (/dev/hda1, /dev/cdrom), posso farlo anche con cdrecord.

    cdrecord dev=0,5,0 speed=4 fs=32000000 -v -eject -data /dev/cdrom

    fara' la copia al volo del contenuto del cdrom messo nel primo lettore.

    ATTENZIONE! cdrecord vi avvisera' che non conosce la dimensione iniziale dell'immagine iso e che potrebbero verificarsi cose strane.

    In piu' consiglio una fifo secondaria consistente (32Mb) per i cd con qualche striscio ed eventualmente l'abilitazione del burn-proof.

    la masterizzazione dovrebbe avvenire senza problemi, nel caso alla fine cdreord si impappini e non faccia il fixating, basta eseguirlo manualmente dopo con

    cdrecord dev=0,5,0 speed=4 -v -fix

    Multisessione

    Per i cd multisessione bisogna adottare qualche accorgimento in piu'.

    La prima sessione si fa normalmente, ricordando pero' di indicare a cdrecord l'opzione -multi Per le tracce successive e' necessario utilizzare l'opzione -msinfo con il cdrecord per ottenere le specifiche delle sessioni precedenti.

    fatto questo bisogna usare mkisofs con le opzioni:

    -C per i parametri otteuti da cdrecord

    -M per la sessione precedente

    Nel caso si voglia semplicemente copiare un cd multisessione, conviene montarlo, fare una nuova unica sessione con mkisofs e masterizzare la nuova immagine.

    CD riscrivibili

    Non occorre prendere precauzioni ulteriori, ma ricordare che:
  • il masterizzatore potrebbe non supportare i riscrivibili
  • la velocita' per i riscrivibili potrebbe essere inferiore
  • e' opportuno segnare quante volte un riscrivibile e' stato masterizzato

    L'unica notizia degna di nota e' come cancellare un riscrivibile, per la quale operazione basta fare

    cdrecord dev=0,5,0 speed=4 blank=fast

    ricordando che fast serve per una cancellazione veloce, per altre possibilita' basta indicare blank=help.

  •