fstab (Español)
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
<device>
describe el dispositivo especial de bloques o el sistema de archivos remoto que se va a montar; véase #Identificación de sistemas de archivos.<dir>
describe el directorio mount.<tipo>
el tipo de sistema de archivos.<options>
las opciones de montaje asociadas; véase mount(8) § FILESYSTEM-INDEPENDENT_MOUNT_OPTIONS y ext4(5) § MOUNT_OPTIONS.<dump>
es comprobado por la utilidad dump(8). Este campo suele estar configurado como0
, lo que desactiva la comprobación.<fsck>
establece el orden de las comprobaciones del sistema de archivos en el momento del arranque; véase fsck(8). Para el dispositivo raíz debe ser1
. Para otras particiones debe ser2
, o0
para desactivar la comprobación.
- 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 de1
. 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
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
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
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.
autofs
, el cual es ignorado por locate 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ónstrictatime
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.
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óndefaults
, la opciónatime
(que significa utilizar el valor por defecto del kernel, que esrelatime
; 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.