Avanti Indietro Indice

6. Risposte alle domande più frequenti (FAQ)

6.1 Come fa un utente non-root a montare e smontare dischi?

La maggior parte dei comandi mount supportano l'opzione user. Se aggiungete una voce come la seguente in /etc/fstab:

/dev/sbpcd  /mnt/cdrom   iso9660     user,noauto,ro

allora un utente normale sarà abilitato a montare e smontare il drive con questi comandi:

% mount /mnt/cdrom
% umount /mnt/cdrom

Di default il disco sarà montato con alcune opzioni che aiutano ad aumentare la sicurezza (per esempio i programmi non possono essere eseguiti, i file di dispositivo sono ignorati). Se questo è troppo restrittivo potete usare opzioni aggiuntive (per esempio l'opzione ``exec'' abiliterà l'esecuzione dei programmi). Controllate la pagina man mount(8) per maggiori dettagli.

Un altro metodo è di procurarsi il pacchetto usermount che permette a utenti non-root di montare e smontare dispositivi rimovibili come floppy o CD-ROM, ma restringe l'accesso ad altri dispositivi (come le partizioni di un hard disk). È disponibile sui maggiori siti archivio.

Il sito archivio ftp.cdrom.com contiene il file sorgente mount.c che permette di montare/smontare (solo) CD-ROM come utente normale. Si avvia come un eseguibile setuid.

6.2 Perché ottengo il messaggio ``device is busy'' (il dispositivo è occupato) quando smonto un CD-ROM?

Il disco non può essere smontato se qualche processo sta accedendo al drive. Questo comprende i processi che hanno la propria directory di default impostata nel filesystem montato. Se non siete in grado di identificare il processo che usa il disco, potete usare il comando fuser, come indicato nell'esempio seguente.

% umount /cdrom
umount: /dev/hdd: device is busy
% fuser -v /cdrom
                     USER       PID ACCESS COMMAND
/mnt/cdrom           tranter    133 ..c..  bash

Su alcuni sistemi avete bisogno di essere root quando avviate il comando fuser per vedere i processi degli altri utenti.

6.3 Come posso esportare un CD-ROM su altri host con NFS?

Dovrete aggiungere una voce nel file /etc/exports. Gli utenti su altre macchine saranno quindi in grado di montare il drive. Si veda la pagina man exports(5) per dettagli.

6.4 Posso fare il boot di Linux da CD-ROM?

Quando installate Linux da zero il metodo più comune è utilizzare un disco di boot. Alcune distribuzioni permettono di avviare un kernel Linux su CD direttamente da DOS.

Se possedete un disco CD-ROM, il BIOS e il drive CD-ROM corretti, ossia se sono tutti e tre predisposti, potete fare il boot direttamente da CD. L'ultima versione di mkisofs supporta la creazione di tali dischi usando lo standard El Torito per CD avviabili.

6.5 Come posso leggere audio digitale da un CD audio?

Heiko Eissfeldt ( heiko@colossus.escape.de) e Olaf Kindel hanno scritto una utility che legge dati audio e li salva in file sonori in formato .wav. Il pacchetto si chiama cdda2wav.tar.gz e può essere reperito su metalab.unc.edu.

Un'altra utility per estrarre audio digitale è cdparanoia disponibile a http://www.mit.edu/afs/sipb/user/xiphmont/cdparanoia.

Poiché i drive CD-ROM cambiano molto velocemente, è difficile elencare quali modelli supportino la lettura di dati digitali. La cosa migliore che potete fare è procurarvi gli ultimi pacchetti di cdda2wav o cdparanoia e leggerne la documentazione.

Per maggiori informazioni su questo argomento, si veda il sito Web http://www.tardis.ed.ac.uk/~psyche/cdda/ e le FAQ di alt.cd-rom elencate nella sezione ``riferimenti''.

6.6 Perché il comando find non funziona correttamente?

Su dischi ISO-9660 senza le estensioni Rock Ridge, occorre aggiungere l'opzione -noleaf al comando find. Si veda la pagina man find(1) per maggiori dettagli.

(Nella mia esperienza virtualmente tutti i recenti CD di Linux usano le estensioni Rock Ridge, quindi questo problema dovrebbe presentarsi molto raramente.)

6.7 Linux supporta drive CD-ROM registrabili?

Il pacchetto X-CD-Roast per Linux è un front-end grafico per usare registratori di CD. Il pacchetto può essere reperito su metalab.unc.edu in /pub/Linux/utils/disk-management/xcdroast- 0.95.tar.gz

