Traduzioni: English - Français - Italiano


Masterizzare supporti ottici

In Debian sono disponibili svariati programmi con GUI.

Per esempio usare apt-get install brasero e avviare brasero in X. Altri sono xfburn. e k3b.

A volte si desidera però usare la riga di comando o scrivere uno script di shell.

Creare un file di immagine ISO 9660

Sono disponibili due programmi per creare file system ISO 9660: genisoimage e xorriso.

Ammettendo di avere già eseguito apt-get install genisoimage e apt-get install xorriso, si può mettere l'albero dei file /home/utente/per_iso nel file /home/utente/file.iso con l'immagine del file system ISO 9660 usando uno di:

genisoimage -v -J -r -V MIA_ETICHETTA_DISCO -o /home/utente/file.iso /home/utente/per_iso
xorriso -as mkisofs -v -J -r -V MIA_ETICHETTA_DISCO -o /home/utente/file.iso /home/utente/per_iso

Entrambi i programmi usati in questo esempio vengono controllati dalle stesse opzioni, che derivano originariamente dal programma mkisofs.

Masterizzare il file immagine su un CD, DVD o BD

Per i supporti CD, c'è wodim. Per i DVD e BD (Blue-ray) c'è growisofs. Per CD, DVD e BD ci sono cdrskin e xorriso.

Amesso di aver già eseguito apt-get install wodim, apt-get install cdrskin e apt-get install xorriso, si può masterizzare il file immagine /home/utente/file.iso su un CD con uno di questi tre comandi:

wodim -v dev=/dev/sr0 -dao /home/utente/file.iso
cdrskin -v dev=/dev/sr0 -dao /home/utente/file.iso
xorriso -as cdrecord -v dev=/dev/sr0 -dao /home/utente/file.iso

Tutti è tre sono in effetti controllati dalle stesse opzioni che derivano originariamente dal programma cdrecord.

Sui supporti DVD o BD è possibile eseguire gli stessi comandi per cdrskin e xorriso usati nell'esempio precedente. Si può anche usare growisofs (dopo aver usato apt-get install growisofs):

growisofs -dvd-compat -Z /dev/sr0=/home/utente/file.iso

è meglio non usare wodim con supporti DVD o BD.

Come di consueto con la riga di comando, la masterizzazione partirà subito, senza richiedere conferma. Se si incontrano errori, considerare l'idea di chiedere consigli nella mailing list debian-user@lists.debian.org o pkg-libburnia-devel@lists.alioth.debian.org .

Testare

Per confrontare i codici MD5 è necessario limitare la lettura dal CD, DVD o BD ad esattamente lo stesso numero di blocchi di dati che è stato scritto dal programma di masterizzazione. Per farlo, cercare la dimensione del file dell'immagine ISO.

blocks=$(expr $(ls -l /home/utente/file.iso | awk '{print $5}') / 2048)
dd if=/dev/sr0 bs=2048 count=$blocks | md5sum
md5sum /home/utente/file.iso

Questo dovrebbe restituire stringhe del codice di controllo MD5 identiche. Ad es.:

8213+0 records in
8213+0 records out
16820224 bytes (17 MB) copied, 12.189631 s, 1.4 MB/s
492bd13e477b3efb507149152a4e7736  -
492bd13e477b3efb507149152a4e7736  /home/utente/file.iso

Si può anche montare il supporto e confrontare i file dei dati con i loro originali sull'hard disk usando:

sudo mount /dev/sr0 /mnt/cdrom
diff /mnt/cdrom/mio/file /home/utente/per_iso/mio/file
sudo umount /dev/cdrom

Può essere necessario creare la directory /mnt/cdrom prima di poterla montare. Se si espelle il supporto e lo si reinserisce, potrebbe venire automaticamente montato in /media/. In questo caso non è necessario eseguire i comandi con sudo.

=== CD audio===

I riproduttori di CD musicali si aspettano il formato CD-DA, che non è un file system, ma un semplice elenco di entità in stile file chiamate Tracce. Ogni traccia è solitamente un brano di musica, ad esempio una canzone completa.

Il contenuto delle tracce deve essere presentato come file dati con campioni non compressi con una frequenza di campionamento di 44100 Hz, 16 bit per campione, 2 canali, con ordine dei byte little-endian e intestazione WAV. Questo è ciò che viene chiamato file ".wav".

Ciò non è valido per i supporti DVD o BD. Si può usare wodim e cdrskin.

