fstab (Español)

From ArchWiki

Esta traducción de fstab fue revisada el 2022-10-21. Si existen cambios puede actualizarla o avisar al equipo de traducción.

El archivo fstab(5) puede utilizarse para definir cómo deben montarse las particiones de disco, otros dispositivos de bloque o sistemas de archivos remotos en el sistema de archivos.

Cada sistema de archivos se describe en una línea separada. Estas definiciones se convertirán en unidades de montaje systemd dinámicamente en el arranque, y cuando se recargue la configuración del gestor del sistema. La configuración por defecto ejecutará automáticamente fsck y montará los sistemas de archivos antes de iniciar los servicios que necesitan que sean montados. Por ejemplo, systemd se asegura automáticamente de que los montajes de sistemas de archivos remotos como NFS o Samba se inicien solo después de que se haya configurado la red. Por lo tanto, los montajes de sistemas de archivos locales y remotos especificados en /etc/fstab deberían funcionar de forma inmediata. Véase systemd.mount(5) para más detalles.

La orden mount utilizará fstab, solo si se da una de las opciones de directorio o dispositivo, para rellenar el valor del otro parámetro. Al hacerlo, también se utilizarán las opciones de montaje que aparecen en fstab.

Utilización

Un simple /etc/fstab, usando UUIDs del sistema de archivos, muestra la siguiente salida:

/etc/fstab
# <dispositivo>                           <dir> <tipo> <opciones> <dump> <fsck>
UUID=0a3407de-014b-458b-b5c1-848e92a327a3 /     ext4   defaults   0      1
UUID=f9fe0b69-a280-415d-a03a-a32752370dee none  swap   defaults   0      0
UUID=b411dc99-f0a0-4c87-9e05-184977be8539 /home ext4   defaults   0      2
Sugerencia:
  • Los del tipo auto permiten que la orden mount adivine qué tipo de sistema de archivos se utiliza. Esto es útil para medios ópticos (CD/DVD/Blu-ray).
  • Si el sistema de archivos raíz es btrfs o XFS, el orden de fsck debe establecerse en 0 en lugar de 1. Véase fsck.btrfs(8) y fsck.xfs(8).

Todos los dispositivos especificados dentro de /etc/fstab se montarán automáticamente al iniciar y cuando se utilice la opción -a con mount(8) a menos que se especifique la opción noauto. Los dispositivos listados y no presentes darán lugar a un error salvo que se utilice la opción nofail.

Véase fstab(5) § DESCRIPTION para más detalles.

Identificación de sistemas de archivos

Hay diferentes maneras de identificar los sistemas de archivos que se montarán en /etc/fstab: por el descriptor de nombre del kernel, la etiqueta y UUID del sistema de archivos, y la etiqueta y UUID de la partición GPT para los discos GPT. El UUID o el PARTUUID deben ser favorecidos sobre los descriptores de nombre del kernel y las etiquetas. Véase Nombres de dispositivos de bloques persistentes para más detalles. Se recomienda leer ese artículo primero antes de proceder.

En esta sección, se describe cómo montar sistemas de archivos utilizando todos los métodos de montaje disponibles mediante ejemplos. La salida de las órdenes lsblk -f y blkid utilizados en los siguientes ejemplos están disponibles en el artículo Nombres de dispositivos de bloques persistentes.

Para utilizar los descriptores de nombres del kernel, utilice /dev/sdxy en la primera columna.

Descriptores del nombre del kernel

Ejecute lsblk -f para listar las particiones y anteponer los valores de la columna NAME con /dev/.

/etc/fstab
# <dispositivo>   <dir>        <tipo>        <opciones>       <dump> <fsck>
/dev/sda1         /boot        vfat          defaults         0      2
/dev/sda2         /            ext4          defaults         0      1
/dev/sda3         /home        ext4          defaults         0      2
/dev/sda4         none         swap          defaults         0      0
Advertencia: Los descriptores de nombres del kernel no son persistentes y pueden cambiar en cada arranque, por lo que no deberían utilizarse en los archivos de configuración.

Etiquetas del sistema de archivos

Ejecute lsblk -f para listar las particiones y anteponer los valores de la columna LABEL con LABEL= o, alternativamente, ejecute blkid y utilice los valores de LABEL sin las comillas:

/etc/fstab
# <dispositivo>   <dir>        <tipo>        <opciones>       <dump> <fsck>
LABEL=ESP         /boot        vfat          defaults         0      2
LABEL=Sistema     /            ext4          defaults         0      1
LABEL=Datos       /home        ext4          defaults         0      2
LABEL=Swap        none         swap          defaults         0      0
Nota: Si alguno de sus campos contiene espacios, véase #Espacios en la ruta de acceso.

UUIDs del sistema de archivos

Ejecute lsblk -f para listar las particiones y anteponer los valores de la columna UUID con UUID= o, alternativamente, ejecute blkid y utilice los valores UUID sin las comillas:

