Página siguiente Página anterior Índice general

7.5 ¿Cómo puedo montar y desmontar unidades en Linux?

Montar un sistema de ficheros/dispositivo a nivel usuario no es más que hacerlo disponible en el árbol de directorios de nuestro sistema. Como ya sabeis, en Linux vemos todos los sistemas de ficheros/dispositivos en un sólo árbol de directorios, no existen letras a:, c:, etc., de esta manera nos da igual que el contenido de un directorio sea un sistema de ficheros msdos, vfat, ext2, se encuentre en diferentes discos/particiones, esté en una máquina remota, etc. Esta abstracción tiene un inconveniente, hay que montarlo, es decir, indicarle al kernel de Linux que a través del directorio XXXX, accedemos al sistema de ficheros/dispositivo yyy. Esto se hace con el comando mount (man mount, para detalles).

Montar un sistemas de ficheros/dispositivo a nivel kernel, no es más que rellenar unas tablas de registro. Es decir, ver si el sistema de ficheros está soportado, o lo que es lo mismo, si existe la tabla de funciones con las que manejarlo. Luego registrar estas funciones y enlazar el directorio al sistema de ficheros. Esto es más bien lo que hace la llamada al sistema mount, la cual es llamada mediante el comando del mismo nombre.

Los parametros necesarios para montar un sistema de ficheros son:

Ejemplo: Montar el cdrom en el directorio /dev/cdrom.

  mount -t <sistema de ficheros> <Dispositivo> <Directorio>
  mount -t iso9660 /dev/hdb /mnt/cdrom
Supongo que ya comprendereis el inconveniente de esto: Cada vez que se quiere acceder a un cdrom se ha de ejecutar el comando anterior, en vez de teclear d: (como en otros sistemas operativos). Pero la versatilidad y la flexibilidad que ofrece hace que no se tenga en cuenta ese inconveniente (como usuario accedo dentro de un directorio sin que me pase por la cabeza por ejemplo que ese fichero está al otro lado del planeta utilizando para ello el protocolo nfs).

Existen otras formas de reducir la línea de comandos, para ello (entre otras cosas) existe el fichero /etc/fstab. En él se indican los sistemas de ficheros sobre los que trabajamos normalmente: el sistema de ficheros en el que tenemos los directorios de linux, el /proc, la partición dos, el cdrom, y el floppy.

El fichero /etc/fstab funciona de la siguiente manera:

Partimos de un ejemplo de contenido de /etc/fstab:

  # <device> <mountpoint> <filesystemtype> <options>                        <dump> <fsckorder>

  /dev/hda2  /            ext2             defaults                            1       1
  /dev/hda3  /usr         ext2             defaults                            1       2
  /dev/sda1  /home        ext2             defaults                            1       2
  /dev/hdb   /mnt/cdrom   iso9660          user,noexec,nodev,nosuid,ro,noauto  0       0
  /dev/fd0   /mnt/floppy  vfat             user,noexec,nodev,nosuid,rw,noauto  0       0
  none       /proc        proc             defaults                            0       0
  /dev/hda4  swap         swap             defaults                            0       0
  /dev/hda1  /mnt/dos     vfat             exec,dev,suid,rw,auto               0       0                      
Con la información contenida en este fichero, el sistema haria lo siguiente al arrancar el sistema: Veamos la explicación de los parametros usados en /etc/fstab:

En la columna de dispositivo (device) se indica el dispositivo/partición a montar, en la punto de montaje (mountpoint) se indica el directoria mediante el cual vamos a acceder al sistema de archivos. En la columna de tipo de sistema de ficheros (filesystemtype) se indica el sistema de ficheros que se usara sobre el dispositivo.

Las opciones (options) significan lo siguiente:

El fichero /etc/fstab de nuestro ejemplo nos permitiría hacer lo siguiente para montar un disquete o CD-Rom:

  mount /mnt/cdrom 
  mount /mnt/floppy
Cuando dejamos de utilizar un sistema de ficheros, tenemos que darlo de baja (desmontarlo), para eliminar todas las referencias del kernel a él. El comando utilizado para esto es umount.

Para desmontar un sistema de ficheros/dispositivo:

  umount <directorio|dispositvo>
ej:
  umount /mnt/floppy  
  umount /dev/fd0 

NOTA: Es necesario ejecutar el comando umount cada vez que cambiemos un disquete, ya que no siempre cuando se escribe en un dispositivo, se realiza automáticamente un volcado al dispositivo (por eso se pueden perder datos si se apaga el ordenador a lo bruto). Además si cambiamos el disquete sin hacer umount, el kernel piensa que hay el sistema de ficheros anterior y cuando guarda alguna información lo hace con referencia al retirado, perdiéndose todo.

Este es un punto a tener en cuenta con el uso de disquetes, ya que, el mecanismo para retirar un disquete es mecánico, no existe posibilidad de impedir por medio de software que álguien saque un disquete de la disquetera. No ocurre lo mismo con el CD-Rom, ya que el sistema bloqueará la posibilidad de extraerlo cuando este montado.


Página siguiente Página anterior Índice general