Automontaje de dispositivos USB

By 6 de agosto de 2006 BSD, Linux No Comments

debian_topic_mirror.pngCada vez es más habitual disponer de dispositivos de almacenamiento a los que se accede mediante USB, como pueden ser cámaras digitales o llaveros de memoria que utilizan usb-storage. El principal problema lo tenemos cuando tenemos que encontrar qué dispositivo nos ha asociado (sda1, sdb1, etc), crear la entrada en /etc/fstab y, para hacerlo cómodo, crear un icono de acceso en el escritorio. Con algunos truquillos y autofs, podremos solucionar el "problema" y, ya puestos, con mucha comodidad.

Con este artículo haremos que:

* El dispositivo USB se monte automáticamente cuando lo conectemos
* Permitir tantos dispositivos como queramos
* Se desmonte automáticamente para permitir su extracción con seguridad
* Crear un icono de acceso en el escritorio cuando este dispositivo esté
conectado y que éste desaparezca cuando se desconecte.
Ingredientes:

* hotplug (apt-get install hotplug)
* usbutils (apt-get install usbutils)
* autofs (apt-get install autofs)
* habilitar el automounter en el núcleo (kernel 2.6: CONFIG_AUTOFS4_FS=y,
kernel 2.4: CONFIG_AUTOFS_FS=y)
Editaremos el fichero /etc/auto.master y añadiremos, al final, la línea:

/mnt/usb /etc/auto.removable --timeout=1

Con esto indicamos que los dispositivos están especificados en el fichero /etc/auto.removable, que estos los tiene que montar en /mnt /usb[*] y
que tras un segundo de inactividad lo desmonte; así, nos permitirá extraer el dispositivo sin peligro de corromper su sistema de ficheros.

[*] AVISO: no indiquéis / como punto de montaje si no queréis que desaparezca
toda vuestra información!

Ahora, crearemos el fichero /etc/auto.removable parar introducir:

USB1 -fstype=vfat,uid=1000,gid=100,umask=002 :/dev/sda1
USB2 -fstype=vfat,uid=1000,gid=100,umask=002 :/dev/sdb1
USB3 -fstype=vfat,uid=1000,gid=100,umask=002 :/dev/sdc1
USB4 -fstype=vfat,uid=1000,gid=100,umask=002 :/dev/sdd1
USB5 -fstype=vfat,uid=1000,gid=100,umask=002 :/dev/sde1
USB6 -fstype=vfat,uid=1000,gid=100,umask=002 :/dev/sdf1

Cambiaremos los valores uid y gid para que coincidan con nuestro usuario y grupo habitual. Con esta lista permitiremos hasta 6 dispositivos USB conectados. Si nuestro rdenador sólo tiene dos conexiones, dejaremos las dos primeras, etc.
Una vez guardado el fichero, crearemos el punto de montaje:

# mkdir /mnt/usb

y reiniciamos el servicio autofs:

# /etc/init.d/autofs restart

A partir de este momento, conectando y desconectando dispositivos USB tendría que hacer que estos se montaran automáticamente en /mnt/usb/USB1, /mnt/usb/USB2, etc. Comprobémoslo:

less /var/log/syslog

y pulsamos mayúsculas+F. Conectamos un cacharrito USB y deberíamos ver cómo syslog se actualiza. Desconectamos, y los cambios también aparecen. Pulsamos Control+C y Q para salir de less.

El siguiente paso es que al conectar un dispositivo USB, para hacerlo bonito y cómodo, aparezca un icono en el escritorio. También que, cuando lo desconectemos, este icono desaparezca.
Editamos el fichero /etc/hotplug/usb.agent y en el final del fichero añadimos:

. ./usb/usb-storage &

Es importante el símbolo & al final, porque el USB no se activará hasta que no finalice el script, y para ejecutar usb-storage necesitamos que los dispositivos estén activados.
Ahora crearemos el fichero /etc/hotplug/usb/usb-storage con el siguiente contenido:

#!/bin/sh
HOME=/vuestro/home
sleep 2
for i in USB1 USB2 USB3 USB4 USB5 USB6
do
if [ -d /mnt/usb/$i ] then
if [ ! -L $HOME/Desktop/$i ] then
ln -s /mnt/usb/$i $HOME/Desktop/$i
fi
else
if [ -L $HOME/Desktop/$i ] then
rm -f $HOME/Desktop/$i
fi
fi
done

Guardaremos el fichero y le daremos permisos de ejecución:

# chmod +x /etc/hotplug/usb/usb-storage

Y ya está. Si ahora conectamos un dispositivo USB, nos aparecerá en el escritorio un icono de acceso a este dispositivo. Cuando desconectemos, este icono desaparecerá.

Por Josep Sort
Josep (http://infoterrassa.com)
Fuente: http://bulma.net
Reeditado: Solusan

Leave a Reply

Your email address will not be published.