OpenVPN单元文件被参数化(参见@ ):
> ls /usr/lib/systemd/system/openvpn* /usr/lib/systemd/system/[email protected]
问题是我无法通过systemctl命令列出参数化的服务名称,如果它们被禁用,即使使用选项--all :
> systemctl --full --all -t service | grep openvpn
不过,我仍然可以列出非参数化禁用服务的名称(本例中为iptables ):
> systemctl --full --all -t service | grep iptables iptables.service loaded inactive dead IPv4 firewall with iptables
如何获得所有单位的列表,即使其中一些参数化?
问题其实更加复杂(我可以轻松地列出可用的单元文件来回答自己)。 但是,问题在于不一致。
[email protected]服务启用时,可以通过上述命令列出。 [email protected]服务被禁用时,它不能。 这似乎是一个明显的bug(或限制systemd不太了解参数化服务是否在我们启用时实际configuration)的事实。 不过,我宁愿问人群,也不要跳出这个结论。