# Reglas Udev para automount (Memorias USB, MMC y MSPro)

## edgar_uriel84

Pues como dije en el post anterior que acabo de escribir, me cambie a fluxbox y ya no tenía automontado de memorias usb, sd o cdcoms. Así que tome unas reglas udev de un post del foro y las extendi a memorias sd, incluso monta Memory Stick Pro pero hay un error raro de E/S cuando manipulas los datos. Las de los cdroms tampoco me han salido, mi dvd externo es /dev/sr0 y no he podido montarlo exitosamente pero estoy trabajando en ello. De momento les dejo las que funcionan por si a alguien le sirve, lo único que tienen que hacer es crear un archivo donde guardar las reglas: /etc/udev/rules.d/10-automount.rules

```
# Example udev rules for automounting usb volumes. Pulled from

# http://forums.gentoo.org/viewtopic-t-720401-highlight-automount.html

# To be placed in /etc/udev/rules.d/

# Match the mounted volume

KERNEL=="sd[b-z]", NAME="%k", GROUP="users", OPTIONS="last_rule"

KERNEL=="mmcblk[0-9]", NAME="%k", GROUP="users", OPTIONS="last_rule"

KERNEL=="mspblk[0-9]", NAME="%k", GROUP="users", OPTIONS="last_rule"

# Add the volume

ACTION=="add", KERNEL=="sd[b-z][0-9]", GROUP="users", NAME="%k"

ACTION=="add", KERNEL=="mmcblk[0-9]p[0-9]", GROUP="users", NAME="%k"

ACTION=="add", KERNEL=="mspblk[0-9]p[0-9]", GROUP="users", NAME="%k"

# Create the mount point

ACTION=="add", KERNEL=="sd[b-z][0-9]", RUN+="/bin/mkdir -p /mnt/%k"

ACTION=="add", KERNEL=="mmcblk[0-9]p[0-9]", RUN+="/bin/mkdir -p /mnt/%k"

ACTION=="add", KERNEL=="mspblk[0-9]p[0-9]", RUN+="/bin/mkdir -p /mnt/%k"

# Some udev magic runs this mount command if vfat is detected, else it falls

# through to the next rule, which tries to autodetect the fstype

ACTION=="add", KERNEL=="sd[b-z][0-9]", PROGRAM=="/lib/udev/vol_id -t %N", RESULT=="vfat", RUN+="/bin/mount -t vfat -o rw,noauto,flush,quiet,nodev,nosuid,noexec,noatime,dmask=000,fmask=111,umask=007 /dev/%k /mnt/%k", OPTIONS="last_rule"

ACTION=="add", KERNEL=="mmcblk[0-9]p[0-9]", PROGRAM=="/lib/udev/vol_id -t %N", RESULT=="vfat", RUN+="/bin/mount -t vfat -o rw,noauto,flush,quiet,nodev,nosuid,noexec,noatime,dmask=000,fmask=111 /dev/%k /mnt/%k", OPTIONS="last_rule"

ACTION=="add", KERNEL=="mspblk[0-9]p[0-9]", PROGRAM=="/lib/udev/vol_id -t %N", RESULT=="vfat", RUN+="/bin/mount -t vfat -o rw,noauto,flush,quiet,nodev,nosuid,noexec,noatime,dmask=000,fmask=111 /dev/%k /mnt/%k", OPTIONS="last_rule"

# Mount the volume

ACTION=="add", KERNEL=="sd[b-z][0-9]", RUN+="/bin/mount -t auto -o rw,noauto,sync,dirsync,noexec,nodev,noatime /dev/%k /mnt/%k", OPTIONS="last_rule"

ACTION=="add", KERNEL=="mmcblk[0-9]p[0-9]", RUN+="/bin/mount -t auto -o rw,noauto,sync,dirsync,noexec,nodev,noatime /dev/%k /mnt/%k", OPTIONS="last_rule"

ACTION=="add", KERNEL=="mspblk[0-9]p[0-9]", RUN+="/bin/mount -t auto -o rw,noauto,sync,dirsync,noexec,nodev,noatime /dev/%k /mnt/%k", OPTIONS="last_rule"

# Rules for umounting volume

ACTION=="remove", KERNEL=="sd[b-z][0-9]", RUN+="/bin/umount -l /mnt/%k"

ACTION=="remove", KERNEL=="mmcblk[0-9]p[0-9]", RUN+="/bin/umount -l /mnt/%k"

ACTION=="remove", KERNEL=="mspblk[0-9]p[0-9]", RUN+="/bin/umount -l /mnt/%k"

# Clean up

ACTION=="remove", KERNEL=="sd[b-z][0-9]", RUN+="/bin/rmdir /mnt/%k", OPTIONS="last_rule"

ACTION=="remove", KERNEL=="mmcblk[0-9]p[0-9]", RUN+="/bin/rmdir /mnt/%k", OPTIONS="last_rule"

ACTION=="remove", KERNEL=="mspblk[0-9]p[0-9]", RUN+="/bin/rmdir /mnt/%k", OPTIONS="last_rule"
```

