在非默认目标中启用 systemd 服务,例如“chkconfig --level”

在非默认目标中启用 systemd 服务,例如“chkconfig --level”

在 Centos 6 中我使用:

chkconfig --level 12345 network on
chkconfig --level 12345 sshd on 

现在有 Centos 7.1。是否可以使用某些命令行工具另外sshd启用?resque.target或者我应该手动创建符号链接?

更新:尝试了手动方式。我没有帮助:服务器无法通过 ssh 访问

mkdir -p /etc/systemd/system/rescue.target.wants
ln -sf /usr/lib/systemd/system/sshd.service /etc/systemd/system/rescue.target.wants/
systemctl daemon-reload
systemctl isolate rescue.target

答案1

我认为执行此操作的方法是编辑服务定义文件,并WantedBy为所需的目标添加一个条目。因此,您可以编辑/usr/lib/systemd/system/sshd.service并添加WantedBy=rescue.target为该[Install]部分中的另一行,然后执行此操作systemctl enable sshd,它应该创建您想要的链接。

您还可以通过将其添加到任何现有值后面的空格后来添加rescue.target到现有行。WantedBy

当然,如果 sshd 是问题的一部分,您可能真的不希望它在救援模式下尝试自动启动。 。 。

答案2

这是最终的(到目前为止)命令集:

chkconfig --level 12345 network on
mkdir -p /etc/systemd/system/network-online.target.wants
ln -sf /usr/lib/systemd/system/sshd.service /etc/systemd/system/network-online.target.wants/
ln -sf /usr/lib/systemd/system/NetworkManager.service /etc/systemd/system/network-online.target.wants/
systemctl daemon-reload

我使用network-online代替rescue,因为还有其他目标,例如emergency.

chkconfig也是需要的,不知道为什么。

相关内容