3 ms·
Story from yesterday: I foolishly modified fstab, like I did for over a decade, to swap a mountpoint from a local drive to NFS. What happened: `mount -a` ran fi
by pmlnr 7y ago
Story from yesterday: I foolishly modified fstab, like I did for over a decade, to swap a mountpoint from a local drive to NFS. What happened: `mount -a` ran fine. No errors. Except... the mountpoint was empty, there was no match in `mount` output to the line.
After poking the internet:
After altering fstab one should either run systemctl
daemon-reload (this makes systemd to reparse /etc/fstab
and pick up the changes) or reboot[^1].
So, the summary with systemd: it will break something for everyone sooner or later. It hopefully won't be something you can't fix, but it will make you very angry and in immediate need of a tea break.
BTW, this is not the first one for me, but certainly one of the most frustrating ones, and not because of the behaviour: because of the lack of error messages on stderr or at least in syslog. The messages in ~~syslog~~ journald were casual.
[^1]: https://unix.stackexchange.com/questions/169909/systemd-keeps-unmounting-a-removable-drive https://unix.stackexchange.com/questions/169909/systemd-keep...
- znpy 7y agoActually it's been like that for a long time, and for a good reason. /etc/fstab is parsed by systemd and converted int .mount unit files, so that they can be mounted when a) asked for it (auto/noauto) and b) as soon as possible. think of the _netdev flag: it signals systemd that a mountpoint is network-based, and thus it will attempt to mount it only after the networking target (instead of waiting for it to timeout at boot time, fail , and possibly letting processes start reading and writing from/to an empty directory). Running daemon-reload is generally system(d)-wide though: whenever systemd configuration is altered (think adding/removing/updating an unit file) you should let systemd know about that by running systemd daemon-reload (think of apachectl reload).
- pmlnr 7y ago> and for a good reason Yeah... there's always a "good reason" with systemd, isn't there? Still doesn't account for the lack of error message.
- qplex 7y agoIt's kind of funny how systemd breaks often when old farts (like us) tinker with something in a way we shouldnt.
- mcdee 7y agoIt's non-obvious, though. Change something in /etc/systemd you can expect to have to tell systemd about it. Outside of that directory, there's no indicator you should do so. "Long time" is also relative. I've been updating /etc/fstab directly for over 25 years.
- michaelmrose 7y agoWhy doesn't it reparse fstab before executing mount commands?
- znpy 7y agothe mount command is not part of systemd
- michaelmrose 7y agomount the command DOES read /etc/fstab I believe the discussion was a systemd mount unit