Montaje y desmontaje de un sistema de ficheros

Todos los ficheros y directorios disponibles en un sistema Unix están organizados en un único árbol cuya raíz es el directorio /. Los ficheros pueden estar distribuidos entre distintos dispositivos.

Mediante la orden mount podemos añadir un sistema de ficheros contenido en algún dispositivo, por ejemplo una partición de disco duro, disquete, etc., al árbol de directorios. Habitualmente nos referiremos a esta operación como "montar una partición disquete o cdrom".

El montaje se realiza en un directorio existente en el sistema de ficheros, en el cual apareceran los contenidos del sistema de ficheros que hay en el dispositivo. Este directorio se conoce como punto de montaje. Si el directorio punto de montaje tuviera algún contenido previo, este se oculta y sólo aparece lo que haya en el dispositivo montado.

Para desmontar un sistema de ficheros contenido en un dispositivo se utiliza la orden umount. Para desmontar el dispositivo es necesario que no esté en uso por ninguna aplicación.

Es importante tener en cuenta los buffers de disco. Cuando se escriben datos en el disco no se actualizan instantáneamente, sino que el sistema los guarda en un buffer que vuelca a disco transcurrido un cierto tiempo. La orden de desmontar un sistema de ficheros fuerza la actualización del disco. Por este motivo si extraemos un disquete de la unidad antes de desmontarlo es muy probable que obtengamos datos incoherentes.

Un caso particular es el sistema de ficheros virtual /proc. Este sistema de ficheros no está asociado a ningún dispositivo y en él aparecerá diversa información sobre el sistema. Tiene que existir el punto de montaje, el sistema se encarga del resto.

El buffer de disco

Los dispositivos de bloque disponen de un buffer sobre el que se realizan las operaciones de escritura. Este sistema agiliza bastante los accesos a disco, no hay más que comprobar la rapidez en la escritura en disquete y permite al sistema seguir trabajando normalmente cuando realiza una operación de ese tipo.

El sistema gestiona las actualizaciones de disco de una forma eficiente y además en cualquier momento la podemos forzar con lorden sync.

Ver la página de manual para más detalles.

mount

La orden mount permite incorporar un sistema de ficheros existente en una partición al árbol de directorios Unix.

En general el uso de la orden mount tiene la siguiente forma:

mount -t tiposistemaficheros /dev/dispositivo /punto montaje

donde

tiposistemaficheros

puede ser ext2, vfat, msdos, ntfs, iso9660 o cualquier otro sistema de ficheros reconocido por el núcleo Linux.

/dev/dispositivo

indica el dispositivo que contiene el sistema de ficheros. Puede ser un disquete, partición de disco duro o cdrom.

/puntomontaje

será el directorio donde queremos que aparezcan los ficheros conenidos en el dispositivo montado.



El tipo de sistema de ficheros también puede ser smb o nfs, pero en este caso tendremos que sustituir el dispositivo por los datos de red necesarios para realizar el montaje. Ambos tipos de sistemas de ficheros son en red, almacenados físicamente en una máquina remota con conexión por red.

umount

La orden umount desmonta un sistema de ficheros del árbol de directorios principal. Ninguno de los ficheros o directorios de su sistema de ficheros puede estar en uso para poderlo desmontar. Además esta orden fuerza el volcado de los buffer de disco y la actualización del superbloque del sistema de ficheros.

Si por alguna circuntancia, pérdida de alimentación eléctrica por ejemplo, la partición deja de usarse sin desmontar, la próxima vez que se monte el sistema lo detecta y le solicitará que la verifique con fsck.

El fichero /etc/fstab

Anteriormente hemos hablado de las particiones que el sistema monta automáicamente cuando arranca; este montaje automático de las particiones lo podemos encontrar en el fichero /etc/fstab. Pero en este fichero no sólo podemos indicar qué particiones se montan automáticamente en el proceso de arranque, sino que además podemos proporcionar configuraciones adicionales sobre el sistema de ficheros; por ejemplo se pueden habilitar las cuotas de usuario, se pueden establecer cómo sólo lectura y otas muchas más características.

Empezaremos viendo un ejemplo de fichero y más adelate describiremos los detalles principales.

Este sería el contenido de un fichero /etc/fstab

/dev/hda2 / ext2 defaults 1 1 none

/proc proc defaults 0 0

/dev/sda4 /mnt ext2 defaults,noauto 0 0

/dev/hda3 none swap defaults 0 0

Como podemos observar, el fichero consta de varios campos.

dispositivo:

Es el dispositivo que contiene el sistema de fichros. En caso del directorio virtual /proc no existe dispositivo.

punto

de montaje: Es el directorio donde aparecerán los ficheros y directorio existente en el dispositivo montado.

sistema

de ficheros: Es el tipo de sistema de ficheros que el sistema espera encontrar en el correspondiene dispositivo. Sistemas de ficheros válidos son ext2, iso9660 y vfat. También puede ser swap para una partición de intercambio. En general podremos poner cualquier sistema de ficheros admitido por el núcleo.

opciones

de montaje: En general indicamos como queremos que actúe ese sistama de ficheros. Podemos poner en este campo una lista de opciones separadas por comas. Opciones posibles son:





En el ejemplo podemos ver como la partición /dev/sda4 tiene la opción noauto. Este dispositivo se corresponde a una unidad Zip y podemos montarlo poniendo simplmente mount /mnt o mount /dev/sda4.


El fichero /etc/mtab

En este fichero el sistema anota cada uno de los sistemas de fichros montados y su punto de montaje. Una forma de leer este fichero es usar la orden mount sin argumentos y obtendremos la lista de sistemas de ficheros montados.