En esta guía, aprenderemos qué es fstab en Linux, y cuál es el uso de fstab
archivo, la estructura de /etc/fstab
archivo y finalmente cómo depurar problemas de fstab. Al final, también discutiremos una breve introducción a mtab archivo, su uso y en qué se diferencia mtab de fstab.
¿Qué es fstab?
Como administrador del servidor o usuario de escritorio de Linux o cualquiera que sea nuevo en Linux, comprenda acerca de /etc/fstab
file en Linux y cómo depurar problemas de fstab son muy importantes.
Fstab es una f ile s pestaña del sistema archivo utilizado por el núcleo durante el tiempo de arranque para montar el sistema de archivos. En pocas palabras, creará una o más particiones en su disco duro y creará una entrada para cada partición en fstab que el kernel leerá durante el arranque y el sistema de archivos se montará automáticamente.
De manera predeterminada, cualquier partición que cree durante la instalación del sistema operativo se agregará automáticamente al archivo fstab. Profundicemos y veamos cómo está estructurado fstab y cómo usar fstab.
Estructura del archivo /etc/fstab
Fstab se encuentra en /etc/
directorio y propiedad del usuario raíz. Entonces deberías editar el archivo usando sudo
privilegio o como root
usuario.
Muestre el archivo fstab ejecutando el siguiente comando para comprender su estructura.
$ cat /etc/fstab
$ cat /etc/fstab | grep -i -v "^#" | column -t # Skip comments and format
El archivo Fstab consta de seis columnas (secciones).
- Sistema de archivos - Bloquee el dispositivo que está particionado y cree un sistema de archivos en él.
- Punto de montaje - Dónde está montado el sistema de archivos en su sistema.
- Tipo - Tipo de sistema de archivos (Ext4, Ext3, swap, Xfs, etc.)
- Opciones - Esto decide qué parámetros de montaje se deben considerar al montar el sistema de archivos
- Volcado - Esto es para fines de copia de seguridad utilizados por
dump
utilidad. Establecerlo en cero significa deshabilitar la copia de seguridad y uno significa habilitar la copia de seguridad en un dispositivo/medio determinado. - Pase - Comprobación del sistema de archivos en el momento del arranque por
fsck
utilidad. Cero deshabilitará la verificación del sistema de archivos y para el sistema de archivos raíz debe establecerse en 1 y para otras particiones, debe establecerse en 2.
Cada sistema de archivos se describe en una línea separada. Los campos de cada línea están separados por tabuladores o espacios.
Veamos estos seis parámetros en detalle.
1. Sistema de archivos
En la primera columna de fstab, debe señalar qué partición va a montar. O puede usar un nombre de dispositivo de bloque como /dev/sda*
o usar el UUID.
Cuando crea un sistema de archivos encima de cualquier disco particionado usando mkfs
comando, se creará un UUID para esa partición en particular.
Digamos que creó una nueva partición y es sdb1
. En este caso, su fstab será el siguiente.
/dev/sdb1 /home ext4 defaults 0 0
Para obtener la identificación del bloque para cualquier sistema de archivos, ejecute el siguiente comando.
$ blkid # Print info about all fs. $ blkid /dev/sdb1 # Print info about given fs alone.
Ahora, usando esta identificación de bloque, puede montar el sistema de archivos como se muestra en la imagen a continuación.
2. Punto de montaje
En la segunda columna, debe especificar el directorio del punto de montaje. El punto de montaje se refiere al directorio en el sistema de archivos donde se montará su unidad particionada.
Como puede ver en la imagen de abajo, cada partición está montada en un directorio diferente. Por ejemplo, la partición /dev/sdb1
está dedicado al directorio de inicio y se monta en /home
.
Digamos que creó una nueva partición con un tamaño de 100 GB y con EXT4 como tipo de partición. La entrada fstab será la siguiente. Aquí /mnt/data1
es el punto de montaje.
UUID=xxxx-xxx-xxx /mnt/data1/ ext4 defaults 0 0
O
/dev/sdb2 /mnt/data1/ ext4 defaults 0 0
3. Tipo de sistema de archivos
Aquí mencionará el tipo de sistema de archivos (EXT2, EXT3, EXT4, XFS, VFAT, SWAP, etc.). Si desea conocer el tipo de sistema de archivos para un dispositivo de bloque, use blkid
o lsblk
comando.
$ lsblk -f /dev/sdb1 NAME FSTYPE LABEL UUID MOUNTPOINT sdb1 ext4 365c64d7-4d65-4cdf-8ce1-0def8bb41997 /home
$ blkid /dev/sdb1 /dev/sdb1: UUID="365c64d7-4d65-4cdf-8ce1-0def8bb41997" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="8f174339-01"
4. Opciones de montaje
Esta es una columna importante donde pasará las opciones de montaje para el sistema de archivos. Hay muchas opciones de montaje que se pueden usar. Para un uso normal, usar la opción predeterminada es suficiente. La opción por defecto apunta a la combinación de siete (rw
, suid
, dev
, exec
, auto
, nouser
y async
) opciones.
Veamos qué hace la opción predeterminada.
rw
- Esto le indica al sistema de archivos que se monte en modo de lectura y escritura. Cuando ocurre un error, puede hacer que el sistema de archivos se monte en modo de solo lectura usando la opciónerrors=remount-ro
.suid
- Cualquier operación relacionada consuid
ysgid
se permitirá a través de esta opción.dev
- Interpretará caracteres y bloqueará dispositivos en el sistema de archivos. Si no desea interpretar caracteres y bloquear dispositivos, puede usar la opción nodev explícitamente.exec
- Desde el sistema de archivos puede ejecutar los binarios configurando la opción exec. Opuesto a esto, puede usar elnoexec
opción para no ejecutar binarios desde el sistema de archivos.auto
- Esta opción es responsable del montaje automático del sistema de archivos durante el tiempo de arranque o siempre que ejecute el comando mount -a desde la terminal. Frente a esto, haynoauto
opción que solo permitirá montar el sistema de archivos individualmente.nouser
- Solo un superusuario puede montar el sistema de archivos. También puede usar las opciones "usuario" y "usuarios" que pueden configurar al usuario normal para montar y desmontar el sistema de archivos.async
- Todas las operaciones de E/S deben realizarse de forma asíncrona. Si utiliza la opción "sincronizar", la operación de E/S se realizará de forma síncrona.
Dependiendo del requisito, es posible que deba utilizar diferentes opciones. Si tiene algún servidor de producción existente en su entorno, le sugiero que eche un vistazo al archivo fstab que le dará una buena idea de cuáles son las opciones de montaje utilizadas.
5. volcado
Esta columna es específica para fines de copia de seguridad. Cuando se establece en 1, la utilidad de volcado realizará copias de seguridad. Esta es una función obsoleta ahora, ya que se diseñó originalmente para realizar copias de seguridad en cintas para sistemas de archivos más antiguos.
Se recomendado ponerlo a cero .
6. Pase
Durante el tiempo de arranque, fsck
La utilidad hará una verificación del sistema de archivos según el valor que proporcionamos en la sexta columna. Si establece el valor en cero o déjalo vacío , la comprobación del sistema de archivos se desactivará.
El sistema de archivos raíz siempre debe especificarse con el valor 1 . Para otros sistemas de archivos, puede establecer el valor en 2 . Como estoy usando VM para la demostración, configuré todos los valores en cero.
Solucionar problemas de arranque relacionados con el archivo Fstab
Si cometió algún error en el archivo fstab y cuando reinicie la máquina entrará en modo de emergencia . En el modo de emergencia, no habrá interfaz de red, por lo que deberá depurar directamente en la consola.
Tienes que escribir el root
contraseña para entrar en el modo de emergencia. Ejecute el siguiente comando y desplácese lentamente para ver los mensajes de error. En mi caso, eliminé intencionalmente el separador (/) en /dev/sdb1
.
En modo de emergencia, si el sistema de archivos está montado en modo de solo lectura, debe montarlo en rw
mode y edite el fstab
archivo para solucionar el problema. Para volver a montar el sistema de archivos en rw
mode ejecuta el siguiente comando.
$ mount -o rw,remount /
Ahora edite fstab para corregir el error y reinicie la máquina. Ahora su máquina debería poder arrancar correctamente.
$ reboot
Para evitar problemas durante el arranque, puede ejecutar mount
comando después de agregar el fstab
entradas.
Mire la imagen de abajo donde he agregado una nueva entrada para /dev/sdb2
. No he especificado el tipo de sistema de archivos, por lo que me arrojará un error cuando ejecute mount
comando.
$ mount -a mount: /mnt: unknown filesystem type 'defaults'.
¿Qué es un archivo Mtab?
Cuando ejecuta el comando de montaje sin pasar ningún argumento, imprime la lista de sistemas de archivos montados.
$ mount
También hay un archivo llamado mtab en el /etc/
directorio. Cuando miras /etc/mtab
, será exactamente igual que la salida del mount
comando.
Veamos qué dice la página del manual sobre el archivo mtab.
El /etc/mtab
el archivo está vinculado a los montajes en el proc
sistema de archivos Si ejecuta el mount
o umount
comando, el resultado se actualizará en los montajes.
$ ls -ln /etc/mtab
lrwxrwxrwx 1 0 0 19 Jan 9 17:45 /etc/mtab -> ../proc/self/mounts
Para resumir la diferencia entre fstab y mtab, fstab se usa para montar el sistema de archivos durante el arranque y mtab se usa para mostrar la lista de sistemas de archivos montados.
Si /etc/mtab
El archivo está dañado o eliminado por accidente, puede regenerarlo usando el siguiente comando.
$ sudo sh -c 'grep -v rootfs /proc/mounts > /etc/mtab'
Conclusión
En este artículo, hemos discutido qué es fstab y mtab y cómo es importante que el sistema almacene y lea la información de la partición durante el tiempo de arranque. También discutimos lo que sucede cuando se comete un error en el archivo fstab.