systemctl,如何取消屏蔽


27
root@gcomputer:~# systemctl status x11-common
● x11-common.service
   Loaded: masked (/dev/null; bad)
   Active: inactive (dead)

我尝试了一下systemctl unmask x11-commonsystemctl unmask x11-common.service但是并没有改变任何东西。

我该如何遮盖?

Answers:


35

您使用的命令都是正确的。另请参见手册

unmask当系统中除了符号链接以外没有其他任何单位文件时,该命令似乎失败/dev/null。如果mask一个服务,然后创建一个新的符号链接/dev/null/etc/systemd/system哪里systemd长相在引导单元文件加载。在这种情况下,没有实际的单位文件。

其他人似乎也有类似的问题

x11-common.service在我的系统上也被屏蔽。您可以这样解决:

首先检查该单位文件是否是指向的符号链接 /dev/null

file /lib/systemd/system/x11-common.service

它应该返回:

/lib/systemd/system/x11-common.service: symbolic link to /dev/null

在这种情况下,将其删除

sudo rm /lib/systemd/system/x11-common.service

由于更改了单位文件,因此需要运行以下命令:

sudo systemctl daemon-reload

现在检查状态:

systemctl status x11-common

如果未显示已加载并正在运行(如果圆圈仍为红色),请重新安装该软件包:

sudo apt-get install --reinstall x11-common

然后重新加载守护程序

sudo systemctl daemon-reload

并再次检查状态

systemctl status x11-common

现在它是绿色的,并且正在运行:)该服务没有systemd单位文件,但是systemd高兴地在其中使用了脚本/etc/init.d


好的,后续问题:如果您的系统上甚至没有屏蔽该服务,那么该服务有什么用?如果我们两个人都掩盖了它,似乎并不需要。
阿尔伯特

@Albert [请参阅此处。](askubuntu.com/questions/712276/…)似乎该服务在没有systemd单元文件的情况下仍可正常工作(它在/etc/init/...中有一个文件)。您可能想问一个新问题。我所做的没有明显变化,只有服务显示为已加载,已启用,已停止(启动时处于活动状态)(绿色),而不是已加载的已屏蔽的死机(红色)。我应该阅读我的日志...
Zanna 2016年

如果systemd的更新到来,则将重新安装单位文件,因此,这实际上不是结构性的解决方案
hbogert

即使没有符号链接到@hbogert,也会发生这种情况/dev/null吗?你对我的回答是正确的。我将这种解决方案称为解决方案,以解决systemd的令人困惑的行为
Zanna

您能用在这种情况下很重要的确切文件来描述您的第一句话吗(因为我不太了解您所描述的情况)?
hbogert

2

可能是您的服务有一个空的覆盖文件,如下所示:

●redis-server.service-高级键值存储已加载:已加载(/lib/systemd/system/redis-server.service;已屏蔽;供应商预设:已启用)嵌入式:/ etc / systemd / system / redis-server .service.d└─limit.conf

检查limit.conf是否为空文件。如果是这样,请删除它。然后应取消屏蔽服务。


0

请按照以下步骤操作:

  1. systemctl edit systemd-hostnamed

    在下面添加两行,然后退出编辑器(提示时不要忘记保存):

    [Service]
    PrivateNetwork=no
    
  2. 这将在目录中创建带有上面两行的override.conf文件:

    /etc/systemd/system/systemd-hostnamed.service.d/
    
  3. 更新系统:

    systemctl daemon-reload
    
  4. 然后重新启动服务:

    systemctl restart systemd-hostnamed
    

您现在应该可以在hostnamectl不挂起的情况下运行。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.