How do you validate fstab without rebooting?
You can simple run:
-a Mount all filesystems (of the given types) mentioned in fstab.
This command will mount all (not-yet-mounted) filesystems mentioned in fstab and is used in system script startup during booting.
The mount command take an
-f for short. The following command should do what you need:
The following is in the documentation for
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.
(Note this is Linux - check before using elsewhere: FreeBSD uses
-f for 'force' - exactly the opposite meaning.)
sudo findmnt --verify --verbose is the best way I've found
I found this /problem/ but the solution didn't meet my requirements.
When rebooting with any invalid entries in the /etc/fstab, such as missing file systems that fsck cannot check; the system will fail to boot. That can be much more difficult to deal with if you have a headless box.
This is my solution to checking /etc/fstab to avoid this boot problem:
# 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
mount -a is safe method to check /etc/fstab otherwise wrong entry could break the system
It is also advised to keep a backup copy of original /etc/fstab file. it could be copied to home directory of root