技术解析

systemctl disable xxx 之后不起作用
0
2021-06-16 10:37:47
idczone

生产环境下, 一些 systemd 配置的服务不能开机自启动, 所以需要 disable 掉,但是问题是 disable 之后, systemctl is-enabled xxx, 结果还是 enable

1.文件在 /etc/systemd/system/xxx.service

2.文件权限正常(因为同权线的可以 disable)

3.disable 之后 /etc/systemd/system/multi-user.target.wants/里面的软链确实被删

4.systemctl cat xxx

[Unit]
Description=xxx service
After=network.target

[Service]
Group=www
User=www
Type=simple
Restart=always
RestartSec=5
ExecStart=/home/www/bin/xxx
WorkingDirectory=/home/www/bin

[Install]
WantedBy=multi-user.target
Alias=xxx

systemctl mask 试试

systemctl mask xxx 提示这个: Failed to execute operation: Invalid argument

service 文件怎么放 /etc 目录呢,不是 /lib 下面吗,然后启用才链接过来

用户自定义的 service 本来就该在 /etc 下,并没有问题

是 socket 吧,有的服务有 service 还有个 socket

一直用的 systemctl --user 倒是没遇到过, 话说不用 --user 的 config 有什么优缺点么

enable 是在 etc 下做 lib 的软链接吧,那如果本来就在 etc 下,disable 是要把文件原地删了么…

enable 是在 /etc/systemd/system/multi-user.target.wants/里面新建软链,但是 /etc/systemd/system/下是可以直接放用户自定义的 service 文件的(实际上很多位置都可以放,可以参考这个文档 http://www.jinbuguo.com/systemd/systemd.unit.html )

journalctl -xe 报啥?

user 的 unit 只适用于 user 会话,默认是随登录运行,所有会话注销退出(开启 linger 模式后和系统 instance 行为类似)

https://www.freedesktop.org/software/systemd/man/systemctl.html
关于 is-enabled 的解释
> Enabled via .wants/, .requires/ or Alias= symlinks (permanently in /etc/systemd/system/, or transiently in /run/systemd/system/).
要不检查一下是不是 Alias 搞事情了

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服