Risposta: dipende dal masterizzatore. Quelli moderni dovrebbero avere un buffer di dati di circa 1MB e possono funzionare con un'interruzione di 1-2 secondi nel flusso di dati. Controllate il manuale o contattate il produttore se volete conoscere i dettagli.
Indipendentemente dalla dimensione di questi buffer di dati si deve garantire un flusso costante di 300kb/s o 600kb/s di media.
I processi intensivi su disco come l'aggiornamento del database
di locate diminuiscono il flusso massimo e corromperanno di sicuro
il CD: è meglio controllare che processi del genere non vengano avviati
con cron
, at
o anacron
mentre masterizzate i CD.
D'altra parte, alcuni dicono di aver compilato un kernel durante la masterizzazione senza problemi. Naturalmente vi serve una macchina veloce per questi esperimenti.
La frammentazione di solito è talmente bassa che il suo impatto non si nota.
Se non siete sicuri controllate i messaggi che vengono stampati durante il processo di boot: la percentuale di frammentazione viene riportata quando vengono controllati i filesystem. Si può anche avere lo stesso valore usando il comando molto pericoloso
bash> e2fsck -n /dev/sda5 # '-n' è importante!
[stuff deleted - ignore any errors]
/dev/sda5: 73/12288 files (12.3% non-contiguous)
In questo esempio la frammentazione sembra molto alta - ma sul filesystem ci sono solo 73 piccoli file (il filesystem viene usato come /tmp
) quindi il valore _non è_ allarmante.
Si. L'unico filesystem che non è sufficientemente affidabile e veloce per scrivere sui CD è il network filesystem (NFS).
Io sto usando UMSDOS per condividere lo spazio disco tra Linux e DOS/Win su un PC (486/66) dedicato per la masterizzazione dei CD.
Sì, potete mettere qualsiasi filesystem vogliate sul CD, ma i sistemi operativi diversi da Linux non potranno utilizzarlo.
Ecco la ricetta:
dd if=/dev/zero of="file_vuoto" bs=1024k count=650
bash> /sbin/mke2fs file_vuoto
file_vuoto is not a block special device.
Proceed anyway? (y,n) y
mount -t ext2 -o loop=/dev/loop1 file_vuoto /mnt
cdwrite
o cdrecord
su file_vuoto (che non è più vuoto) come se fosse un'immagine iso9660.Se volete creare una voce di /etc/fstab
per questo CD, disabilitatene
il controllo, cioè:
/dev/cdrom /cdrom ext2 defaults,ro 0 0
Il primo 0 significa "non includere nei dump", il secondo (importante) significa "non controllare all'avvio se ci sono errori" (fsck non controllerà il CD).
Prendete i pacchetti "cdda2wav" e "sox", disponibili su sunsite e sui suoi mirror:
ftp://sunsite.unc.edu/pub/Linux/apps/sound/cdrom/cdda2wav0.71.src.tar.gzftp://sunsite.unc.edu/pub/Linux/apps/sound/convert/sox-11gamma-cb3.tar.gz
cdda2wav
vi permette di prendere un intervallo specifico (o una traccia intera) dal CD audio ed a convertirla in un file wav. sox
converte il file wav in formato cdda (CD audio) in modo che possa essere scritto sul CD-R usando cdwrite
.
Il file drivers/scsi/scsi.c
contiene le informazioni necessarie:
/*
* Usage: echo "scsi add-single-device 0 1 2 3" >/proc/scsi/scsi
* with "0 1 2 3" replaced by your "Host Channel Id Lun".
* Consider this feature BETA.
* CAUTION: This is not for hotplugging your peripherals. As
* SCSI was not designed for this you could damage your
* hardware !
* However perhaps it is legal to switch on an
* already connected device. It is perhaps not
* guaranteed this device doesn't corrupt an ongoing data transfer.
*/
Cioè:
/*
* Uso: echo "scsi add-single-device 0 1 2 3" >/proc/scsi/scsi
* sostituendo "0 1 2 3" con "Host Canale Id Lun".
* Considerate questa caratteristica come BETA.
* ATTENZIONE: non serve per sganciare le periferiche. Dato che
* lo SCSI non è stato progettato per una cosa del genere potrebbe
* danneggiare il vostro hardware!
* In ogni modo forse è corretto agganciare un dispositivo già connesso.
* Non è forse garantito che questo dispositivo non corrompa un trasferimento
* di dati in corso.
*/
Sì, ma dovreste essere consapevoli del fatto che qualsiasi errore in lettura dell'originale (causato da polvere o graffi) risulterà in una copia difettosa.
Primo caso: avete un masterizzatore di CD ed un drive di CD-ROM separato. Dando il comando
cdwrite -v -D /dev/sgc --pad -b $(isosize /dev/scd0) /dev/scd0
o
cdrecord -v dev=3,0 speed=2 -isosize /dev/scd0
si legge il flusso dei dati dal drive del CD-ROM connesso come
/dev/scd0
e lo si scrive direttamente attraverso /dev/sgc
sul
CD-R.
Secondo caso: non avete un drive di CD-ROM separato. Dovete usare il masterizzatore per leggere il CD; in questo caso:
dd if=/dev/scd0 of=cdimage bs=1c count=`isosize /dev/scd0`
Questo comando è equivalente al risultato di mkisofs
, quindi dovete procedere come descritto nel capitolo 3. Notate che questo metodo non funziona con i CD audio!
Sì, ma dovete applicare una patch al kernel e ricompilarlo. Per altri dettagli vedere su
http://www-plateau.cs.berkeley.edu/people/chaffee/joliet.html
Come fate con un normale drive per CD-ROM. Nessun problema. Notate che dovete usare i device scd (CD-ROM SCSI) per montare i CD in lettura. Ecco una voce di esempio per /etc/fstab:
/dev/scd0 /cdrom iso9660 ro,user,noauto 0 0