/etc/fstab
# <dispositivo>                           <dir> <tipo> <opciones> <dump> <fsck>
UUID=CBB6-24F2                            /boot vfat   defaults   0      2
UUID=0a3407de-014b-458b-b5c1-848e92a327a3 /     ext4   defaults   0      1
UUID=b411dc99-f0a0-4c87-9e05-184977be8539 /home ext4   defaults   0      2
UUID=f9fe0b69-a280-415d-a03a-a32752370dee none  swap   defaults   0      0

Etiquetas de las particiones GPT

Ejecute blkid para listar las particiones, y utilice los valores de PARTLABEL sin las comillas:

/etc/fstab
# <dispositivo>                      <dir> <tipo> <opciones> <dump> <fsck>
PARTLABEL=EFI\040system\040partition /boot vfat   defaults   0      2
PARTLABEL=GNU/Linux                  /     ext4   defaults   0      1
PARTLABEL=Home                       /home ext4   defaults   0      2
PARTLABEL=Swap                       none  swap   defaults   0      0
Nota: Si alguno de sus campos contiene espacios, consulte #Espacios en la ruta de acceso.

UUIDs de las particiones GPT

Ejecute blkid para listar las particiones, y utilice los valores de PARTUUID sin las comillas:

/etc/fstab
# <dispositivo>                               <dir> <tipo> <opciones> <dump> <fsck>
PARTUUID=d0d0d110-0a71-4ed6-936a-304969ea36af /boot vfat   defaults   0      2
PARTUUID=98a81274-10f7-40db-872a-03df048df366 /     ext4   defaults   0      1
PARTUUID=7280201c-fc5d-40f2-a9b2-466611d3d49e /home ext4   defaults   0      2
PARTUUID=039b6c1c-7553-4455-9537-1befbc9fbc5b none  swap   defaults   0      0

Consejos y trucos

Montaje automático con systemd

Véase systemd.mount(5) para todas las opciones de montaje de systemd.

Partición local

En el caso de una partición grande, puede ser más eficiente permitir que los servicios que no dependen de ella se inicien mientras es comprobada por fsck. Esto se puede conseguir añadiendo las siguientes opciones a la entrada /etc/fstab de la partición:

noauto,x-systemd.automount

Esto hará fsck y montará la partición sólo cuando se acceda a ella por primera vez, y el kernel cargará todo el acceso a los archivos hasta que esté listo. Este método puede ser relevante si uno tiene, por ejemplo, una partición /home significativamente grande.

Nota: Esto hará que el sistema de archivos sea del tipo autofs, el cual es ignorado por mlocate por defecto.

Sistema de archivos remoto

Lo mismo se aplica a los montajes de sistemas de archivos remotos. Si se desea que se monten sólo al acceder a ellos, se tendrán que usar los parámetros noauto,x-systemd.automount. Además, puede utilizar la opción x-systemd.mount-timeout= para especificar el tiempo que systemd debe esperar a que termine la orden de montaje. Además, la opción _netdev asegura que systemd entienda que el montaje depende de la red y lo ordene después de que la red esté en línea.

noauto,x-systemd.automount,x-systemd.mount-timeout=30,_netdev

Sistema de archivos encriptado

Si tiene sistemas de archivos encriptados con ficheros de claves, también puede añadir el parámetro noauto a las entradas correspondientes en /etc/crypttab. Entonces systemd no abrirá el dispositivo encriptado en el arranque, sino que esperará hasta que se acceda a él y lo abrirá automáticamente con el archivo de claves especificado antes de montarlo. Esto puede ahorrar algunos segundos en el arranque si está usando un dispositivo RAID encriptado, por ejemplo, porque systemd no tiene que esperar a que el dispositivo esté disponible. Por ejemplo:

/etc/crypttab
data /dev/md0 /root/key noauto

Desmontaje automático

También puede especificar un tiempo de espera para un montaje con la opción x-systemd.idle-timeout. Por ejemplo

noauto,x-systemd.automount,x-systemd.idle-timeout=1min

Esto hará que systemd lo desmonte después de que haya estado inactivo durante 1 minuto.

Dispositivos externos

Los dispositivos externos que deben ser montados cuando están presentes pero ignorados si están ausentes pueden requerir la opción nofail. Esto evita que se reporten errores en el arranque. Por ejemplo:

/etc/fstab
/dev/sdg1        /media/backup    jfs    nofail,x-systemd.device-timeout=1ms    0  2

La opción nofail combina mejor con la opción x-systemd.device-timeout. Esto se debe a que el tiempo de espera del dispositivo por defecto es de 90 segundos, por lo que un dispositivo externo desconectado con sólo nofail hará que su arranque tarde 90 segundos más, a menos que reconfigure el tiempo de espera como se muestra. Asegúrese de no establecer el tiempo de espera en 0, ya que esto se traduce en un tiempo de espera infinito.

Espacios en la ruta de acceso

