Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Masterizzare con Linux

Link copiato negli appunti

L'abbassamento del costo dei dispositivi per la masterizzazione e relativi supporti ha portato a una grande diffusione di quest'ultimi. Spesso infatti questo tipo di memorizzazione si rivela la più economica e sicura. L'elevata capacità di un CD e la sua velocità di trasferimento dati lo rende tra l'altro particolarmente indicato per i backup. Con tale diffusione a Linux non poteva mancare il supporto per tali dispositivi.

Come già saprete esistono due tipi di supporti per la masterizzazione: i cosiddetti CD-R e CD-RW. I primi permettono di essere scritti una sola volta, non rendendo possibili eventuali modifiche, i secondi invece possono essere riutilizzati, dopo essere stati cancellati. Anche i dispositivi per la masterizzazione di tali supporti prendono il nome dal tipo di CD che supportano. Linux supporta tutti i modelli più recenti di masterizzatori sia SCSI che IDE/ATAPI. Nel primo caso sarà necessario avere correttamente configurato il proprio controller.

Se ciò non È stato fatto, niente paura ma sarà necessario ricompilare il kernel. Se avete invece un masterizzatore IDE sappiate che Linux È in grado di utilizzare tali device solo emulandoli come SCSI. Anche in tal caso sarà necessario ricompilare il kernel. In particolare sarà necessario abilitare le seguenti opzioni (sia che abbiate un CD-R SCSI che uno IDE):

Dalla sezione "SCSI support" abilitate:

  • SCSI support
  • SCSI CD-ROM support
  • Enable vendor-specific extensions (for SCSI CDROM)
  • SCSI generic support

Se avete un CD-R SCSI ricordatevi di scegliere il driver relativo al vostro controller da "SCSI low-level drivers"

Dalla sezione "File systems" abilitate:

  • ISO 9660 CDROM file system support
  • Microsoft Joliet CDROM extensions

Dalla sezione "Block devices" abilitate:

  • Loopback device support

Quest'ultima opzione non È indispensabile però può essere molto utile per testare la corrette creazione di un'immagine.

Se avete un CD-R IDE dovrete abilitare (oltre alle precedenti) anche l'emulazione SCSI da: ATA/IDE/MFM/RLL support scegliete quindi IDE, ATA and ATAPI Block devices e abilitate:

  • SCSI emulation support

La scelta di abilitare come moduli o meno questi supporti spetta a voi. In genere i moduli sono più agevoli da trattare, avendo la possibilità di essere rimossi e aggiunti al volo.

Se avete un CD-ROM IDE, e abilitate sia la SCSI emulation che il supporto nativo per il CDROM IDE (da IDE, ATA and ATAPI Block devices ==> Include IDE/ATAPI CDROM support) tra i due verrà preferito il secondo. Quindi avete due possibilità:

1) non abilitare l'opzione "Include IDE/ATAPI CDROM support" nel kernel.

2) passare come parametro al kernel di non usare il masterizzatore come IDE, ma di emularlo. Per far questo abilitate entrambi i supporti nel kernel e aggiungete nel file /etc/lilo.conf: append="hdb=ide-scsi" Al posto di hdb inserite il device relativo al vostro CD-R. (hdb per primary slave, hdc per secondary master, hdd per secondary slave).

Il fatto di usare come SCSI entrambi i dispositivi permette di trattare tutti i masterizzatori allo stesso modo, usando lo stesso programma per entrambi. Ha però lo svantaggio, dovuto alla piena compatibilità con i dispositivi SCSI, di assegnare nuovi nomi ai device se usate l'emulazione. Per esempio il vostro masterizzatore IDE, una volta emulato SCSI non farà più riferimento a /dev/hdb ma a /dev/scd0. Potrebbe quindi essere necessario apportare delle opportune modifiche ai programmi che fanno riferimento a quel device. In particolare modificate opportunamente il file /etc/fstab.

Dopo aver ricompilato il kernel (consiglio vivamente la lettura del nostro precedente articolo: Come ricompilare il Kernel Linux), siamo pronti a masterizzare. Tutto ciò di cui abbiamo bisogno È un programma per la scrittura su CD, un programma per creare immagini iso e un programma per l'estrazione di tracce audio. I programmi di masterizzazione per Linux possono masterizzare solo immagini o tracce audio (pur permettendo la copia al volo). Se per esempio volessimo masterizzare un CD contenente i file contenuti in /home/mario dovremmo prima creare (con degli opportuni strumenti) sul nostro hard disk un'immagine contenente i file presenti in tale directory, per poi masterizzarla.

