Montando sistemas de archivos en Linux


62/365 (Stuff Goes Here)

Si buscamos para qué se usan los sistemas de archivos encontraremos en Wikipedia que básicamente “…estructuran la información guardada en una unidad de almacenamiento (normalmente un disco duro) de una computadora, que luego será representada ya sea textual o gráficamente utilizando un gestor de archivos”. Dicho de otro modo, los sistemas de archivos organizan de forma lógica los datos que se almacenan en diferentes sectores o áreas de un dispositivo para que estos sean vistos por el usuario como archivos o carpetas. En general existen muchos sistemas de archivos debido a que algunos , por ejemplo, extienden las características antes mencionadas incorporando funciones de recuperación en caso de fallos, otros están diseñados para medios específicos como un CD-ROM, y otros pueden publicar vía red archivos y carpetas.

Veamos ahora los sistemas de archivos en Linux…

Sistemas de archivos en Linux.

El sistema de archivos por defecto actualmente en Linux es ext3, cuya principal característica respecto a exrt2 es que incluye journaling (registro por diario) lo cual mejora la confiabilidad y elimina la necesidad de hacer chequeos al sistema de archivos después de un apagado forzado (por ejemplo, cuando se corta la energía eléctrica). Esto no quiere decir que ext3 sea el único sistema de archivos en Linux, ya que existen otras implementaciones como xfs, jfs o ReiserFS; cada una con sus propias ventajas y desventajas.

Por otro lado en Linux nos vemos en la necesidad de usar otros sistemas de archivos para poder acceder a dispositivos como cdrom (ISO9660), pendrives (vfat,ext2), particiones de Windows (vfat, ntfs) o unidades de red (nfs, smb, cifs), etc.

Comando mount

El comando mount nos permite “montar” dispositivos o recursos con sus respectivo sistema de archivos en un punto de montaje o carpeta del sistema. La sintaxis básica del comando mount es:

mount -t sistema_de_archivos dispositivo punto_de_montaje

Por ejemplo, si estamos interesados en montar un cdrom en la carpeta /media/cdrom podemos ejecutar mount de la siguiente manera:

mount -t iso9660 /dev/hdd /media/cdrom

Otro ejemplo que no involucra un dispositivo físico conectado a la máquina puede ser el utilizar una cuenta de correos de Gmail como soporte de los datos:

mount -t gmailfs none /mnt/discoGmail/ -o username=pedro.perez, password=lacontraseña, fsname=nOmbReX

Lo anterior es un ejemplo de la versatilidad que se puede obtener con el comando mount, y cabe mencionar que para que funcione hay que tener instalado el sistema de archivos que convierte las operaciones (como copiar, listar, borrar) en acciones o correos de Gmail.

Si estamos interesados en saber los diferentes sistemas de archivos que están montados en el sistema, podemos ejecutar el comando mount sin argumentos como vemos a continuación:

moody:~# mount
/dev/sda2 on / type ext3 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
udev on /dev type tmpfs (rw,mode=0755)
/dev/sda3 on /home type ext3 (rw)

mount, el que todo lo sabe y sino lo inventa

El comando mount al momento de montar un sistema de archivos también puede ejecutarse sin la opción -t, en cuyo caso intentará “adivinar” el sistema de archivos que utiliza el dispositivo o recurso a montar. La forma que tiene Linux de “adivinar” el sistema de archivos es consultando la salida del comando blkid, pero en caso de no encontrar nada familiar consultará el archivo /etc/filesystems, y si este no existe consultará el archivo /proc/filesystems para intentar con aquellos sistemas de archivos que no contengan la palabra ‘nodev’.

Por ejemplo, el comando ‘bklid -L’ devuelve la siguiente información en mi computadora:

device                       fs_type     label        mount point
------------------------------------------------------------------
/dev/sda1                    vfat                     <swap>
/dev/sda2                    ext3                     /
/dev/sda3                    ext3                     /home
/dev/sda5                    ext3                     /data
/dev/hdb                     iso9660     Ubuntu 8.04 i386 /media/cdrom0

Mientras que al ejecutar el comando ‘grep -v nodev /proc/filesystems‘ obtengo la siguiente salida:

    ext3
    vfat
    iso9660
    udf

Esto quiere decir que mi Linux tratará de usar el sistema de archivo detectado en el dispositivo y sino se intentarán con los sistemas de archivos ext3, vfat, iso9660 y udf.

Archivo /etc/fstab

Puede resultar molesto tener que especificar en todo momento el tipo de sistema de archivos a montar, el dispositivo, el punto de montaje, y otras opciones. Para evitar esto podemos utilizar el archivo /etc/fstab para facilitarnos el trabajo. El formato del archvio /ect/fstab es como sigue:

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    defaults        0       0
/dev/sda1       none            swap    sw              0       0
/dev/sda2       /               ext3    defaults,errors=remount-ro 0       1
/dev/sda5       /data           ext3    defaults        0       2
/dev/sda3       /home           ext3    defaults        0       2
/dev/hdb        /media/cdrom0   udf,iso9660 user,noauto     0       0

El primer campo corresponde al dispositivo a montar, el segundo es el punto de montaje, el tercero es el tipo de sistema de archivos a usar, en el cuarto campo encontramos opciones a utilizar al momento de montar el dispositivo (por ejemplo, con la opción users indicamos que el dispositivo puede ser montado por cualquier usuario del sistema), el quinto campo se usa para indicarle al comando dump que realice o no respaldos del punto de montaje, y el sexto y último campo le indica el orden al comando fschk de los dispositivos a ser comprobados al momento de reinicio de la máquina (el valor cero indica no realizar comprobación).

Con la definición que vemos arriba del archivo /etc/fstab, podemos montar la unidad de cdrom de la siguiente manera:

mount /media/cdrom0

Como se creó una entrada que asocia dispositivo /dev/hdd con el punto de montaje /medica/cdrom0, al ejecutar mount se buscará esta línea y montará el dispositivo /dev/hdd en el punto de montaje /media/cdrom0. Por otro lado, también es válido especificar la ruta del dispositivo en vez del punto de montaje:

mount /dev/hdd

Desmontado sistemas de archivos

El comando para desmontar un dispositivo dado es umount. Por ejemplo, para desmontar la unidad de cdrom que vimos anteriormente podemos ejecutar:

umount /media/cdrom0

Nuevamente, también funciona especificar la ruta del dispositivo directamente:

umount /dev/hdd

Referencias

Compártelo:
  • Twitter
  • Facebook
  • Identi.ca
  • del.icio.us

Artículos relacionados:

  1. Cómo picar archivos grandes en Linux
  2. Activando la Swap en el PS3
  3. Convertir particiones ext3 a ext4
  4. Escáner multifuncional Epson Stylus CX5600 en Linux
  5. Escáner multifuncional Epson Stylus TX110 en Linux

,

  1. No hay Comentarios
(No será publicado)

Switch to our mobile site