¿Cómo se valida fstab sin reiniciar?

104

He modificado /etc/fstab.

Verifiqué los nuevos dispositivos y puedo montarlos con el mountcomando.

¿Cómo puedo validar las modificaciones realizadas /etc/fstab?

Luc M
fuente

Respuestas:

126

Puedes simplemente ejecutar: mount -a

-a Montar todos los sistemas de archivos (de los tipos dados) mencionados en fstab.

Este comando montará todos los sistemas de archivos (aún no montados) mencionados en fstab y se usa en el inicio del script del sistema durante el arranque.

Premio
fuente
3
... y compárelo con / etc / mtab una vez que haya hecho un "sudo mount -a", solo para asegurarse de que se hayan cumplido todas sus opciones.
adebaumann
1
mount -avolviendo a leer /etc/fstabtambién se volvería a cargar, /etc/mtabpor lo que debería estar bien solo con eso.
Premio
2
¿No es ese el punto que Adebaumann está tratando de plantear aquí? mount -a puede devolver el éxito, pero no necesariamente significa que se hayan cumplido todas las opciones de montaje específicas. como esto también volverá a cargar / etc / mtab, ¿debe verificar si todas las opciones funcionan?
RapidWebs
57

El comando mount toma un --fakeo -fpara abreviar. El siguiente comando debe hacer lo que necesita:

mount -fav

Lo siguiente está en la documentación para la -fopción:

Causes everything to be done except for the actual system call; if it's not obvious, this ``fakes'' mounting the filesystem. This option is useful in conjunction with the -v flag to determine what the mount command is trying to do.

(Tenga en cuenta que esto es Linux - verifique antes de usar en otro lugar: FreeBSD usa -fpara 'forzar' - exactamente el significado opuesto).

tronda
fuente
55
mount -fav no comprueba que el dispositivo con UUID especificado esté realmente en el sistema. También a uno le gustaría combinar -f con -n para no contaminar / etc / mtab
Alexandr Priymak
Me gusta mount --fake -apero parece que exit code($?)=0siempre vuelve . Umm ..
kujiy
Además, la opción falsa no verifica si el directorio existe. Dice successfully mountedincluso cuando el punto de montaje no existe
DollarAkshay
Esto parece ser un buen primer intento, pero también debe hacer un "montaje -a" después para verificar. En mi caso, configuré las opciones como "predeterminadas" en lugar de "predeterminadas" (lo que impedía que mi Pi se iniciara), pero las mount -favvalidé como correctas. Tan pronto como lo hice mount -a, encontró un error.
Adam Plocher
6

sudo findmnt --verify --verbose es la mejor manera que he encontrado

rockwotj
fuente
3

Encontré esto / problema / pero la solución no cumplió con mis requisitos.

Al reiniciar con cualquier entrada no válida en / etc / fstab, como sistemas de archivos faltantes que fsck no puede verificar; el sistema no podrá arrancar. Eso puede ser mucho más difícil de manejar si tienes una caja sin cabeza.

Esta es mi solución para verificar / etc / fstab para evitar este problema de arranque:

    # cat /usr/local/bin/check-fstab-uuid-entries.sh
    #!/usr/bin/env bash

    for x in $(grep ^UUID /etc/fstab|cut -d \  -f 1|cut -d = -f 2)
    do
            if [ ! -h /dev/disk/by-uuid/$x ];then
                    echo $(grep $x /etc/fstab)  ..... not found
            fi
    done
Andrew McGlashan
fuente
2

mount -a es un método seguro para verificar / etc / fstab; de lo contrario, una entrada incorrecta podría dañar el sistema

También se recomienda mantener una copia de respaldo del archivo original / etc / fstab. podría copiarse al directorio de inicio de la raíz

Vikas Avnish
fuente
2

Tenga en cuenta que si agrega un archivo de intercambio a su fstab, mount -ano lo activará: querrá ejecutarlo swapon -a.

Ian Hunter
fuente
1

TBH incluso el montaje falso no valida con seguridad el fstab para entradas de tipo fs malas.

puede tener entradas que tengan uuid, directorios, etc. correctos, pero si especifica un tipo de FS inexistente, esto detendrá su arranque la próxima vez.

[root @ gruñón ~] # grep backup / etc / fstab
UUID = 5ed48e5e-7251-4d49-a273-195cf0432a89 / mnt / backup noatime, nodiratime, xfs defaults, nodev, nosuid 0 0
[root @ gruñón ~] #

[root @ gruñón ~] # mount -fav | grep backup
/ mnt / backup: montado con éxito
[root @ gruñón ~] #
OldTimeAdmin
fuente