Il programma più usato e valido per la copia di CD È cdrecord mentre ci affideremo a mkisofs e cdda2wav per quel che riguarda la creazione di immagini e l'estrazione di tracce audio. Sono presenti praticamente in tutte le distribuzioni quindi potete usare gli RPM o i DEB presenti sui vostri CD di installazione.

Prima di continuare accertiamoci che il kernel (dopo averlo ricompilato e riavviato) abbia correttamente "riconosciuto" il nostro masterizzatore. Scriviamo quindi:

lnxbox1:~# dmesg |less

e cerchiamo la parte riguardante i dispositivi SCSI (premete "q" per uscire da less).

Nel mio caso per esempio c'È:

SCSI subsystem driver Revision: 1.00scsi0 : SCSI host adapter emulation for IDE ATAPI devices
Vendor: WAITEC Model: SHUTTLE Rev: 2.2
Type: CD-ROM ANSI SCSI revision: 02
Detected scsi CD-ROM sr1 at scsi0, channel 0, id 1, lun 0

Che corrisponde al mio masterizzatore IDE. È bene prestare attenzione ai dati alla fine di quest'output, in particolare ai valori di channel, id e lun. Ci serviranno in seguito per identificare il nostro CD-R. Altro modo per riconoscere il nostro masterizzatore È utilizzare il programma cdrecord con l'opzione -scanbus.

Ad esempio:

lnxbox1:~# cdrecord -scanbus

Vi fornirà delle preziose informazioni sulle periferiche SCSI riconosciute, dandovi anche bus, id e lun.

Questione di immagine Come già detto prima di masterizzare È necessario aver pronte delle immagini. Il caso più semplice È che voi abbiate già un CD di soli dati del quale volete fare una copia. In questo caso basta il comando dd. La sintassi È:

lnxbox1:~# dd if=/dev/scd0 of=cdimage.cd

In questo caso /dev/scd0 rappresenta il lettore CD nel quale È inserito il cd del quale volete fare una copia. Un altro programma per la copia delle immagini È readcd, programma incluso in cdrecord. La sua sintassi È:

lnxbox1:~# readcd dev=0,1,0 f=cdimage.cd

Al posto di dev=0,1,0 mettete il bus, id e lun usati dal vostro masterizzatore (vedi quanto detto in precedenza). Dopo f= mettete il nome che volete dare all'immagine.

Se invece volete masterizzare dei file presenti sul vostro HD, dovrete ricorrere al programma mkisofs. La sintassi È la seguente:

lnxbox1:~# mkisofs -v -o cdimage.cd -a -R -m filedaescludere -V "VolumeCD" -P "Produttore" -p "Autore" /home/mario/cd

  • -v fa in modo di visualizzare informazioni preziose
  • -o cdimage.cd indica quale deve essere il nome dell'immagine
  • -a inserisce tutti i file nell'immagine
  • -R indica che verranno abilitate le Rock Ridge Extensions.

Questo permetterà di poter mantenere invariate anche sul CD informazioni come permessi, owner e group, oltre che a nomi di file lunghi e una maggiore profondità delle directory. Queste specifiche però sono riconosciute solo da Linux, se volete potete usare, al posto di -R, -J che abilita le Joliet Extensions, compatibili con Windows e Linux. Al posto di -R potrebbe essere conveniente mettere -r, che assegna dei permessi meno restrittivi ai file.

  • -m filedaescludere fa in modo che vengano esclusi dall'immagine tutti i file col nome filedaescludere. È possibile anche usare più volte questo parametro, anche accompagnato dai wildchar)
  • -V "VolumeCD" assegna un'etichetta di volume al CD
  • -P "Produttore" indica il produttore del CD
  • -p "Autore" indica l'autore del CD /home/mario/cd questa È la directory della quale vogliamo fare un'immagine.

È possibile testare e "aprire" le vostre immagine "montandole" in una directory. Per far questo usate:

lnxbox1:~# mount /home/utente/cdimage.cd /mnt/loop -t iso9660 -o loop=/dev/loop0

/mnt/loop deve essere una directory già esistente sul vostro HD, nella quale apparirà il contenuto dell'immagine.

Estrazione di tracce audio Se volete copiare un CD audio prima sarà necessario estrarre le tracce presenti sul CD. Per far questo potete usare cdda2wav. La sintassi È la seguente:

lnxbox1:~# cdda2wav -D0,0,0 -t traccia_di_inizio+traccia_finale -B -x

  • -D0,0,0 indica il bus, l'id e il lun del vostro CD-R.
  • -t traccia_di_inizio+traccia_finale indica le tracce da convertire in file wav
  • -B fa in modo che ogni traccia abbia un proprio file.
  • -x estrae le tracce con la massima qualità.

