我的/etc/fstab
//192.168.10.1/StashNas /mnt/stashnas cifs uid=sam,gid=sam,credentials=/etc/stashnas.credentials 0 0
//192.168.10.1/StashSam /mnt/stashsam cifs uid=sam,gid=sam,credentials=/etc/stashnas.credentials 0 0
启动后,/mnt/stashsam
按预期挂载,但/mnt/stashnas
并未挂载。运行sudo mount -a
将挂载/mnt/stashnas
。为什么第一次挂载不在启动时发生?
系统信息:
sam@stash-pc:~[main]$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 24.04 LTS
Release: 24.04
Codename: noble
sam@stash-pc:~[main]$ uname -a
Linux stash-pc 6.8.0-35-generic #35-Ubuntu SMP PREEMPT_DYNAMIC Mon May 20 15:51:52 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
我发现了问题。
首先,我可以检查启动日志以获取更多信息
(该目录中保存着许多 boot.log 文件,
boot.log
是空的)这给出了一个实际有用的错误消息:
Systemctl 打印出以下内容:
这很奇怪,因为驱动器肯定没有安装为
freenas.local:/...
(参见/etc/fstab
上面的问题)事实证明,从 2019 年开始,就有一个相对古老的 systemd 服务将同一驱动器挂载到同一路径
删除该服务(和
sudo systemctl daemon-reload
),现在 systemd 正在为两个共享使用正确的 fstab 生成的挂载服务:TL;DR:已经有一个(我几年前编写的自定义)systemd 服务无法正确安装驱动器。由于已经定义了一个 mnt 服务来安装驱动器,因此 systemd 不会使用 中的设置
/etc/fstab
。删除旧的 systemd 单元文件并重新加载 systemd 守护程序即可解决此问题。