Notas:

- Yo como el autor original estoy hecho a la vieja escuela y suelo montar las cosas en /mnt pero pueden cambiarlo fácilmente a /media.

- Diferente a las reglas del post original ahora el punto de montaje es igual al nombre de la partición, es decir, /dev/sdb3 se monta en /mnt/sdb3, así no hay pierde.

- Mi disco duro es detectado como sda, por eso la primera regla de cada sección tiene "sd[b-z][0-9]" pero si su disco duro es /dev/hd? pueden cambiarlo a "sd[a-z][0-9]"

Espero sirva para futuras consultas.

----------

## achaw

Y si usas hal+ivman y te evitas los dolores de cabeza?

Saludos

----------

## pelelademadera

 *achaw wrote:*   

> Y si usas hal+ivman y te evitas los dolores de cabeza?
> 
> Saludos

 

genial ivman. no lo conocia. pero una maravilla. 

graciela

----------

## edgar_uriel84

 *achaw wrote:*   

> Y si usas hal+ivman y te evitas los dolores de cabeza?
> 
> Saludos

 

De hecho se me hace mucho más fácil escribir este archivo y tenerlo listo, ivman es algo viejo y a muchos no les funciona bien, generalmente todos los sistemas llevan hal y udev instalados, copia este archivo y listo, a que no puede ser más fácil.

----------

## achaw

Yo como vos soy usuario de fluxbox, y a la vez usuario de rox. Lidie con las reglas de udev, hasta que me decante por lo mas simple. Por ejemplo, tengo configurado ivman para que cuando se inserta el dispositivo (y hal se encarga de montarlo con su respectiva etiqueta) se me abra una ventana de rox señalando el directorio y cambiando el icono del mismo segun el tipo de dispsitivo. "Chucherias" quizas, pero utiles para mi.

Saludos

----------

## edgar_uriel84

Al final, mi archivo ha quedado así:

