Странно, что /usr/lib/systemd/system/openvpn@.service - это простая задача:
[Unit]
Description=OpenVPN Robust And Highly Flexible Tunneling Application On %I
After=network.target
[Service]
Type=notify
PrivateTmp=true
ExecStart=/usr/sbin/openvpn --cd /etc/openvpn/ --config %i.conf
[Install]
WantedBy=multi-user.target
Однако, когда я попытался сделать самозапускаемый скрипт openvpn, например autoinit.service
с участием ExecStart=/bin/bash /root/setvpn.sh
В то время как /root/setvpn.sh
:
#!/bin/bash
/usr/sbin/openvpn --config /etc/openvpn/tun0.conf
Тогда это непрямое начало обнаруживает ошибку :
# systemctl start autoinit
Warning: autoinit.service changed on disk. Run 'systemctl daemon-reload' to reload units.
# systemctl status autoinit
● autoinit.service - Sets up OpenVPN servers
Loaded: loaded (/usr/lib/systemd/system/autoinit.service; enabled; vendor preset: disabled)
Active: deactivating (stop-sigterm) since Fri 2020-05-15 18:54:50 CST; 12s ago
Process: 10692 ExecStart=/root/setvpn.sh (code=exited, status=0/SUCCESS)
Main PID: 10692 (code=exited, status=0/SUCCESS)
CGroup: /system.slice/autoinit.service
└─10694 /usr/sbin/openvpn --config /etc/openvpn/tun0.conf
На самом деле, если я убегу systemctl daemon-reload
перед запуском этой службы автозапуска она остановится и вообще не сможет запуститься. Конечно /root/setvpn.sh
нет проблем с выполнением, почему этот systemctl не может его запустить?