wodim -v dev=/dev/sr0 -sao -audio traccia1.wav traccia2.wav ... tracciaN.wav
cdrskin -v dev=/dev/sr0 -sao -audio traccia1.wav traccia2.wav ... tracciaN.wav

Il supporto risultante non può essere letto da dd o altri lettori di dati. La lettura di tracce audio da CD può essere fatta con readom nel pacchetto wodim, o dall'opzione extract_audio_to= di cdrskin. Vedere

man readom
man cdrskin

Indirizzo dell'unità

Gli esempi visti prima usano l'indirizzo del file di device della prima unità ottica: /dev/sr0. Per ottenere un elenco di tutti i device delle unità ottiche eseguire uno di:

cdrskin --devices
xorriso -devices

che restituiranno qualcosa del tipo

0  -dev '/dev/sr0' rwrw-- :  'HL-DT-ST' 'BDDVDRW GGC-H20L'
1  -dev '/dev/sr1' rwrw-- :  'HL-DT-ST' 'DVDRAM GH24NSC0'
2  -dev '/dev/sr2' rwrw-- :  'Optiarc ' 'BD RW BD-5300S'

wodim effettuerà questo lavoro solo se esistono gli obsoleti file di device /dev/scd*.

La sequenza dei numeri delle unità può cambiare ad ogni riavvio. Se sono necessari nomi di device persistenti, considerare l'uso di quelli lunghi nella directory /dev/disk/by-id/. Li si riconosce perché hanno gli stessi nomi di produttore e modello visti nei comandi --devices precedenti, ad esempio:

/dev/disk/by-id/usb-Optiarc_BD_RW_BD-5300S_306663601043-0:0

Masterizzazione al volo di ISO 9660

Si può evitare di dover memorizzare il file con l'immagine del file system ISO 9660 indirizzando con una pipe l'output del produttore dell'ISO sullo standard input del programma di masterizzazione. Basta omettere l'opzione -o del produttore e usare "-" come nome del file di dati con il programma di masterizzazione. Usare l'opzione -tao invece di -dao o -sao, perché questi ultimi devono sapere in anticipo la quantità di dati:

genisoimage -v -J -r -V MIA_ETICHETTA_DISCO /home/utente/per_iso \
| wodim -v dev=/dev/sr0 -tao -

Con growisofs:

genisoimage ... \
| growisofs -Z /dev/sr0=/dev/fd/0

Il programma xorriso con il suo insieme di comandi nativo può fare lo stesso in un unico processo

xorriso \
  -md5 on \
  -outdev /dev/sr0 \
  -blank as_needed \
  -joliet on \
  -volid MIA_ETICHETTA_DISCO \
  -map /home/utente/per_iso / \
  -find / -exec mkisofs_r --

ISO 9660 multi-sessione

Sebbene i file system ISO 9660 siano in sola lettura, è possibile accodare nuovi file dati e un nuovo albero di directory che può fare riferimento sia ai vecchi file sia ai nuovi.

Sessione iniziale (se è necessario sovrascrivere completamente un supporto riutilizzabile come BD-RE):

xorriso \
  -for_backup \
  -outdev /dev/sr0 \
  -blank as_needed \
  -volid MIO_BACKUP_"$(date '+%Y_%m_%d_%H%M%S')" \
  -update_r /home/utente/documenti /documenti

Ulteriori sessioni aggiornate aggiungeranno nuovi file, sovrascriveranno i file modificati e rimuoveranno i file cancellati:

xorriso \
  -for_backup \
  -assert_volid 'MIO_BACKUP_*' fatal \
  -dev /dev/sr0 \
  -volid MIO_BACKUP_"$(date '+%Y_%m_%d_%H%M%S')" \
  -update_r /home/utente/documenti /documenti

Ad un certo punto durante il tentativo di aggiornamento il programma farà sciopero perché il supporto è pieno. Allora sarà necessario scrivere una sessione iniziale in un altro supporto vuoto o riutilizzabile

Verifica della sessione dati più recente:

xorriso -for_backup -indev /dev/sr0 -check_md5 FAILURE --

Verifica di tutte le sessioni registrate

xorriso -for_backup -indev /dev/sr0 -check_media --

In caso di non corrispondenza il valore di uscita restituito è diverso da zero

if test $? = 0 ; then echo "OK" ; else echo "NON CORRISPONDENTI!" ; fi

Vedere anche: