Este artículo se puede leer en aproximadamente 527 segundos
A los que escuchan nombrar fstab por primera vez, les cuento que es un archivo de configuración que contiene información de todas las particiones y dispositivos de almacenamiento que se encuentran en la computadora en cuestión. Más precisamente el archivo file system table, /etc/fstab, contiene la información de dónde y cómo serán montados sus dispositivos de almacenamiento. Se encuentra localizado en el directorio /etc, siendo así /etc/fstab la ruta completa.
Como imaginarán entonces, todos los problemas que puedan estar relacionados con el acceso a dispositivos de almacenamiento pueden arreglarse configurando apropiadamente este archivo.
/etc/fstab es un archivo de texto plano, por lo que podrán abrirlo y editarlo con el editor de texto que les quede más cómodo. Algunas sugerencias: gedit, kate, nano o vi. La única consideración que deberán tener es abrir este archivo con permisos de administrador. Algunos ejemplos de como hacer esto,
sudo nano /etc/fstab
sudo gedit /etc/fstab
O identificarse primero haciendo uso del comando su, y luego ejecutando el editor de texto normalmente.
¿Cómo se ve un archivo fstab?
Obviamente este archivo es diferente en cada computadora ya que no todos tenemos las particiones organizadas de la misma forma, o los mismos dispositivos de almacenamiento, pero más o menos al abrir su archivo fstab encontrarán algo como esto:
Muy probablemente su fstab tenga información de una menor cantidad de particiones y que estas usen sistemas de archivos estándares (en su partición de GNU/Linux probablemente tengan alguna versión de ext, en Windows NTFS, en algún pendrive FAT32).
Como podrán ver, cada línea contiene información de un dispositivo o partición. La primera columna contiene el nombre del dispositivo, la segunda su punto de montaje, la tercera el tipo de sistema de archivo que utiliza, la cuarta las opciones de montaje, la quinta (un número) las opciones de dump, y la sexta (otro número) el control del sistema de archivos. Analizemos cada una.
Dispositivo y punto de montaje (columnas 1 y 2)
La funcionalidad de las columnas 1 y 2 es fácil de comprender, ya que simplemente sirven para identificar a un dispositivo y en qué lugar del sistema de archivos se encontrará montado. El punto de montaje aquí especificado será el punto de montaje por defecto para el dispositivo: es decir, a menos de que especifiquen un punto de montaje diferente, el dispositivo en cuestión de montará en la ubicación que esté en el fstab.
La mayoría de las distribuciones de GNU/Linux crean directorios especiales para los puntos de montaje. Usualmente este directorio es /mnt, pero algunos otros (como SuSE) usan /media. Si no modifican el fstab, al ejecutar el comando mount -por ejemplo mount /dev/sda1- se usarán estos directorios especiales para montar los dispositivo -en el ejemplo, /mnt/Windows, o /media/Windows, si es que tienen un doble boot y particion de Windows está en /dev/sda1-.
Pueden cambiar los puntos de montaje por defecto listados en /etc/fstab por lo que gusten, pero tengan cuidado: asegúrense de que el punto de montaje es un directorio que ya existe en el sistema y de no dejar ningún dispositivo sin punto de montaje -puede que no pase nada, pero de no existir un punto de montaje el comando mount se encontrará con una situación atípica-. Si el directorio no existe, simplemente creenlo.
Tipo de sistema de archivos (columna 3)
La tercera columna en /etc/fstab especifica el tipo de sistema de archivos que utiliza el dispositivo o partición. Muchos sistemas de archivos diferentes son soportados, entre ellos podemos mencionar todos los que son usados comúnmente en sistemas GNU/Linux (ext2, ext3, ext4, ReiserFS, swap y más) y también los que se usan frecuentemente en Windows (fat, fat32, ntfs) y en dispositivos extraíbles.
Si ven que en la tercer columna aparece la opción auto -no, no es un sistema de archivos
- significa que el sistema de archivos es detectado automáticamente. Esto es utilizado para dispositivos en los cuales el sistema de archivos puede variar, como puede ser un pendrive o un cd.
Opciones de montaje (columna 4)
La cuarta columna en fstab lista todas las opciones de montaje para un dispositivo o partición. Usualmente esta es la columna más confusa de este archivo, pero también la más interesante. Hay muchísimas opciones, para todos los gustos, así que simplemente les voy a explicar las más utilizadas. Para un listado completo de estas opciones pueden recurrir a la página en man del comando mount.
- auto y noauto – Con la opción auto el dispositivo será montado automáticamente al inicio del sistema. Esta suele ser la opción por defecto. Si prefieren que un dispositivo sea montado solo cuando ustedes así lo indican, simplemente deberán indicar noauto.
- user y nouser – La opción user permite que usuarios normales (sin privilegios) puedan montar dispositivos, mientras que la opción nouser solo permitirá a root realizar esta acción. nouser es la opción por defecto, razón de muchos dolores de cabeza para usuarios novatos de GNU/Linux. Si se encuentran con que no pueden montar un dispositivo o partición en particular, controlen que esté la opción user establecida.
- exec y noexec – exec permite que cualquier usuario tenga permisos de ejecución de cualquier binario, mientras que noexec solo habilita este permito para root. noexec es muy útil para aquellas particiones que contengan binarios que no sean requeridos o, una razón más justificada, que no deban ser ejecutadas en el sistema. Este podría ser el caso de una partición de Windows. exec es la opción por defecto -menos mal, ¿se imaginan que pasaría si accidentalmente configuran la partición / con esta opción?-.
- ro – Monta el sistema de archivos en modo solo lectura.
- rw – Monta el sistema de archivos en modo lectura-escritura. No haber establecido esta opción puede ser la razón por la cual no puedan escribir en un dispositivo extraíble o en una partición determinada.
- sync y async – Estas opciones establecen cómo deben hacerse la entrada y salida al sistema de archivos. sync significa que se hará de forma sincrónica, es decir, los datos son leidos/escritos al mismo tiempo en el que se invoca el comando. Si usan async la entrada/salida se hará asincrónicamente, o sea, los cambios no se efectúan en el mismo momento en que se ejecuta la instrucción, sino que se organiza de forma tal que se optimice el uso del procesador. Esto suele ser mejor, pero puede causar ciertos accidentes: si están copiando archivos a un pendrive, que generalmente tiene la opción async, y lo retiran sin desmontarlo previamente, al conectarlo nuevamente se encontrarán con inútiles directorios vacíos. async es la opción por defecto.
- defaults – Usa las opciones por defecto: rw, suid, dev, exec, auto, nouser y async.
Dump y fsck (columnas 5 y 6)
Dump y… ¿qué? Bueno, sin entrar en detalles, dump es una utilidad de backup y fsck es una utilidad de control de sistemas de archivos. Ambas nociones requieren de un análisis más detallado -posiblemente algún post futuro-, pero se las menciono porque forman parte de fstab.
La opción dump, el número de la quinta columna, determina si debe realizarse una copia de seguridad del sistema de archivos o no. Si es 0, dump ignorará ese sistema de archivos. En la mayoría de los casos verán que este valor es 0 y muy raramente le pondrán otro valor. Esta opción es utilizada para aplicaciones más específicas.
La opción fsck, el número de la sexta columna, especifica en qué orden los sistemas de archivos serán controlados. Si este valor es 0, fsck no controlará ese sistema de archivos.
Un ejemplo real
La captura que les adjunto es de mi propio fstab. Como verán la teoría es mucho más atractiva, en la práctica -dependiendo de la distribución- verán que el sistema operativo usa etiquetas para los distintos dispositivos y se torna un poco más difícil de leer. Pero por lo menos se mantiene el esquema que les acabo de detallar.
Presten atención a estas lineas
/dev/sda5 / ext4 rw,relatime,data=ordered 0 1
/dev/sda5 /home ext4 rw,relatime,data=ordered 0 2
/dev/sda6 none swap defaults 0 0
Como verán, no tengo una partición diferente para /home, todo está en /dev/sda5. Esta partición tiene dos puntos de montaje diferentes y fsck primero controlará la locación de / (1) y luego /home (2), pero las opciones de montaje son las mismas y en ninguna se realiza una copia de seguridad (dump es 0).
Por otro lado, también esta la partición de swap que usa los valores por defecto de montaje. Como es memoria virtual, tampoco se realiza una copia de seguridad y no se hace un fsck.
Si alguno se pregunta… ¿dónde están sda1, sda2, sda3 y sda4? Son muchas particiones que no aparecen en mi fstab, ¿no? Como son particiones que suelo montar a mano, no tan necesario tener estas entradas en fstab. De querer montar alguna de ellas con el comando mount, deberé considerar especificar un punto de montaje adecuado y de hacerlo cada vez que inice una nueva sesión.
Si alguno tiene una duda sobre esto último, alguna opción o comando en particular, no dude en consultar. ¡Espero que les sirva!
¡Saludos!







