montare automaticamente qualsiasi unità esterna su / media con accesso in lettura / scrittura a tutti


9

Ecco il mio problema:

Il mio computer ha 4 porte USB e esegue Ubuntu 12.10. Ricevo USB diversi ogni giorno, mi collego al mio computer, leggo / scrivo i dati su di essi e quindi li invio.

Quello che voglio è montare automaticamente qualsiasi USB che collego al mio computer. La prima USB rilevata andrà a /media/HDD1, la seconda andrà a /media/HDD2e così via. O sarebbe bello se l'USB collegato alla porta1 andasse /media/HDD1, l'USB collegato alla porta2 andasse /media/HDD2, e così via.

Il percorso /medianon è importante, ma vorrei che le directory HDD1-4 fossero in un unico posto in modo da potervi accedere facilmente.

Gli USB sono normalmente ext2 ma a volte ottengo anche FAT32, NTFS USB.

Voglio anche che l'USB venga montato senza accedere a Ubuntu poiché accedo spesso /media/HDD..da un altro computer Windows.

Come lo posso fare? Quale cambiamento nelle udevregole, fstabdovrei fare? Ogni suggerimento è molto apprezzato.

Risposte:


7

Bene, qui possiamo usare lo stesso trucco che fstabusa per i supporti ottici (alias CD e DVD):

/dev/sr0        /media/cdrom0   udf,iso9660 user,noauto     0       0

La prima colonna indica il file system, sono i valori che il proprio di USB saranno fisse, così lascia presumere che tutto dopo sdaè un'USB, e dal momento che si può avere solo allo stesso tempo 4 di USB, la lista va da sdb, sdc, sdde sde.

$ ls /dev/sd*
/dev/sda   /dev/sdb   /dev/sdb3  /dev/sdb6  /dev/sdc  /dev/sdf
/dev/sda1  /dev/sdb1  /dev/sdb4  /dev/sdb7  /dev/sdd
/dev/sda2  /dev/sdb2  /dev/sdb5  /dev/sdb8  /dev/sde

(Nel mio caso uso un lettore di memoria, quindi i miei driver USB partono sdgma continuiamo.)

Ora supponiamo che ogni USB abbia una e una sola partizione, quindi le linee di cui abbiamo bisogno, per il nostro fstab, sono:

/dev/sdb1
/dev/sdc1
/dev/sdd1
/dev/sde1

Quindi hai detto che i punti di montaggio devono essere corretti, quindi dopo aver creato le tue directory, aggiungiamoli:

/dev/sdb1 /media/HDD1
/dev/sdc1 /media/HDD2
/dev/sdd1 /media/HDD3
/dev/sde1 /media/HDD4

Dal momento che puoi avere quasi tutti i tipi di file system, usa il automodo fstab di indovinare il tipo di file da usare:

/dev/sdb1 /media/HDD1 auto
/dev/sdc1 /media/HDD2 auto
/dev/sdd1 /media/HDD3 auto
/dev/sde1 /media/HDD4 auto

Ok, ora riduciamo le opzioni, che saranno le stesse per i CD con il vantaggio delle autorizzazioni di lettura / scrittura:

/dev/sdb1 /media/HDD1 auto rw,users,noauto,allow_other,umask=0
/dev/sdc1 /media/HDD2 auto rw,users,noauto,allow_other,umask=0
/dev/sde1 /media/HDD3 auto rw,users,noauto,allow_other,umask=0
/dev/sde1 /media/HDD4 auto rw,users,noauto,allow_other,umask=0

rwdice che vogliamo permessi di lettura e scrittura, usersconsente a qualsiasi utente di montare un dispositivo, noautoimpedisce che il driver venga montato automaticamente quando mount -aviene chiamato, come fa all'avvio, impedendo ERRORI di avvio e AVVERTENZE, allow_otherconsente ad altri che l'utente che ha montato il driver di hanno le stesse autorizzazioni e umask=0impedisce l'applicazione delle impostazioni predefinite umask.

Ora gli unici 2 campi rimasti sono praticamente solo dumpdell'ordine e fsckdell'ordine, che potrebbero essere in 0entrambi, lasciandoci con il risultato finale:

/dev/sdb1 /media/HDD1 auto rw,user,noauto,allow_other 0 0
/dev/sdc1 /media/HDD2 auto rw,user,noauto,allow_other 0 0
/dev/sdd1 /media/HDD3 auto rw,user,noauto,allow_other 0 0
/dev/sde1 /media/HDD4 auto rw,user,noauto,allow_other 0 0

Con questo, ogni volta che si collega un dispositivo USB, verrà automaticamente montato nel punto di montaggio senza l'intervento dell'utente. È necessario modificare in base alle proprie necessità.


grazie Braiam. Non sono sicuro che cambiando fstab si possano montare automaticamente USB senza la necessità di riavviare o usare il comando "mount". Ho trovato una soluzione semplice per usare autofs. Non solo esegue il montaggio automatico, ma supporta anche lo smontaggio automatico dopo un tempo predefinito di inattività, il che è molto utile nel mio caso
Kiwi,

No, non lo fa. Come ho detto all'inizio, stavo usando lo stesso trucco che fstab usa per CD / DVD che non richiede rootné l'uso mountné il riavvio.
Braiam,

3

Ecco la soluzione che ho trovato:

Innanzitutto installo autofs sul mio PC Linux:

sudo apt-get install autofs

Creerà il file auto.master sotto /etc/auto.master

Aggiungi la seguente riga alla fine di quel file:

/media/mount /etc/auto.mount --timeout=10 --ghost

/media/mountè una directory in cui voglio montare tutte le unità esterne. /etc/auto.mountè il file da inserire nelle regole di montaggio. --timeout=10significa che smonterà automaticamente l'unità dopo 10 secondi di inattività. --ghostsignifica che lascia ancora un'immagine del contenuto quando viene smontato. Cambia questa linea in base alle tue esigenze.

Modifica il /etc/auto.mountfile e aggiungi le seguenti righe:

disk1  -fstype=auto,sync  :/dev/sdc1
disk2  -fstype=auto,sync  :/dev/sdd1
disk3  -fstype=auto,sync  :/dev/sde1
disk4  -fstype=auto,sync  :/dev/sdf1
disk5  -fstype=auto,sync  :/dev/sdg1
disk6  -fstype=auto,sync  :/dev/sdh1
disk7  -fstype=auto,sync  :/dev/sdi1
disk8  -fstype=auto,sync  :/dev/sdj1
DVD    -fstype=iso9660,ro :/dev/sr0

Per unità normali come USB o set eSATA -fstype=auto,sync. Ho 8 porte USB + eSATA quindi dichiaro 8 punti di montaggio qui. Il mio PC ha già sdae sdbcome dischi locali quindi ho messo sdc1-> sdj1per dispositivi esterni. In realtà sono nodi di dispositivo /devquando si collegano le unità. Un'eccezione alla regola di montaggio è il montaggio su DVD, come si vede sopra.

Quando inserisco delle unità, queste verranno visualizzate come disk1, disk2, ... nella /media/mountdirectory e verranno automaticamente smontate dopo 10 secondi. Non ho bisogno di toccare il mio PC e posso accedervi da qualche altra parte (come una macchina virtuale)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.