Si veda anche il Linux CD-Writing HOWTO, che si trova su ftp://metalab.unc.edu/pub/Linux/docs/HOWTO/CD-Writing-HOWTO o http://metalab.unc.edu/LDP/HOWTO/CD-Writing-HOWTO.html.

6.8 Perché ottengo il messaggio ``mount: Read-only file system'' (filesystem a sola lettura) quando monto un CD-ROM?

Il CD-ROM è un supporto a sola lettura. Con alcuni kernel vecchi era possibile montare un CD-ROM in lettura/scrittura; i tentativi di scrivere dati sul CD erano semplicemente ignorati. Dalla versione 1.1.33 questo è stato corretto cosicché ora i CD-ROM possono essere montati in sola lettura (per esempio, usando l'opzione -r).

6.9 Perché il carrello del drive si apre quando chiudo il sistema?

Il driver sbpcd supporta l'espulsione automatica del CD quando viene smontato. In alcuni vecchi kernel questo era il comportamento predefinito. Se chiudete il sistema, un CD montato sarà smontato, causando l'espulsione.

Questa caratteristica è inserita per facilitare il cambio dei dischi. Se il carrello è aperto quando montate o leggete un CD, verrà chiuso automaticamente.

Ho trovato che questo costituisce un problema per alcuni programmi (per esempio cdplay e workbone). Dal kernel 1.1.60 potete controllare questa caratteristica via software. Un programma di esempio è incluso nel file di documentazione di sbpcd (o usate il programma eject). Potete anche controllare il comportamento predefinito modificando il file sorgente del kernel sbpcd.h.

6.10 Ho un CD ``speciale'' che non riesco a montare

Tale CD ``speciale'' è probabilmente un disco XA (come tutti i PhotoCD o uno eventualmente creato in questa modalità con un masterizzatore). La maggior parte dei driver CD-ROM del kernel di Linux non supportano dischi XA, sebbene si possa trovare una patch per aggiungere questo supporto in uno dei siti archivio.

Il driver sbpcd supporta l'XA. Se usate questo driver potete vedere se un disco è XA con la seguente procedura: andate nel file sbpcd.c e abilitate la visualizzazione della ``Table of Contents'' (TOC, sotto DBG_TOC). Compilate, installate il nuovo kernel e avviatelo. Ogni volta che montate un disco, le informazioni sulla TOC saranno stampate (o sulla console o in un file di log). Se il primo valore visualizzato nell'header della TOC è ``20'', allora si tratta di un disco XA. Quel byte è ``00'' nei dischi normali. Se la TOC mostra diverse tracce, anche questo è un segnale che si tratta di un disco XA.

(Grazie a Eberhard Moenkeberg per queste informazioni)

Altre possibilità per un CD illeggibile sono:

  1. Il disco non usa un filesystem ISO-9660 (per esempio, alcuni usano SunOS o HFS)
  2. È un CD audio
  3. Il CD è danneggiato o difettoso
  4. È stato messo nel drive capovolto :-)

6.11 I drive CD-ROM multi-disco funzionano con Linux?

Molti utenti hanno riportato successi con CD-ROM multi-disco SCSI a caricamento automatico. Probabilmente avrete bisogno di abilitare l'opzione di configurazione del kernel ``Probe all LUNs on each SCSI device'' (``prova tutti i LUN su ogni dispositivo SCSI'', questo non è necessario se il vostro caricatore di CD è già noto al driver SCSI. Date un'occhiata a /usr/src/linux/drivers/scsi.c).

Almeno un utente ha anche dovuto aumentare il valore del timeout SCSI nel driver del kernel. Un sintomo di questo è un messaggio di errore del tipo ``wrong fs type, bad option, bad superblock on /dev/sr5, or too many mounted file systems'' (tipo sbagliato di filesystem, opzione errata, superblock non valido su /dev/sr5, o troppi filesystem montati) quando si prova a montare un CD-ROM per la prima volta, mentre un secondo tentativo subito dopo ha successo. Per alzare il timeout aumentate il valore di IOCTL_TIMEOUT all'inizio di /usr/src/linux/drivers/scsi/sr_ioctl.c e ricompilate il kernel. Mi si dice che un valore di 10000 al posto del predefinito 3000 funziona col NEC Multispin 4Xc.

Potrebbe essere necessario creare file speciali a blocchi in più, cosicché tutti i LUN possano essere acceduti. È richiesto un file di dispositivo per ogni LUN. Così, per un caricatore a 7 dischi, devono essere presenti da /dev/sr0 a /dev/sr6 (di più se avete drive CD-ROM SCSI in più). Per creare questi file speciali eseguite mknod /dev/sr? b 11 ? come root dove ? sta per il numero richiesto.

