7/13/2008


Montar pendrive o disco extraible manualmente en Gnu/Linux

Bueno seguimos con el montado de discos, recomiendo que lean el anterior articulo sobre UUID entre otras cosas y claro para comprender que estamos haciendo tener conocimientos sobre el fstab.

Muchas veces tenemos la necesidad de montar un disco extraible o un pendrive, en mi caso tengo un reproductor de MP3 y prácticamente es lo mismo en el funcionamiento de almacenamiento.
Prosigamos...

Se acuerdan que no tengo instalado HAL, por lo tanto, cuando yo conecte un disco extraible voy a tener que montarlo manualmente, o en el mejor de los casos, agregarlo al fichero /etc/fstab para que al iniciar el equipo lo monte automáticamente o que se mantenga en estado de espera, es decir esperando ser montado al ser detectado.

Primero conectemos el dispositivo y luego verificamos(como root) que aparezca en el listado de discos del comando fdisk.


[root@ArchLinux braianet]# fdisk -l

Disco /dev/sda: 40.0 GB, 40020664320 bytes
255 heads, 63 sectors/track, 4865 cylinders
Units = cilindros of 16065 * 512 = 8225280 bytes
Disk identifier: 0x4c2ba12c

Disposit. Inicio Comienzo Fin Bloques Id Sistema
/dev/sda1 * 2 2365 18988830 7 HPFS/NTFS
/dev/sda2 2366 4675 18555075 83 Linux
/dev/sda3 4761 4865 843412+ 82 Linux swap / Solaris
/dev/sda4 4676 4760 682762+ 83 Linux

Las entradas de la tabla de particiones no están en el orden del disco

Disco /dev/sdb: 15.0 GB, 15020457984 bytes
16 heads, 63 sectors/track, 29104 cylinders
Units = cilindros of 1008 * 512 = 516096 bytes
Disk identifier: 0x90909090

Disposit. Inicio Comienzo Fin Bloques Id Sistema
/dev/sdb1 1 1008 508000+ 82 Linux swap / Solaris
/dev/sdb2 * 1009 15540 7324128 83 Linux
/dev/sdb3 15541 29104 6836256 83 Linux

Disco /dev/sdc: 522 MB, 522043904 bytes
17 heads, 59 sectors/track, 1016 cylinders
Units = cilindros of 1003 * 512 = 513536 bytes
Disk identifier: 0x20736f63

Esto no parece una tabla de particiones
Probablemente ha seleccionado el dispositivo que no era.
Disposit. Inicio Comienzo Fin Bloques Id Sistema
/dev/sdc1 ? 1911394 2454136 272185273 6f Desconocido
La partición 1 tiene distintos principios físicos/lógicos (¿no Linux?):
físicos=(361, 101, 36) lógicos=(1911393, 0, 3)
La partición 1 tiene distintos finales físicos/lógicos:
físicos=(255, 115, 46) lógicos=(2454135, 5, 27)
La partición 1 no termina en un límite de cilindro.
/dev/sdc2 ? 1338820 2115804 389657273 69 Desconocido
La partición 2 tiene distintos principios físicos/lógicos (¿no Linux?):
físicos=(100, 101, 32) lógicos=(1338819, 12, 59)
La partición 2 tiene distintos finales físicos/lógicos:
físicos=(367, 115, 35) lógicos=(2115803, 6, 6)
La partición 2 no termina en un límite de cilindro.
/dev/sdc3 ? 168145 168145 0 20 Desconocido
La partición 3 tiene distintos principios físicos/lógicos (¿no Linux?):
físicos=(353, 117, 46) lógicos=(168144, 10, 47)
La partición 3 tiene distintos finales físicos/lógicos:
físicos=(355, 116, 37) lógicos=(168144, 10, 46)
La partición 3 no termina en un límite de cilindro.
/dev/sdc4 2877051 2877106 27619 0 Vacía
La partición 4 tiene distintos principios físicos/lógicos (¿no Linux?):
físicos=(0, 0, 0) lógicos=(2877050, 0, 3)
La partición 4 tiene distintos finales físicos/lógicos:
físicos=(0, 0, 0) lógicos=(2877105, 1, 16)
La partición 4 no termina en un límite de cilindro.

Las entradas de la tabla de particiones no están en el orden del disco
[root@ArchLinux braianet]#
Las líneas azules, nos indican los diferentes discos y lo que marque de rojo es una falencia en el sistema de archivos del reproductor de mp3, porque como sabrán, tiene una partición para su propio sistema(fabricante, firmware, etc), no se preocupen por esto.

