Montar dispositivos
Este es quizás uno de los puntos de más utilidad y mas importantes en los sistemas GNU/Linux. Al principio puede sonar un poco engorroso, pero con la configuración adecuada, podremos olvidarnos de todo esto, ya que podremos automatizarlo casi por completo.
En linux, para utilizar un dispositivo como por ejemplo el
floppy,
cd-rom, camara digital,
pen-drive, alguna partición, o alguna unidad de red compartida, antes
hemos de montarlo. Todos los dispositivos los montamos en un directorio, y utilizaremos ese directorio para acceder al dispositivo; una vez montado podemos navegar por el CD, camara digital, etc, como si de un directorio más del sistema se tratara.
Identificando los dispositivos
Antes de empezar, hemos de saber donde están físicamente los dispositivos (sobre todo en el caso de querer montar particiones, un CD, o cualquier dispositivo conectado a un cable IDE). Esto es porque en GNU/Linux se utiliza una nomenclaruta que asigna nobres según donde están conectados.
Al dispositivo conectado como
master en el
IDE primario se le llama
hda Al dispositivo conectado como
esclavo en el
IDE primario se le llama
hdb Al dispositivo conectado como
master en el
IDE secundario se le llama
hdc Al dispositivo conectado como
esclavo en el
IDE secundario se le llama
hdd
Para los dispositivos
scsi se usa la nomenclatura
sda,
sdb, etc.
Además, si el dispositivo es un disco duro, las particiones se numeran. Por ejemplo, la primera partición en el disco
hda es
hda1 la segunda
hda2, etc. Como hemos visto en el capítulo sobre el
sistema de ficheros los dispositivos están en el directorio
/dev, así que nos referiremos a ellos como:
/dev/hda1,
/dev/hdc, etc. Todo esto es válido también para los dispositivos
scsi.
Montando los dispositivos
Una vez ya sabemos donde está el dispositivo que queremos montar, ya podemos proceder a montarlo. Para ello usaremos el comando
mount; su sintaxis básica es la siguiente:
mount -t <sistema de ficheros> -o <opciones> <dispositivo> <punto de montaje>
Los parámetros más comunes y útiles para el comando anterior son los siguientes:
Sistema de ficheros:
Aquí decimos que sistema de ficheros utiliza el dispositivo a montar. Puede ser uno de los siguientes:
- ext2 o ext3 Para particiones Linux que usen ese sistema de ficheros.
- vfat Para particiones Windows que usen fat32.
- ntfs Para particiones Windows que usen NTFS.
- iso9660 para CD-roms.
Para los sistemas de ficheros
ntfs es necesario un kernel de la rama 2.6 si queremos soporte para escritura; en kernels anteriores aún no había soporte estable. De todos modos, el soporte de escritura en
ntfs aún es un poco limitado, así que cuando montemos particiones de este tipo es mejor hacerlo siempre utilizando la opción
ro.
Opciones de montaje:
Las opciones son muchas y variadas, y nos permiten establecer parámetrops de montaje realmente interesantes. Las más utilizadas son:
- ro El dispositivo se monta con permisos de solo lectura
- rw El dispositivo se monta con permisos de lectura/escritura
- user Cualquier usuario puede montar y desmontar el dispositivo (interesante ya qeu en principio solo root puede hacerlo).
- auto El dispositivo se monta automáticamente al iniciar (o cuando usamos la opción -a)
- defaults Para emplear las opciones predeterminadas: rw, suid, dev, exec, auto, nouser, async.
- exec Para permitir la ejecución de binarios.
- uid=<userid> Para permitir que (aparte de root) el usuario cuyo id es <userid> pueda montar el dispositivo.
- gid=<groupid> Para permitir que (aparte de root) los usuarios cuyo id del grupo sea <groupid> puedan montar el dispositivo.
Para saber el id de un usuario o un grupo podemos utilizar el comando:
id <usuario> (si no especificamos el usuario asumirá el usuario actual).
Cuando introducimos las opciones, hemos de ponerlas separadas por comas, por ejemplo:
-o ro,auto,user
Dispositivo:
Este parámetro se refiere al dispositivo que queremos montar, como por ejemplo
/dev/hda3 si es una partición,
/dev/hdc si es ese el sitio donde tenemos un cd-rom, etc. Si no sabemos donde tenemos nuestro dispositivo podemos usar (como root) el comando:
# dmesg | grep hd
Y nos saldrá una lista de los dispositivos que tenemos. Sólo tenemos que identificar cuál es el que queremos.
Punto de montaje:
Es el directorio donde queremos montarlo. Normalmente es un subdirectorio dentro de
/mnt (ver el capítulo acerca del
sistema de ficheros). Este directorio
debe existir antes de montar el dispositivo. Si no existe podemos crearlo antes con:
mkdir <nombre_directorio>.
Ejemplos prácticos
Dicho esto vamos a ver unos ejemplos prácticos con los que podemos montar nuestros dispositivos.
# mount -t ext3 -o rw /dev/hda2 /mnt/linux
# mount -t vfat -o defaults /dev/hdb1 /mnt/windows
# mount -t vfat -o rw /dev/floppy /mnt/disquet
# mount -t iso9660 -o ro,exec /dev/hdc /mnt/cdrom
# mount -t vfat -o rw /dev/sda1 /mnt/pendrive
Las líneas anteriores hacen lo siguiente:
La primera línea monta la segunda partición del disco primario del primer IDE en el directorio
/mnt/linux con permisos de
lectura/escritura, asumiendo el sistema de ficehros
ext3.
La segunda línea monta una partición
fat32 que está en el disco secundario del primer IDE, en el directorio
/mnt/windows.
El tercer ejemplo monta en
/mnt/disquet el
floppy con permisos de lectura/escritura''.
El cuarto monta un cd-rom (si hdc es el cdrom) en
/mnt/cdrom con permisis de lectura y ejecución de binarios.
El último ejemplo monta un
pendrive usb con sistema de ficheros
fat32 y con permisos de lectura y escritura.
Desmontando dispositivos
Es muy importante desmontar los dispositivops antes de desconectarlos (hemos de desmontar el cd-rom antes de quitarlo, etc), ya que si no lo hacemos así empezaremos a ver errores y puede que el dispositivo que de con alguna incoherencia en sus datos. Para ello tenemos el comando
umount. Su sintaxis es:
umount <dispositivo> o bien
umount <punto de montaje>
Siguiendo el ejemplo anterior podríamos utilizar uno de los dos comandos siguientes para desmontar el cd-rom:
# umount /mnt/cdrom
- o bien
# umount /dev/hdc
Automatizando el montaje de dispositivos
Ahora ya podemos montar nuestros dispositivos, pero es muy engorroso tener que haer esto cada vez. Además, estos comandos pueden ser bastante largos. En GNU/Linux podemos automatizar esta tarea de una forma muy sencilla, añadiendo las entradas correspondientes al ficehro
/etc/fstab
En el aranque del sistema, se montan todos los dispositivos que aparecen en este fichero y tienen la opción
auto. Cada línea del fichero corresponde a un dispositivo y a cómo va a montarse. Su sintaxis es:
<dispositivo> <punto montaje> <sistema ficheros> <opciones> <dump> <pass>
Todos los parámetros los hemos visto excepto
dump y
pass.
dump se usará para saber qué dispositivos necesitan ser volcados, y
pass para determinar el orden en que se chequearán los sistmas de ficheros cuando el sistema arranca. Para nuestros propósitos, dejaremos ambos a 0. Normalmente suelen dejarse a 0, excepto para las entradas que añade por defecto el sistema operativo para
/ o
/home, por ejemplo.
Según la distribución que usemos, ya tendremos algunas entradas en ese fichero (siempre tendremos una entrada para la partición raíz /). Tendremos más o menos entradas depende de la distribución que usemos. De todos modos podemos añadir las entradas que necesitemos.
Ejemplos prácticos:
Vamos a ver unos cuantos ejemplos de qué líneas podríamos añadir al fichero para adaptarlo a nuestras necesidades.
/dev/hda2 /mnt/linux ext3 rw,user,auto 0 0
/dev/hdb1 /mnt/windows vfat defaults,auto 0 0
/dev/floppy /mnt/disquet vfat rw 0 0
/dev/hdc /mnt/cdrom iso9660 ro,user,noauto,exec 0 0
/dev/sda1 /mnt/pendrive vfat rw,user,auto 0 0
Añadiendo estas líneas al fichero
/etc/fstab conseguiríamos que se montaran automáticamente al arrancar el sistema los dispositivos que lleven la opción
auto.
Además, estamos especificando la información para cada dispositivo, como por ejemplo qué dispositivos puede montar cualquier usuario, etc.
Otra ventaja de tener las entradas en el fichero
/etc/fstab es que podemos abreviar la orden
mount. Si no tenemos un dispositivo montado aún, pero tiene una entrada definida en el fichero, podemos montarlo de una forma tan simple como:
mount <dispositivo> o bien
mount <punto montaje>
Por ejemplo, para montar el cd-rom podríamos hacer una de estas dos cosas:
$ mount /dev/hdc
- o bien
$ mount /mnt/cdrom
Además nos es posible utilizar este comando sin ser root para montar el cdrom, ya que en su línea de configuración hemos especificado al opción
user. Los que no tengan la opción
user sólo podrá montarlos root.
Montarlo de esta forma es posible ya que al montar el dispositivo, el sistema operativo verá que está definido en el fichero
/etc/fstab y leerá de ahí als opciones para montarlo. Por eso es interesante definir en él todos los dispositivos que montemos habitualmente, no tan sólo los que se montan automáticamente al iniciar.
Tutorial elaborado por
Nacx para ADSLAyuda.com