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:
/dev/hda1, /dev/hdb, /dev/sda1
,..., none si es el /proc
,
ya que se realiza sobre la memoria).
Ejemplo: Montar el cdrom en el directorio /dev/cdrom.
mount -t <sistema de ficheros> <Dispositivo> <Directorio> mount -t iso9660 /dev/hdb /mnt/cdromSupongo 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 0Con la información contenida en este fichero, el sistema haria lo siguiente al arrancar el sistema:
/dev/hda1
se montaria en el subdirectorio /mnt/dos
/dev/hda2
se montaria en el subdirectorio /
/dev/hda3
se montaria en el subdirectorio /usr
/dev/hda4
se montaria en el subdirectorio como swap
/dev/sda1
se montaria en el subdirectorio /home
Proc
se montaria en el subdirectorio /proc
/dev/fd0
y un CD-Rom /dev/hdb
, aunque no los monta automaticamente al arrancar
por haber definido la opción noauto
./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/floppyCuando 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.