103

I modified /etc/fstab.

I verified the new devices and I can mount them with the mount command.

How may I validate the modifications made to /etc/fstab ?

126

You can simple run: mount -a

-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.

  • 3
    ...and compare it to /etc/mtab once you've done a "sudo mount -a", just to make sure all your options have been honoured. – adebaumann Aug 25 '10 at 10:25
  • 1
    mount -a by rereading /etc/fstab would also reload /etc/mtab so he should be fine with that only. – Prix Aug 26 '10 at 2:41
  • 2
    isn't that the point which adebaumann is trying to raise here? mount -a might return success, but doesn't necessarily mean that all the specific mount options have been honoured. since this will also reload /etc/mtab, you should check to see if all option are working? – RapidWebs Jun 28 '14 at 7:21
57

The mount command take an --fake or -f for short. The following command should do what you need:

mount -fav

The following is in the documentation for -f option:

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.)

  • 4
    mount -fav doesn't check that device with specified UUID is actually in the system. Also one would like to combine -f with -n not to pollute /etc/mtab – Alexandr Priymak Feb 6 '15 at 17:55
  • I like mount --fake -a but it seems to return exit code($?)=0 always. Umm.. – kujiy Oct 3 '18 at 11:54
  • Also the fake option does not check whether the directory exists. It says successfully mounted even when the mount point dosent exist – DollarAkshay Nov 23 '18 at 8:33
  • This seems to be a good first thing to try, but you should also do a "mount -a" afterwards to verify. In my case, I set the options to "default" instead of "defaults" (which was preventing my Pi from booting), but mount -fav validated it as correct. As soon as I did a mount -a it found an error. – Adam Plocher Aug 11 at 20:42
5

sudo findmnt --verify --verbose is the best way I've found

3

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
2

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

2

Note that if you add a swap file to your fstab, mount -a won't turn it on: you'll want to run swapon -a.

1

TBH even fake mounting doesn't safely validate the fstab for bad fs type entries.

you can have entries that have correct uuid's, directories etc but if you specify a noexistant FS type this will halt your boot next time.

[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 | grep backup
/mnt/backup              : successfully mounted
[root@grumpy ~]#

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.