Mi dicono che funzionano i caricatori Nakamichi MBR-7 7, NEC Multispin 4Xc e Pioneer 12.

Sono pure disponibili caricatori a più dischi EIDE/ATAPI. Il kernel ha il supporto per alcuni drive usando la funzione CDROM_SELECT_DISC di ioctl. Il file di documentazione del driver del kernel include i sorgenti per un programma per selezionare gli alloggiamenti del caricatore da attivare, o potete usare varie utility come il programma eject descritto più sopra.

6.12 Ricevo un messaggio di errore che dice ``/cdrom: Permission denied'' (/cdrom: permesso negato)

Alcuni CD hanno i permessi dei file della root directory impostati in modo tale da permettere solo all'utente root di leggerli. Questo è un errore da parte del produttore del CD e un reale inconveniente. Una eventualità più comune è il fatto che alcuni file o directory non siano leggibili da tutti. Alcune persone hanno creato una patch per i loro kernel per aggirare il problema.

Si veda anche, a riguardo, la domanda sui file nascosti, più oltre in questo documento.

6.13 Come posso interpretare i messaggi di errore del kernel per l'IDE CD?

Cosa significa quando ricevo un messaggio dal driver IDE CD-ROM tipo ``hdxx: code: xx key: x asc: xx ascq: x''?

Questo è un messaggio di stato/errore dal drive IDE CD-ROM. Di default, il driver IDECD visualizza le informazioni in forma criptica al posto di sprecare spazio del kernel con messaggi di errore. Potete cambiare l'impostazione per visualizzare i messaggi di errore completi andando in /usr/src/linux/drivers/block/ide-cd.c, cambiando il valore di VERBOSE_IDE_CD_ERRORS to 1 e ricompilando il kernel.

6.14 Come posso stabilire che velocità ha il mio CD-ROM?

Questo è un modo. Il comando che segue misura quanto ci vuole per leggere 1500K di dati da un CD:

% time -p dd if=/dev/cdrom of=/dev/null bs=1k count=1500
1500+0 records in
1500+0 records out
real 5.24
user 0.03
sys 5.07

Il transfer rate di un drive a singola velocità è di 150 kilobytes al secondo, per cui dovrebbe impiegarci circa 10 secondi. A doppia velocità 5, a quadrupla 2,5, ecc.

Il tempo ``real'' sopra indicato è probabilmente il miglior numero da guardare -- in questo caso indica un drive a doppia velocità. Potete aumentare la quantità di dati per effettuare misurazioni più accurate (nel caso ve lo stiate chiedendo, i dati letti non vanno nella cache). Dovrete probabilmente avviare il comando un po' di volte e fare la media.

Ho scritto un piccolo programma in C che misura e riporta il transfer rate di un CD-ROM; posso inviarvelo su richiesta.

6.15 Il mio CD-ROM ha smesso di funzionare dopo che Linux è stato installato

Il sintomo di solito indica che il boot disk che avete usato per l'installazione riconosceva il drive CD-ROM, ma dopo che Linux è stato installato su un hard disk o su un altro floppy e riavviato non lo riconosce più.

Il motivo più comune è che con alcune distribuzioni Linux il kernel installato sull'hard disk non è necessariamente lo stesso che si trova sul dischetto di boot. Potreste aver selezionato un disco di boot che si adattava al vostro hardware CD-ROM, mentre il kernel installato potrebbe essere un kernel ``generico'' a cui manca il supporto CD-ROM. Potete verificare questo seguendo le linee-guida per la risoluzione dei problemi discusse più sopra in questo documento.

La soluzione è ricompilare il kernel, assicurandosi che i driver per il drive CD-ROM e ogni altro driver richiesto (per esempio il controller SCSI, il filesystem ISO-9660) siano inclusi. Consultate il Kernel HOWTO se non sapete come fare.

Se avete passato qualche opzione da linea di comando al disco di boot (per esempio ``hdc=cdrom'') avrete bisogno di aggiungerle al file di configurazione del programma di boot (tipicamente /etc/lilo.conf).

6.16 Ci sono file ``nascosti'', in un CD, che non riesco a leggere

Alcuni CD hanno file con il bit ``hidden'' (nascosto) impostato. Normalmente questi file non sono visibili. Se montate il CD con l'opzione ``unhide'' allora i file dovrebbero essere accessibili (questo non sembra essere documentato da altre parti).

6.17 Dove sono documentate le API per i CD-ROM?

