(发行版:Debian 10)
我有一个重复出现的错误消息,主要是在使用 systemctl 时弹出(也在安装包时,偶尔在其他一些我没有注意到的地方),
Unit -.mount is masked.
有时(取决于调用错误消息的命令)它更详细,例如
Error: GDBus.Error:org.freedesktop.systemd1.UnitMasked: Unit -.mount is masked.
此错误不会妨碍安装已启用的软件包或任何 systemd 服务(因此在启动时加载),但使用systemctl
或service
来重新启动、启动或停止服务会失败。这意味着我必须重新启动整个服务器才能重新启动服务,这可能有点烦人。
尝试取消屏蔽根挂载systemctl unmask -- -.mount
似乎有效(没有返回任何内容),但systemctl status -- -.mount
之后仍然输出以下内容:
● -.mount - Root Mount
Loaded: masked (Reason: Unit -.mount is masked.)
Active: active (mounted) since Mon 2019-08-05 15:03:38 AEST; 4h 8min ago
Where: /
What: /dev/sde1
Tasks: 0 (limit: 4915)
Memory: 0B
CGroup: /system.slice/-.mount
有任何想法吗?我不想从该服务器的全新安装开始,所以要么找到修复程序,要么在需要重新加载服务时重新启动。
答案1
我在执行此答案中的步骤 6 时得到了相同的结果:https://askubuntu.com/a/1028709/1003629。
通过反复试验,我发现如果关闭 GParted,这将不再是问题。
在我获得三票赞成后进行编辑:它会出现 gparted 锁定某些东西,也许是访问分区表或保存它的文件,如果有人可以编辑我的答案来澄清这一点,那就太好了。
编辑:2023 年 7 月 29 日:Mike Fleetwood(GParted 开发人员)
GParted 为块设备支持的文件系统临时设置 systemd 挂载单元的运行时掩码,并为 Linux 软件 (mdadm) RAID 阵列和 Bcache 设备临时创建空白运行时 udev 规则。当 GParted 关闭时,这些将被清除。
这样做是为了防止在背后自动安装文件系统和激活存储层;以防止操作失败。
答案2
您可以尝试删除 -.mount
sudo rm /run/systemd/system/-.mount
然后重新加载systemd
sudo systemctl daemon-reload
答案3
有同样的问题。我像这样添加了 sudo:
sudo systemctl unmask -- -.mount
但直到我刷新 systemctl 后,我才看到这些更改:
sudo systemctl daemon-reload
但运行时更改仍然不可见systemctl unmask -- -.mount
:
● -.mount - Root Mount
Loaded: masked (Reason: Unit -.mount is masked.)
Active: active (mounted) since Thu 2019-02-14 04:11:58 CST; 6 months 14 days ago
Where: /
What: /dev/mmcblk0p2
Tasks: 0 (limit: 2077)
Memory: 0B
CGroup: /system.slice/-.mount
我必须重新启动系统才能systemctl unmask -- -.mount
显示任何不同的内容:
● -.mount - /
Loaded: loaded (/etc/fstab; generated)
Active: active (mounted) since Thu 2019-02-14 04:11:58 CST; 6 months 14 days
Where: /
What: /dev/mmcblk0p2
Docs: man:fstab(5)
man:systemd-fstab-generator(8)
答案4
该命令适用于我删除运行时屏蔽的单元:
systemctl --runtime unmask -- -.mount
列出所有运行时屏蔽的单元:
ls -l /var/run/systemd/system | grep '/dev/null'