Bueno el disco extraible se encuentra en:
Disco /dev/sdc: 522 MB, 522043904 bytes

Ahora lo montaremos manualmente si necesitan utilizarlo solo una vez, al ser montado como root, solo él puede modificar su contenido:

Método común

# mkdir /media/MP3
# mount -t vfat /dev/sdc /media/MP3

Lo que hicimos fué crear un directorio en /media llamado MP3 y luego montarlo. El parámetro -t es para el tipo, en este caso es un sistema fat32(vfat lo llama linux).
/dev/sdc es la ruta para el dispositivo, y /media/MP3 el directorio donde se montará.

Esta opcion nos quitará mas de un apuro pero no lo recomiendo si van a utilizar el disco extraíble continuamente.

Método modificando el Fstab

Llegamos a lo que necesitaba, este artículo en sí, lo hice para explicar esto, pero no podía empezar asi de la nada. Es la mejor opción si no cuenta con hal.

Obtenemos el UUID del disco extraíble:
[root@ArchLinux braianet]# blkid
/dev/sda1: UUID="100CA78D0CA76D02" TYPE="ntfs"
/dev/sda2: UUID="5e716466-9f33-44c3-8455-383c8d1e9a10" SEC_TYPE="ext2" TYPE="ext3"
/dev/sda3: TYPE="swap" UUID="fe97b59c-3776-452c-9232-65966a5cc230"
/dev/sda4: UUID="11f5a43a-5904-47bf-845d-8d95ac8730d4" SEC_TYPE="ext2" TYPE="ext3"
/dev/sdb1: TYPE="swap" UUID="70c4f0be-c6a0-449e-b2f2-b9689d1f93b6"
/dev/sdb2: UUID="dfa49bd0-dd2c-4c76-a318-a044fc691a6a" SEC_TYPE="ext2" TYPE="ext3"
/dev/sdb3: UUID="7824e60c-2dfd-4919-88df-b672eea43400" SEC_TYPE="ext2" TYPE="ext3"
/dev/sdc: LABEL="BR414N" UUID="7453-103F" TYPE="vfat"
[root@ArchLinux braianet]#
Modificamos el fstab y agregamos:

UUID=7453-103F /media/MP3 vfat rw,noauto,user,async,gid=100 0 0

Explicación:
rw: significa lectura y escritura.
noauto: significa que no se monte cuando inicie el sistema, ya que puede no estar conectado.
user:Permite a cualquier usuario del sistema montar o desmontar un dispositivo físico sin necesidad de ser root.
async: Con esto hacemos que las operaciones que realicemos no se hagan de forma asíncrona. Elegi esta opcion porque me funcionó mas rápido,aunque sync es mejor para no tener un solo error.
gid: el grupo especificado tiene el control sobre los archivos del dispositivo. En mi caso el el numero 100 que es el grupo users, ustedes pueden tener otro número, consulten con el comando id.

Ahora solo nos queda teclear mount /dev/sdc como usuario normal y listo o si tienen Gnome cuando lo conecten ya les mostrá el ícono, solo será necesario hacer click
Si quieren demontarlo y no saben porque le tira el error:

[root@ArchLinux Pascal]# umount /dev/sdc
umount: /media/MP3: dispositivo ocupado
umount: /media/MP3: dispositivo ocupado
Utilicen el comando lsof para saber que es lo que esta impidiendo al mismo, ahí nos muestra el PID y si desean matar el proceso utilicen el comando kill.
[root@ArchLinux Pascal]# lsof /dev/sdc
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
bash 3042 root cwd DIR 8,32 4096 3884 /media/MP3/Pascal
lsof 3312 root cwd DIR 8,32 4096 3884 /media/MP3/Pascal
lsof 3313 root cwd DIR 8,32 4096 3884 /media/MP3/Pascal
[root@ArchLinux Pascal]#
Espero que le haya servido. Saludos!

2 comentarios:

Facundito said...

Muy buen tutorial!! :D
Una duda (media obvia), segun veo solo vale para el pendrive qeu conectas, o sea, tengo que hacer lo mismo cada vez qeu quiero poner otro pendrive o va a funcionar con cualquier pendrive?

Saludos!!!

Paulina. said...

El disco duro extraible es lo que ando buscando para almacenar todos mis archivos