Se volete scrivere le vostre applicazioni, come un riproduttore di CD audio, dovrete padroneggiare le interfacce di programmazione di applicazioni (API) fornite da Linux.

Originariamente i driver del kernel per i CD-ROM usavano le loro proprie funzioni ioctl() per supportare funzionalità specifiche per ogni drive. I file header come /usr/include/linux/sbpcd.h descrivono queste funzioni. Poiché molti driver erano basati su altri driver, le interfacce, sebbene non identiche, hanno molto in comune.

Più recentemente c'è stata un'iniziativa portata avanti da David van Leeuwen ( david@tm.tno.nl) per standardizzare le API per drive CD- ROM, individuando e adottando del codice comune e assicurandosi che tutti i driver si comportino allo stesso modo. Questo è documentato nel file /usr/src/linux/Documentation/cdrom/cdrom-standard.tex. Molti driver del kernel supportano questo standard. Dal kernel 2.0 tutti i driver CD-ROM si sono conformati a questa API.

Il mio libro Linux Multimedia Guide, si addentra un po' nell'argomento di programmare per i drive CD-ROM, specialmente per funzioni audio. Si veda la fine della sezione Riferimenti.

6.18 Perché non vedo i nomi lunghi in questo CD-ROM per Windows?

Se avete un CD-ROM che ha nomi di file lunghi sotto Windows ma non sotto Linux, può essere stato formattato usando il filesystem proprietario Joliet di Microsoft. Si veda la prossima domanda per una soluzione.

6.19 È supportato il filesystem Joliet di Microsoft?

Microsoft ha creato un'estensione al formato ISO chiamata Joliet. Aggiunge il supporto per nomi di file lunghi codificati usando il formato UNICODE 16-bit.

Dalla versione 2.0.34 il kernel di Linux prevede il supporto per le estensioni Joliet. Dovete abilitare tale supporto nel kernel.

Se volete visualizzare i nomi di file con caratteri del linguaggio nativo correttamente, dovete abilitare nel kernel il supporto per l'appropriato set di caratteri NLS ISO8859.

6.20 Linux supporta gli ``enhanced'' CD?

Alcuni CD audio sono ``enhanced'' (migliorati) con dati aggiuntivi. Tipicamente troverete che questi CD hanno le solite tracce audio insieme con una traccia dati che può essere montata come un filesystem ISO9660.

Un CD enhanced che ho potuto esaminare aveva applicazioni Microsoft Windows e Apple Macintosh (che ovviamente non funzionavano direttamente sotto Linux, sebbene abbia avuto un parziale successo avviando l'applicazione Windows con l'emulatore WINE). C'erano anche alcune immagini GIF che potevano essere visualizzate usando un programma standard come xv e alcune animazioni in formato QuickTime, eseguibili con xanim. Era un CD multisessione, di cui alcuni drive CD-ROM molto vecchi non supportano la lettura. Sul disco v'era un file readme.txt contenente delle FAQ sugli Enhanced CD.

6.21 Linux supporta i DVD-ROM?

I DVD-ROM compatibili SCSI e ATAPI dovrebbero funzionare sotto Linux per la lettura di dischi formattati col filesystem ISO-9660. In altre parole funzioneranno come un lettore CD-ROM (eventualmente molto più capiente).

Molti dischi DVD-ROM usano il filesystem UDF. Al momento della stesura questo documento, questo aspetto era ancora in fase sviluppo. Le patch per il kernel sono disponibili su http://trylinux.com/projects/udf/.

Comunque, non sono a conoscenza di alcun supporto per riprodurre video DVD codificati in MPEG-2 sia via software sia in unione a un decoder hardware. Apparentemente la documentazione per il formato di codifica può essere ottenuta solo ad alto costo e sottostando a un accordo di non diffusione. Un altro aspetto è che la decodifica MPEG tipicamente usa hardware proprietario per il quale i produttori potrebbero non essere diaposti a rilasciare le specifiche per la programmazione. Questi fattori possono precludere la produzione di qualsiasi software per i video DVD per linux che voglia essere disponibile gratuitamente e liberamente.

6.22 Linux supporta i CD-RW?

I CD-RW che rispettano le specifiche SCSI ed ATAPI dovrebbero funzionare sotto Linux per dischi formattati con un filesystem ISO- 9660. Questo include la possibilità di scrivere sul disco.

Molti dischi CD-RW usano il filesystem UDF. Al momento della stesura di questo documento, questo aspetto era ancora in sviluppo. Le patch per il kernel sono disponibili su http://trylinux.com/projects/udf/.


Avanti Indietro Indice

Hosting by: hurra.com
Generated: 2007-01-26 17:56:15