Jak sprawdzasz poprawność fstab bez ponownego uruchamiania?

103

Zmodyfikowałem /etc/fstab.

Zweryfikowałem nowe urządzenia i mogę je zamontować za pomocą mountpolecenia.

Jak mogę zweryfikować wprowadzone modyfikacje /etc/fstab?

Luc M.
źródło

Odpowiedzi:

126

Możesz po prostu uruchomić: mount -a

-a Zamontuj wszystkie systemy plików (podanych typów) wymienione w fstab.

To polecenie zamontuje wszystkie (jeszcze nie zamontowane) systemy plików wymienione w fstab i jest używane podczas uruchamiania skryptu systemowego podczas uruchamiania.

Prix
źródło
3
... i porównaj go z / etc / mtab po wykonaniu "sudo mount -a", aby upewnić się, że wszystkie opcje zostały spełnione.
adebaumann
1
mount -aponowne przeczytanie /etc/fstabrównież przeładuje, /etc/mtabwięc powinien być w porządku tylko z tym.
Prix
2
czy nie jest to kwestia, którą adebaumann próbuje tutaj podnieść? mount -a może zwrócić sukces, ale niekoniecznie oznacza, że ​​wszystkie określone opcje mount zostały spełnione. skoro to również przeładuje / etc / mtab, powinieneś sprawdzić, czy wszystkie opcje działają?
RapidWebs
57

Polecenie mount zajmuje --fakelub -fw skrócie. Następujące polecenie powinno zrobić to, czego potrzebujesz:

mount -fav

W dokumentacji -fopcji znajduje się:

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.

(Zauważ, że jest to Linux - sprawdź przed użyciem gdzie indziej: FreeBSD używa -fdla „force” - dokładnie przeciwnie.)

tronda
źródło
4
mount -fav nie sprawdza, czy urządzenie o określonym UUID faktycznie znajduje się w systemie. Również chciałoby się połączyć -f z -n, aby nie zanieczyszczać / etc / mtab
Alexandr Priymak
Lubię, mount --fake -aale wydaje się, że exit code($?)=0zawsze wraca . Umm ..
kujiy
Również fałszywa opcja nie sprawdza, czy katalog istnieje. Mówi successfully mountednawet, gdy punkt montowania nie istnieje
DollarAkshay
To wydaje się być dobrą pierwszą rzeczą do wypróbowania, ale powinieneś również zrobić „mount -a”, aby to sprawdzić. W moim przypadku ustawiłem opcje na „default” zamiast „defaults” (co uniemożliwiało uruchomienie mojego Pi), ale mount -favsprawdziłem poprawność. Gdy tylko to zrobiłem mount -a, znalazłem błąd.
Adam Plocher
5

sudo findmnt --verify --verbose to najlepszy sposób, jaki znalazłem

rockwotj
źródło
3

Znalazłem ten / problem /, ale rozwiązanie nie spełniło moich wymagań.

Podczas ponownego uruchamiania z niepoprawnymi wpisami w / etc / fstab, takimi jak brakujące systemy plików, których fsck nie może sprawdzić; system nie uruchomi się. To może być znacznie trudniejsze do rozwiązania, jeśli masz pudełko bez głowy.

Oto moje rozwiązanie sprawdzania / etc / fstab, aby uniknąć tego problemu z uruchomieniem:

    # 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
źródło
2

mount -a jest bezpieczną metodą sprawdzania / etc / fstab, w przeciwnym razie nieprawidłowy wpis może uszkodzić system

Zaleca się również zachowanie kopii zapasowej oryginalnego pliku / etc / fstab. można go skopiować do katalogu głównego root

Vikas Avnish
źródło
2

Pamiętaj, że jeśli dodasz plik wymiany do swojego pliku fstab, mount -anie włączysz go: będziesz chciał uruchomić swapon -a.

Ian Hunter
źródło
1

TBH nawet fałszywe mocowanie nie sprawdza bezpiecznie fstab dla złych wpisów typu fs.

możesz mieć wpisy, które mają poprawne numery UUID, katalogi itp., ale jeśli określisz nieistniejący typ FS, zatrzyma to twój rozruch następnym razem.

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

[root @ grumpy ~] # mount -fav | kopia zapasowa grep
/ mnt / backup: pomyślnie zamontowany
[root @ grumpy ~] #
OldTimeAdmin
źródło