Как вы проверяете fstab без перезагрузки?


104

Я модифицировал /etc/fstab.

Я проверил новые устройства и могу смонтировать их с помощью mountкоманды.

Как я могу проверить сделанные изменения /etc/fstab?

Ответы:


127

Вы можете просто запустить: mount -a

-a монтировать все файловые системы (указанных типов), упомянутые в fstab.

Эта команда смонтирует все (еще не смонтированные) файловые системы, упомянутые в fstab, и используется при запуске системного скрипта во время загрузки.


3
... и сравните его с / etc / mtab после того, как вы выполнили команду "sudo mount -a", просто чтобы убедиться, что все ваши параметры выполнены.
— adebaumann

1
mount -aперечитывание /etc/fstabтакже перезагружает, /etc/mtabпоэтому он должен быть в порядке только с этим.
— Приз

2
разве это не то, что адебоман пытается поднять здесь? mount -a может вернуть успех, но это не обязательно означает, что все определенные параметры монтирования были выполнены. так как это также перезагрузит / etc / mtab, вы должны проверить, работают ли все опции?
— RapidWebs

57

Команда mount принимает --fakeили -fдля краткости. Следующая команда должна делать то, что вам нужно:

mount -fav

Следующее находится в документации для -fварианта:

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.

(Обратите внимание, что это Linux - проверьте перед использованием в другом месте: FreeBSD использует -fдля 'force' - совершенно противоположное значение.)


5
mount -fav не проверяет, действительно ли устройство с указанным UUID находится в системе. Также хотелось бы объединить -f с -n, чтобы не загрязнять / etc / mtab
— Александр Приймак

Мне нравится, mount --fake -aно, кажется, вернуться exit code($?)=0всегда.
— Ммм

Также опция fake не проверяет, существует ли каталог. Он говорит, что successfully mountedдаже когда точка монтирования уже существует
— DollarAkshay

Кажется, это хорошая первая вещь, которую нужно попробовать, но вы должны также выполнить команду «mount -a» для проверки. В моем случае я установил параметры «по умолчанию» вместо «по умолчанию» (что препятствовало загрузке моего Pi), но mount -favподтвердил правильность. Как только я это сделал, mount -aон обнаружил ошибку.
— Адам Плохер


3

Я нашел это / проблему /, но решение не соответствовало моим требованиям.

При перезагрузке с любыми недопустимыми записями в / etc / fstab, такими как отсутствующие файловые системы, которые fsck не может проверить; система не сможет загрузиться. Это может быть гораздо сложнее, если у вас есть безголовый ящик.

Это мое решение для проверки / etc / fstab, чтобы избежать этой проблемы с загрузкой:

    # 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

2

mount -a - это безопасный метод проверки / etc / fstab, в противном случае неправильный ввод может сломать систему

Также рекомендуется сохранить резервную копию оригинального файла / etc / fstab. это может быть скопировано в домашний каталог root


2

Обратите внимание, что если вы добавите файл подкачки в свой fstab, mount -aон не будет включен : вы захотите запустить swapon -a.


1

TBH, даже фальшивый монтаж, не может безопасно проверить fstab для плохих записей типа fs.

у вас могут быть записи с правильными uuid, каталогами и т. д., но если вы укажете несуществующий тип FS, это остановит загрузку в следующий раз.

[root @ grumpy ~] # grep backup / etc / fstab
UUID = 5ed48e5e-7251-4d49-a273-195cf0432a89 / mnt / резервное копирование, nodiratime, xfs по умолчанию, nodev, nosuid 0 0
[root @ grump ~] #

[root @ grumpy ~] # mount -fav | резервное копирование grep
/ mnt / backup: успешно смонтирован
[root @ grumpy ~] #
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.