systemctl,如何取消屏蔽
root@gcomputer:~# systemctl status x11-common ● x11-common.service Loaded: masked (/dev/null; bad) Active: inactive (dead)
我试过systemctl unmask x11-common
和systemctl unmask x11-common.service
但是没有改变任何东西。
我如何揭开它?
您使用的命令都是正确的 。 另请参见手册 。
当系统中没有现有的单元文件而不是/dev/null
的符号链接时,似乎unmask
命令失败。 如果mask
服务,则会在/etc/systemd/system
中为/dev/null
创建一个新的符号链接,其中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
使用它的脚本。
请按照以下步骤操作:
-
systemctl edit systemd-hostnamed
添加下面两行然后退出编辑器(提示时不要忘记保存):
[Service] PrivateNetwork=no
-
这将在目录中创建一个包含以上2行的override.conf文件:
/etc/systemd/system/systemd-hostnamed.service.d/
-
更新系统:
systemctl daemon-reload
-
然后重启服务:
systemctl restart systemd-hostnamed
您现在应该可以在不挂起的情况下运行hostnamectl
。