systemd:无法取消根挂载(-.mount)

systemd:无法取消根挂载(-.mount)

(发行版:Debian 10)

我有一个重复出现的错误消息,主要是在使用 systemctl 时弹出(也在安装包时,偶尔在其他一些我没有注意到的地方),

Unit -.mount is masked.

有时(取决于调用错误消息的命令)它更详细,例如

Error: GDBus.Error:org.freedesktop.systemd1.UnitMasked: Unit -.mount is masked.

此错误不会妨碍安装已启用的软件包或任何 systemd 服务(因此在启动时加载),但使用systemctlservice来重新启动、启动或停止服务会失败。这意味着我必须重新启动整个服务器才能重新启动服务,这可能有点烦人。

尝试取消屏蔽根挂载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'

相关内容