A questo punto siamo pronti a scrivere un cd.

Masterizzare Se dobbiamo semplicemente copiare un CD di dati partendo da un'immagine precedentemente creata, la sintassi di cdrecord È la seguente:

lnxbox1:~# cdrecord -v -dev=0,1,0 -eject -speed=x -data cdimage.cd

  • -v fa visualizzare delle informazioni aggiuntive
  • -dev=0,1,0 dà le coordinate del nostro masterizzatore (sono sempre bus, id e lun)
  • -eject fa uscire il CD a copia avvenuta
  • -speed=x imposta la velocità di scrittura a x
  • -data cdimage.cd indica quale È l'immagine da copiare

Se invece vogliamo creare dei cd misti (dati e audio) possiamo dare anche l'opzione -audio fileaudio1.wav fileaudio2.wav ecc. Per esempio:

lnxbox1:~# cdrecord -v -dev=0,1,0 -speed=8 -data cdimage.cd -audio audio1.wav audio2.wav

Scriverà un cd con una traccia dati e due tracce audio.

Se invece si tratta solo di un CD audio, possiamo omettere l'opzione -data cdimage.cd. Anche in questo caso È possibile usare i wildchar. Per esempio:

lnxbox1:~# cdrecord -v -dev=0,1,0 -speed=x -eject -audio audio*.wav

Masterizzerà un CD di sole tracce audio usando tutti i file il cui nome inizia per audio aventi estenzione .wav, presenti nella directory corrente.

Se disponete di MP3 che volete convertire in CD audio potete usare il seguente script:

for I in *.mp3 do mpg123 -s $I | cdrecord -dev=0,0,0 -audio -pad -swab -nofix - done cdrecord -fix

L'opzione -nofix impone di chiudere il CD una volta che È terminata la scrittura. Questo permette di aggiungere successivamente tracce, a scapito di una compatibilità con i lettori più datati. È sempre possibile però chiudere il CD con l'opzione -fix.

ATTENZIONE!: fate sempre in modo di non affaticare troppo il vostro PC mentre masterizzate. In particolare la conversione di un MP3 potrebbe rivelarsi così lenta da bruciarvi il CD. Valutate la velocità di conversione e eventualmente abbassate la velocità di scrittura con l'opzione -speed=x.

Un'altra opzione interessante È -dummy. Con questa prima di procedere a una scrittura reale, verrà eseguita una simulazione. Se possedete invece un CD-RW per riutilizzare il vostro CD riscrivibile sarà necessario prima cancellarlo. Per far questo potete usare l'opzione -blank=fast o -blank=all (ci sono anche opzioni ma queste sono le più significative). Con la prima opzione cancellerete solo il TOC, mentre la seconda invece cancellerà l'intero CD. Ad esempio:

lnxbox1:~# cdrecord -v -dev=0,1,0 -dummy -blank=fast -speed=8 -data cdimage.cd

Cancellerà il CD riscrivibile e passerà a scriverci sopra solo dopo aver fatto una simulazione.

Esiste anche la possibilità di creare copie al volo dei propri CD utilizzando per esempio un'altro lettore CD. In tal caso mettete un CD vergine nel masterizzatore e il CD che volete copiare nel lettore e scrivete:

lnxbox1:~# cdrecord -v -dev=0,1,0 -isosize /dev/scd0

-isosize /dev/scd0 indica il vostro lettore CD

Per concludere Esistono anche numerosi frontend agli strumenti descritti in questo articolo. Spesso possono risultare molto utili per la creazione di compilation e CD personalizzati, perchÈ semplificano di molto l'uso di mkisofs. Sono molto intuitivi e somigliano agli analoghi programmi per Windows. Tra questi i più comuni sono: X-CD-Roast, GCombust e Gnome Toaster. Per la copia di CD, invece È consigliabile affidarsi ai comandi descritti sopra.

Un ultimo consiglio: prima di masterizzare assicuratevi che non vi siano processi "mangia-risorse" in particolare È consigliabile sospendere anacron e cron, in quanto potrebbero lanciare processi come locate che accedono prepotentemente ai dischi. Per farlo scrivete:

lnxbox1:~# /etc/init.d/anacron stop lnxbox1:~# /etc/init.d/crond stop

Una volta terminata la scrittura dei CD potete ricaricarli con:

lnxbox1:~# /etc/init.d/anacron start lnxbox1:~# /etc/init.d/crond start

Detto questo non mi rimane altro che augurarvi: Buona Masterizzazione!

Ti consigliamo anche