Dado que los espacios se utilizan en fstab para delimitar los campos, si algún campo (PARTLABEL, LABEL o el punto de montaje) contiene espacios, éstos deben ser sustituidos por caracteres de escape \ seguidos del código octal de 3 dígitos 040:

/etc/fstab
UUID=47FA-4071     /home/username/Camera\040Pictures   vfat  defaults      0  0
/dev/sda7          /media/100\040GB\040(Storage)       ext4  defaults,user 0  2

Opciones de atime

Las siguientes opciones de atime pueden afectar al rendimiento de la unidad.

  • La opción strictatime actualiza el tiempo de acceso de los archivos cada vez que se accede a ellos. Esto es más útil cuando Linux se utiliza para servidores, pues no tiene mucho sentido para uso de escritorio. El inconveniente de la opción strictatime es que incluso la lectura de un archivo desde la caché de páginas (lectura desde la memoria en lugar de la unidad de disco) seguirá dando lugar a una escritura.
  • La opción noatime desactiva por completo la escritura de los tiempos de acceso a los archivos en la unidad cada vez que se lee un archivo. Esto funciona bien para casi todas las aplicaciones, excepto para aquellas que necesitan saber si un archivo ha sido leído desde la última vez que fue modificado. La información del tiempo de escritura a un archivo continuará actualizándose cada vez que se escriba en el archivo con esta opción activada.
  • La opción nodiratime desactiva la escritura de los tiempos de acceso a los archivos sólo para los directorios, mientras que otros archivos siguen recibiendo los tiempos de acceso.
    Nota: noatime implica nodiratime. No es necesario especificar ambos.
  • relatime actualiza el tiempo de acceso, pero solamente si el tiempo de acceso anterior fue inferior al tiempo de modificación o cambio actual. Además, desde Linux 2.6.30, la hora de acceso siempre se actualiza si la hora de acceso anterior era superior a las 24 horas. Esta opción se utiliza cuando se especifica la opción defaults, la opción atime (que significa utilizar el valor por defecto del kernel, que es relatime; véase mount(8) y wikipedia:Stat (system call)#Criticism of atime) o ninguna opción.

Cuando se utiliza Mutt u otras aplicaciones que necesitan saber si un archivo ha sido leído desde la última vez que fue modificado, la opción noatime no debe ser utilizada. El uso de la opción relatime es aceptable y sigue proporcionando una mejora de rendimiento.

Desde el kernel 4.0 existe otra opción relacionada:

  • lazytime reduce las escrituras en disco manteniendo los cambios en las marcas de tiempo del inodo (tiempos de acceso, modificación y creación) sólo en memoria. Las marcas de tiempo en el disco se actualizan sólo cuando (1) el nodo del archivo necesita ser actualizado por algún cambio no relacionado con las marcas de tiempo del archivo, (2) se produce una sincronización con el disco, (3) un nodo no eliminado es desalojado de la memoria o (4) si han pasado más de 24 horas desde la última vez que la copia en memoria fue escrita en el disco.
Advertencia: En caso de que se produzca una caida del sistema, los tiempos de acceso y modificación en disco podrían estar desfasados hasta 24 horas.

Tenga en cuenta que la opción lazytime funciona en combinación con las opciones *atime anteriormente mencionadas , no como alternativa. Por defecto es relatime , pero puede ser incluso strictatime con el mismo o menor coste de escrituras en disco que la simmple opción relatime.

Volver a montar la partición raíz

Si por alguna razón la partición raíz ha sido montada incorrectamente como de sólo lectura, vuelva a montar la partición raíz con acceso de lectura-escritura con la siguiente orden:

# mount -o remount,rw /

Montaje automático de particiones GPT

Cuando se utiliza UEFI/GPT, es posible omitir ciertas particiones de /etc/fstab según la Especificación de particiones detectables y tener a systemd-gpt-auto-generator(8) montando las particiones. Véase Systemd (Español)#Montaje automático de particiones GPT.

Fijar montaje

Puede vincular directorios con la opción bind:

/etc/fstab
# <dispositivo>                     <dir>                         <tipo> <opciones>    <dump> <fsck>
UUID=94649E22649E06E0                /media/user/OS/              ntfs   defaults,rw,errors=remount-ro  0  0
/media/user/OS/Users/user/Music/     /home/user/Music/            none   defaults,bind 0   0
/media/user/OS/Users/user/Pictures/  /home/user/Pictures/         none   defaults,bind 0   0
/media/user/OS/Users/user/Videos/    /home/user/Videos/           none   defaults,bind 0   0
/media/user/OS/Users/user/Downloads/ /home/user/Downloads/        none   defaults,bind 0   0
/media/user/OS/Users/user/Documents/ /home/user/Documents/        none   defaults,bind 0   0
/media/user/OS/Users/user/projects/  /home/user/projects/windows/ none   defaults,bind 0   0

Véase mount(8) § Operación de enlace de montaje para obtener más información.

Véase también