¡Bienvenidos! con este post comienzo mi nuevo blog mas general y facil de recordar que algoritmoselinventor (aunque le tengo mucho cariño :’-) ) xD y que estará destinado a todo lo que venía haciendo y algunas cosas nuevas… jeje.
Y con este doy inicio también a mi nueva sección Micro tips…
Ok, manos a la obra…
Este es un tema que me había pasado varias veces y conozco a varios que les pasa lo mismo, pero no le había prestado mucha atención dado la carga de trabajo que tenía acumulada… Pero bueh… ¡Ya no más!
Me sucede que cuando hago una instalación desde un Net-Install y luego instalo un entorno gráfico (en mi caso Gnome o Fluxbox) desde un repo cualquiera. Los dispositivos como pendrives o memorias SD se montan con permisos de root y no se montan en el directorio /media/usuario/etiqueta como ya estamos acostumbrados desde hace varias versiones de Linux/Debian atrás.
Entre otras cosas, esos son los «síntomas» que he percibido en el comportamiento con las memorias de formato VFAT (fat32, etc..)
- Se montan en /media/usb0, /media/usb1, etc…
- Se montan con permisos de solo lectura.
- Solo los puedes escribir como root en la terminal (y si lo quieres gestionar desde interfaz gráfica tienes que lanzar nautilus, pcmafm u otros como root).
- Solo los puedes desmontar como root.
- La transferencia de datos en estos dispositivos es muy lenta comparada con otros.
- En algunos casos, no se terminan de transferir los archivos o se transmiten corruptos.
- Cuando la transferencia de archivos es muy grande puedes notar como que la máquina se pone un poco lenta (y en algunos casos Gnome se pone un poco loco).
- Este comportamiento no afecta las particiones o dispositivos extraíbles en formato ntfs.
- Solo puedes desmontarlos como root.
Esto pasa cuando instalamos desde un net-install y luego le ponemos Gnome u otro entorno… primero daré la solución, y si les interesa, luego les explico el por qué.
Solución:
1) Abrir un terminal
Como siempre el # significa que estamos como root y el $ que estamos como usuario normal (no es parte del comando).
2) Verificar que tienen instalado el paquete usbmount
# aptitude search usbmount
Si está instalado, el terminal debería mostrar algo como lo siguiente
i usbmount - automatically mount and unmount USB mass storage devices
el «i» al principio significa que está instalado
3) Lo desinstalamos
# aptitude remove usbmount
4) Verificamos de nuevo que se ha desinstalado
# aptitude search usbmount
Si está desinstalado, el terminal debería mostrar algo como lo siguiente
c usbmount - automatically mount and unmount USB mass storage devices
el «c» al principio significa que ya está desinstalado
5) ¡Listo!
¡A dejar que udev maneje el montaje! Si quieres comprobar si ya tus USB se montan y se desmontan como lo harían normalmente, conecta un pendrive y prueba.
Ya puedes seguir con tu vida… Ahora… Si quieres conocer la explicación, sigue leyendo…
Esto ocurre porque cuando haces una instalación desde el net-install (ya que es una instalación base sin interfaz gráfica) se instala el paquete usbmount que es una aplicación que monta dispositivos de almacenamiento extraíbles cuando están conectados y los desmonta cuando se eliminan como una instancia de Udev para poder gestionarlos de manera mas fácil y este queda gestionando los montajes y salta por encima de HAL.
Bueno, para no hacer el cuento mas largo, si quieres saber más de Udev, Dbus y Hal y cómo funciona la gestión de dispositivos en el sistema Linux moderno lee este artículo
Entonces…
¿Por qué se montan en /media/usb0, /media/usb1, etc…?
Porque los directorios de montaje de usbmount son estáticos y así están definidos en /etc/usbmount.conf que es el archivo de configuración para el paquete usbmount.
Por eso siempre los monta en /media/usb0, /media/usb1… Hasta el media/usb7 que son los que tiene pre-configurados.
¿Por qué se montan con permisos de solo lectura? y ¿Por qué solo los puedes escribir, montar/desmontar como root?
Porque en el usbmount.conf por defecto, las opciones de montaje de los dispositivos son noexec, nodev, noatime, nodiratime además, se montan con opciones de file system dmask, fmask y gid con permisos sólo para el root, así que por eso solo los puedes administrar desde el root a menos que edites el archivo usbmount.conf
¿Por qué La transferencia de datos en estos dispositivos es muy lenta comparada con otros?, ¿En algunos casos, no se terminan de transferir los archivos o se transmiten corruptos?, Cuando la transferencia de archivos es muy grande puedes notar como que la máquina se pone un poco lenta (y en algunos casos Gnome se pone un poco loco).
Ok… la lentitud es porque, además de las opciones de montaje noexec, nodev, noatime y nodiratime, hay una opción extra, la opción «sync«, esta, en el montaje que hace que sincronice los archivos con el sistema antes y después del montaje.
La opción «sync» puede no ser una buena opción para usar con unidades flash, ya que fuerza una mayor cantidad de escritura operando en la unidad. Esto hace que la velocidad de escritura considerablemente inferior y también conduce a un desgaste más rápido del disco.
En el Warning del archivo usbmount.conf dice lo siquiente:
The "sync" option may not be a good choice to use with flash
drives, as it forces a greater amount of writing operating on the
drive. This makes the writing speed considerably lower and also
leads to a faster wear out of the disk.
If you omit it, don't forget to use the command "sync" to
synchronize the data on your disk before removing the drive or
you may experience data loss.
It is highly recommended that you use the pumount command
(as a regular user) before unplugging the device. It makes
calling the "sync" command and mounting with the sync option
unnecessary---this is similar to other operating system's
"safely disconnect the device" option.
¿Por qué este comportamiento no afecta las particiones o dispositivos extraíbles en formato ntfs?
Los sistemas de archivos que gestiona el usbmount por defecto son: vfat, ext2, ext3, ext4 y hfsplus. Para los ntfs no pasa porque el montaje lo gestiona el paquete ntfs-3g y por tanto se gestiona por el udev como normalmente se haría.
Nota:
El paquete usbmount ya no está soportado por el autor original, pero Ubuntu/Debian todavía parecen mantenerlo, por lo que todavía está disponible en las últimas versiones como Wheezy, Jessie y Ubuntu (equivalente).
Espero que les haya servido. ¡See you soon!
Fuente de referencia:
http://usbmount.alioth.debian.org/
https://superuser.com/questions/53978/automatically-mount-external-drives-to-media-label-on-boot-without-a-user-logge