Pagina 1 di 1

Mount di penne USB con differenti filesystem!

Inviato: dom 8 apr 2007, 22:20
da phobos3576
Mi ritrovo ad utilizzare penne USB ciascuna delle quali ha un differente filesystem; una da 64 Mb ha un fs VFAT, una da 1 Gb ha un fs RAMFS, una d 256 Mb ha un fs EXT3 e una da 1 Gb con un fs sconosciuto.
Siccome non voglio utilizzare i vari dbus, hal, etc, mi chiedo come sia possibile gestire questa situazione in modo automatico; cercando con Google ho trovato che dovrei crearmi un file /etc/filesystems nel quale mettere un elenco di filesystem in ordine di priorità. Ho creato allora tale file e ci ho messo:

Codice: Seleziona tutto

vfat
ext3
ramfs
In /etc/fstab ho messo tutte le opzioni necessarie, del tipo:

Codice: Seleziona tutto

/dev/sdg /mnt/usb1 auto noauto,owner,users,rw 0 0
/dev/sdg1 /mnt/usb1a auto noauto,owner,users,rw 0 0
/dev/sdh /mnt/usb2 auto noauto,owner,users,rw 0 0
/dev/sdh1 /mnt/usb2a auto noauto,owner,users,rw 0 0
e così via...

Ho creato poi delle icone sul desktop che puntano ai vari dispositivi USB elencati in /etc/fstab; in questo modo, inserendo una penna USB e cliccando sull'icona associata dovrei ottenere il mount del corrispondente dispositivo.
Per l'utente root tutto funziona perfettamente; per gli altri utenti, invece, posso effettuare il mount solo di penne con filesystem VFAT!
Per riuscire a fare il mount di penne con, ad esempio, filesystem Ext3, devo specificare esplicitamente ext3 al posto di auto in /etc/fstab; esiste un modo per risolvere questo fastidioso problema?

Ho trovato altri 3D su questo argomento ma nessuno conteneva soluzioni valide.

Inviato: mer 11 apr 2007, 15:11
da nicolar
Questa riga è sbagliata:

Codice: Seleziona tutto

/dev/sdg /mnt/usb1 auto noauto,owner,users,rw 0 0 
Perchè devi montare la singola partizione (esempio: sdg1) e non il dispositivo a blocchi intero.

Prova con questo fstab:

Codice: Seleziona tutto

/dev/sdg1 /mnt/usb1 auto noauto,users,rw 0 0 
/dev/sdh1 /mnt/usb2 auto noauto,users,rw 0 0 
Poi controlla con:

Codice: Seleziona tutto

dmesg |more
il nome del dispositivo a blocchi della penna collegata (dovrebbe essere sdg e sdh), in caso cambi fstab.

e infine controlla che il kernel abbia compilato il supporto per quei filesystem (anche come moduli).

Inviato: gio 12 apr 2007, 0:25
da phobos3576
Il fatto è che Linux mi vede come /dev/sdg certi device privi di partizionamento e come /dev/sdg1 quelli partizionati; naturalmente, in fstab ho inserito anche la riga per /dev/sdg1 ma il problema rimane.

Quello che non capisco è perché root può fare il mount di qualunque filesystem su penna USB mentre l'utente normale no.

Inviato: gio 12 apr 2007, 17:26
da bloodlust
phobos3576 ha scritto:Quello che non capisco è perché root può fare il mount di qualunque filesystem su penna USB mentre l'utente normale no.
prova a usare user invece che users nelle opzioni di fstab:

Codice: Seleziona tutto

/dev/sdx    /mnt     auto     noauto,owner,user,rw 0 0
e siccome hai specificato anche owner il tuo utente deve appartenere al gruppo specificato nei permessi su quel device.

Inviato: gio 12 apr 2007, 19:49
da nicolar
Il fatto è che Linux mi vede come /dev/sdg certi device privi di partizionamento e come /dev/sdg1 quelli partizionati; naturalmente, in fstab ho inserito anche la riga per /dev/sdg1 ma il problema rimane.
Infatti, come ti ho scritto, è sbagliato utilizzare la riga /dev/sdg appunto perchè indica il dispositivo a blocchi intero e non una partizione.

Prova a sostituire alle tue 4 righe di fstab quelle 2 che ho scritto io!
Quello che non capisco è perché root può fare il mount di qualunque filesystem su penna USB mentre l'utente normale no.
Nelle 2 righe di fstab che ho scritto ho usato il parametro users che significa "tutti gli utenti possono montare il dispositivo". Se al posto di users utilizzi user (senza "s" finale) significa che solo l'utente che monta può smontare ed utilizzare il dispositivo.
Il parametro owner consente solo al proprietario del dispositivo (/dev/sdg) che normalmente è root, di montare il dispositivo stesso.

Digita:

Codice: Seleziona tutto

man mount
per saperne di più sui vari parametri e su quali si possono usare contemporaneamente. (users e owner ad esempio si escludono a vicenda)

Inviato: ven 13 apr 2007, 14:25
da phobos3576
I parametri owner e users sono quelli giusti (come risulta anche da man mount).

Controllando su un vecchio PC dove ho ugualmente la Slackware 11 (e dove il mount funziona benissimo), ho notato che in /etc/fstab avevo risolto mettendo righe multiple del tipo:

Codice: Seleziona tutto

/dev/sdg1   /mnt/usb1a   vfat    noauto,owner,users,rw  0 0 
/dev/sdg1   /mnt/usb1a   ext3    noauto,owner,users,rw  0 0 
/dev/sdg1   /mnt/usb1a   ramfs   noauto,owner,users,rw  0 0 
Ho provato anche sul nuovo PC e adesso funziona il mount per i filesystem vfat e ramfs, ma non per ext3.

Boh!

Inviato: ven 13 apr 2007, 20:48
da nicolar
Controllando su un vecchio PC dove ho ugualmente la Slackware 11 (e dove il mount funziona benissimo), ho notato che in /etc/fstab avevo risolto mettendo righe multiple del tipo:

[cut]

Ho provato anche sul nuovo PC e adesso funziona il mount per i filesystem vfat e ramfs, ma non per ext3.
Puoi riparmiare le righe multiple usando il parametro auto, ma per funzionare devi assicurarti che il supporto per i filesystem ramfs, vfat, ext3 siano compilati nel kernel oppure come moduli del kernel stesso.

Inviato: sab 14 apr 2007, 0:27
da phobos3576
Il supporto per tutti i filesystem è presente nel kernel; comunque ho risolto definitivamente in questo modo:

Codice: Seleziona tutto

/dev/sdg1   /mnt/usb1a   vfat,ext3,ramfs    noauto,users,rw  0 0
Il parametro auto funziona solo per root (e, in ogni caso, è sconsigliato da man mount perché, se l'autorilevamento del filesystem fallisce, "potrebbe avere effetti disastrosi").

Inviato: sab 14 apr 2007, 21:31
da nicolar
ottimo, così è ok! 8)

ciao!