```
# Example udev rules for automounting usb volumes. Pulled from

# http://forums.gentoo.org/viewtopic-t-720401-highlight-automount.html

# To be placed in /etc/udev/rules.d/

# Match the mounted volume

#KERNEL=="sd[b-z]", NAME="%k", GROUP="users", OPTIONS="last_rule"

#KERNEL=="mmcblk[0-9]", NAME="%k", GROUP="users", OPTIONS="last_rule"

KERNEL=="mspblk[0-9]", NAME="%k", GROUP="users", OPTIONS="last_rule"

# Add the volume

#ACTION=="add", KERNEL=="sd[b-z][0-9]", GROUP="users", NAME="%k"

#ACTION=="add", KERNEL=="mmcblk[0-9]p[0-9]", GROUP="users", NAME="%k"

ACTION=="add", KERNEL=="mspblk[0-9]p[0-9]", GROUP="users", NAME="%k"

# Create the mount point

ACTION=="add", KERNEL=="sd[b-z][0-9]", GROUP="users", RUN+="/bin/mkdir -p /mnt/%k"

ACTION=="add", KERNEL=="mmcblk[0-9]p[0-9]", GROUP="users", RUN+="/bin/mkdir -p /mnt/%k"

ACTION=="add", KERNEL=="mspblk[0-9]p[0-9]", GROUP="users", RUN+="/bin/mkdir -p /mnt/%k"

# Some udev magic runs this mount command if vfat is detected, else it falls

# through to the next rule, which tries to autodetect the fstype

ACTION=="add", KERNEL=="sd[b-z][0-9]", GROUP="users", PROGRAM=="/lib/udev/vol_id -t %N", RESULT=="vfat", RUN+="/bin/mount -t vfat -o rw,noauto,flush,quiet,nodev,nosuid,noexec,noatime,dmask=000,fmask=111 /dev/%k /mnt/%k", OPTIONS="last_rule"

ACTION=="add", KERNEL=="mmcblk[0-9]p[0-9]", GROUP="users", PROGRAM=="/lib/udev/vol_id -t %N", RESULT=="vfat", RUN+="/bin/mount -t vfat -o rw,noauto,flush,quiet,nodev,nosuid,noexec,noatime,dmask=000,fmask=111 /dev/%k /mnt/%k", OPTIONS="last_rule"

ACTION=="add", KERNEL=="mspblk[0-9]p[0-9]", GROUP="users", PROGRAM=="/lib/udev/vol_id -t %N", RESULT=="vfat", RUN+="/bin/mount -t vfat -o rw,noauto,flush,quiet,nodev,nosuid,noexec,noatime,dmask=000,fmask=111 /dev/%k /mnt/%k", OPTIONS="last_rule"

# Some udev magic runs this mount command if ntfs is detected

# You need install ntfs3g

ACTION=="add", KERNEL=="sd[b-z][0-9]", GROUP="users", PROGRAM=="/lib/udev/vol_id -t %N", RESULT=="ntfs", RUN+="/bin/mount -t ntfs-3g -o defaults,nls=utf8 /dev/%k /mnt/%k", OPTIONS="last_rule"

ACTION=="add", KERNEL=="mmcblk[0-9]p[0-9]", GROUP="users", PROGRAM=="/lib/udev/vol_id -t %N", RESULT=="ntfs", RUN+="/bin/mount -t ntfs-3g -o defaults,nls=utf8 /dev/%k /mnt/%k", OPTIONS="last_rule"

ACTION=="add", KERNEL=="mspblk[0-9]p[0-9]", GROUP="users", PROGRAM=="/lib/udev/vol_id -t %N", RESULT=="ntfs", RUN+="/bin/mount -t ntfs-3g -o defaults,nls=utf8 /dev/%k /mnt/%k", OPTIONS="last_rule"

# Mount the volume

ACTION=="add", KERNEL=="sd[b-z][0-9]", GROUP="users", RUN+="/bin/mount -t auto -o rw,noauto,sync,dirsync,noexec,nodev,noatime /dev/%k /mnt/%k", OPTIONS="last_rule"

ACTION=="add", KERNEL=="mmcblk[0-9]p[0-9]", GROUP="users", RUN+="/bin/mount -t auto -o rw,noauto,sync,dirsync,noexec,nodev,noatime /dev/%k /mnt/%k", OPTIONS="last_rule"

ACTION=="add", KERNEL=="mspblk[0-9]p[0-9]", GROUP="users", RUN+="/bin/mount -t auto -o rw,noauto,sync,dirsync,noexec,nodev,noatime /dev/%k /mnt/%k", OPTIONS="last_rule"

# Rules for umounting volume

ACTION=="remove", KERNEL=="sd[b-z][0-9]", GROUP="users", RUN+="/bin/umount -l /mnt/%k"

ACTION=="remove", KERNEL=="mmcblk[0-9]p[0-9]", GROUP="users", RUN+="/bin/umount -l /mnt/%k"

ACTION=="remove", KERNEL=="mspblk[0-9]p[0-9]", GROUP="users", RUN+="/bin/umount -l /mnt/%k"

# Clean up

ACTION=="remove", KERNEL=="sd[b-z][0-9]", GROUP="users", RUN+="/bin/rmdir /mnt/%k", OPTIONS="last_rule"

ACTION=="remove", KERNEL=="mmcblk[0-9]p[0-9]", GROUP="users", RUN+="/bin/rmdir /mnt/%k", OPTIONS="last_rule"

ACTION=="remove", KERNEL=="mspblk[0-9]p[0-9]", GROUP="users", RUN+="/bin/rmdir /mnt/%k", OPTIONS="last_rule"

```

Estas reglas montan particiones ntfs, fat y cualquier otro sistema de archivos que soporte el kernel con permisos "777". Distingue las memorias usb, mmc y memory stick (lo cual resuelve una duda que hace tiempo tenía alguien en el foro, nadie pudo contestar en esa ocasión).

----------

## carlos plaza

Gracias "edgar_uriel84" lo probare y les are saber ya que tengo un buen rato tratando de hacer leer mi unidad:

 *Quote:*   

> 06:04.4 FLASH memory: ENE Technology Inc SD/MMC Card Reader Controller (rev 01)

 

Saludos

----------

