我正在基于Debian的系统上工作,并且仍在学习systemctl vs service,但是正在尝试将我的openvpn
配置用作解决此问题的用例。
在我当前的设置中,我openvpn
对启动时似乎是如何启动以及如何对其进行管理感到困惑。
在启动时,这些是openvpn
已经启动的进程:
> ps aux | ag 'openvpn'
nobody 952 0.0 0.0 5800 1108 ? Ss 13:29 0:00 /usr/sbin/openvpn --daemon ovpn-server --status /run/openvpn/server.status 10 --cd /etc/openvpn --config /etc/openvpn/server.conf
root 1537 0.0 0.1 6088 2544 ? Ss 13:30 0:00 /usr/sbin/openvpn --daemon --auth-nocache --config /root/.vpn_conf/pia.ovpn
我仍然不知道是什么控制着它们在启动时启动。
第一个proc是服务器(我希望禁用),另一个是我希望保留并继续使用的客户端。
我的理解是可以systemctl
用来列出所有服务:
> systemctl list-unit-files --type=service | ag 'openvpn'
openvpn.service disabled
[email protected] disabled
两者之间有什么区别?这两项服务是否控制着上述流程?如果已禁用它们,为什么它们仍在启动时启动?
如果尝试使用service
来获取的状态openvpn
,则会得到:
> service openvpn status
● openvpn.service - OpenVPN service
Loaded: loaded (/lib/systemd/system/openvpn.service; disabled)
Active: active (exited) since Sun 2017-02-19 13:29:51 PST; 18min ago
Process: 936 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
Main PID: 936 (code=exited, status=0/SUCCESS)
CGroup: /system.slice/openvpn.service
Feb 19 13:29:51 systemd[1]: Started OpenVPN service
这促使我问:
如果systemctl中有两个用于openvpn的条目,那么在使用时第二个条目叫什么service openvpn_2nd? status
?
以防万一,有一个/etc/init.d/openvpn
脚本。
如果您对以上某些问题有任何见解,将不胜感激。
如果要学习systemd,OpenVPN并不是最佳的起点,因为OpenVPN并不是一项简单的服务。
OpenVPN是systemd下的模板服务。该服务单位被命名,从单一衍生服务部文件命名。因此,您要使用以下方式启动实例openvpn@config.service
[email protected]
/etc/openvpn/server.conf
systemctl启动[email protected]并使用以下命令在启动时自动启动
systemctl启用[email protected]显然,您可以使用类似的命令停止并禁用它。
但是,这不是运行您的OpenVPN客户端的内容。要为此找到服务单元,可以通过运行以下命令从控制组名称中找到单元名称
systemd-cgls /
非模板openvpn.service
在其服务单元文件顶部的注释中进行了说明。同样,作为新手对systemd的初次体验,这又使它变得更复杂,难以学习。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句