Montar automáticamente cualquier unidad externa en / medios con acceso de lectura / escritura para todos

9

Aquí está mi problema:

Mi computadora tiene 4 puertos USB y ejecuta Ubuntu 12.10. Recibo diferentes USB todos los días, me conecto a mi computadora, les leo / escribo datos y luego los envío.

Lo que quiero es montar automáticamente cualquier USB que conecte a mi computadora. El primer USB detectado irá a /media/HDD1, el segundo irá a /media/HDD2y así sucesivamente. O sería genial que el USB conectado al puerto 1 vaya a /media/HDD1, el USB conectado al puerto 2 vaya a /media/HDD2, y así sucesivamente.

La ruta /mediano es importante, pero me gustaría tener los directorios HDD1-4 en un solo lugar para poder acceder fácilmente a ellos.

Los USB son normalmente ext2 pero a veces también obtengo FAT32, NTFS USB.

También quiero que el USB se monte sin iniciar sesión en Ubuntu, ya que a menudo accedo /media/HDD..desde otra computadora con Windows.

¿Cómo puedo hacer eso? ¿Qué cambio en las udevreglas fstabdebo hacer? Cualquier sugerencia es muy apreciada.

kiwi
fuente

Respuestas:

7

Bueno, aquí podemos usar el mismo truco que fstabusa para los medios ópticos (también conocidos como CD y DVD):

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

La primera columna indica el sistema de archivos, estoy valores de que sus de USB habrán fijos, por lo que permite suponer que todo lo que después sdaes un USB, y ya que sólo se puede tener al mismo tiempo 4 de USB, la lista va de sdb, sdc, sddy 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

(En mi caso, uso un lector de memoria, por lo que mis controladores USB comienzan desde sdgpero vamos a continuar).

Ahora, suponemos que cada USB tiene una y solo una partición, por lo que las líneas que necesitamos, para nuestra fstab, son:

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

Luego dijiste que tus puntos de montaje deben ser reparados, así que después de haber creado tus directorios, vamos a agregarlos:

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

Dado que puede tener casi todo tipo de sistemas de archivos, usemos el autométodo fstab para adivinar el tipo de archivo a usar:

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

Ok, ahora reduzcamos a las opciones, que serán las mismas para los CD con el plus de permisos de lectura / escritura:

/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 que queremos permisos de lectura y escritura, userspermite que cualquier usuario monte un dispositivo, noautoevita que el controlador se monte automáticamente cuando mount -ase llama, como lo hace en el arranque, previniendo ERRORES de arranque y ADVERTENCIAS, allow_otherpermite que otros, excepto el usuario que montó el controlador tienen los mismos permisos y umask=0evita que se apliquen los valores predeterminados de umask.

Ahora los únicos 2 campos restantes son más o menos sobre el dumporden y el fsckorden, que podrían estar en 0ambos, dejándonos con el resultado final:

/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 esto, cada vez que conecte un dispositivo USB, se montará automáticamente en el punto de montaje sin la intervención del usuario. Debe modificar de acuerdo a sus necesidades.

Braiam
fuente
gracias Braiam No estoy seguro de si cambiar fstab puede montar USB automáticamente sin necesidad de reiniciar o usar el comando "mount". Encontré una solución simple de usar autofs. No solo se monta automáticamente, sino que también admite el desmontaje automático después de un tiempo predefinido de no acción, lo cual es muy útil en mi caso
Kiwi
No lo hace Como dije al principio, yo estaba usando los mismos usos truco fstab para CD / DVD que no requieren el uso de root, ni mounttampoco reinicio.
Braiam
3

Aquí está la solución que encontré:

Primero instalo autofs en mi PC Linux:

sudo apt-get install autofs

Creará el archivo auto.master en /etc/auto.master

Agregue la siguiente línea al final de ese archivo:

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

/media/mountes un directorio donde quiero montar todas las unidades externas. /etc/auto.mountes el archivo para poner en las reglas de montaje. --timeout=10significa que desmontará automáticamente la unidad después de 10 segundos de inactividad. --ghostsignifica que todavía deja una imagen de contenido cuando se desmonta. Cambie esta línea de acuerdo a sus necesidades.

Edite el /etc/auto.mountarchivo y agregue las siguientes líneas:

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

Para unidades normales como USB o conjunto eSATA -fstype=auto,sync. Tengo 8 puertos USB + eSATA, así que declaro 8 puntos de montaje aquí. Mi PC ya tiene sday sdbcomo discos locales, así que puse sdc1-> sdj1para dispositivos externos. En realidad, son nodos de dispositivos /devcuando se conectan las unidades. Una excepción de la regla de montaje es el montaje de DVD como se ve arriba.

Cuando inserte las unidades, se mostrarán como disk1, disk2, ... en el /media/mountdirectorio y se desmontarán automáticamente después de 10 segundos. No necesito tocar mi PC y puedo acceder a ella desde otro lugar (como una máquina virtual)

kiwi
fuente