Yes, a symlink you mentioned will probably work for him.
From the link you posted:
|sudo systemctl edit --full nginx.service |
This will load the current unit file into the editor, where it can be modified. When the
editor exits, the changed file will be
written to |/etc/systemd/system|, which will take precedence over the system's unit
definition (usually found somewhere in
|/lib/systemd/system|).
The above does exactly what I was advising; write the new unit file to
/etc/systemd/system/ .
I actually have /etc/systemd/system/openvpn(a)server.service on Fedora 22:
.include /lib/systemd/system/openvpn@.service
[Unit]
After=syslog.target
After=network.target
[Service]
Environment="OPENSSL_ENABLE_MD5_VERIFY=1"
This method only overrides some of what is in /lib/systemd/system/openvpn@.service.
Therefor, any system upgrade changes are passed thru.
[0:root@elmo shorewall]$ ls -lZ /lib/systemd/system/openvpn@.service
/etc/systemd/system/openvpn(a)server.service
-rw-r--r--. 1 root root system_u:object_r:systemd_unit_file_t:s0 148 Aug 6 2015
/etc/systemd/system/openvpn(a)server.service
-rw-r--r--. 1 root root system_u:object_r:systemd_unit_file_t:s0 321 May 10 2016
/lib/systemd/system/openvpn@.service
[0:root@elmo shorewall]$ systemctl status openvpn(a)server.service
● openvpn(a)server.service - OpenVPN Robust And Highly Flexible Tunneling Application On
server
Loaded: loaded (/etc/systemd/system/openvpn(a)server.service; enabled; vendor preset:
disabled)
Active: active (running) since Sat 2017-11-18 20:55:02 EST; 1 weeks 0 days ago
Process: 2095 ExecStart=/usr/sbin/openvpn --daemon --writepid /var/run/openvpn/%i.pid
--cd /etc/openvpn/ --config %i.conf
(code=exited, status=0/SUCCESS)
Main PID: 2228 (openvpn)
CGroup: /system.slice/system-openvpn.slice/openvpn(a)server.service
└─2228 /usr/sbin/openvpn --daemon --writepid /var/run/openvpn/server.pid --cd
/etc/openvpn/ --config server.conf
/etc/systemd/system/mariadb.service:
.include /usr/lib/systemd/system/mariadb.service
[Service]
#LimitNOFILE=infinity
LimitNOFILE=65536
LimitMEMLOCK=infinity
/etc/systemd/system/clamd(a)scan.service:
.include /usr/lib/systemd/system/clamd@.service
[Unit]
Description = Generic clamav scanner daemon
[Install]
WantedBy = multi-user.target
[Service]
StandardOutput=null
StandardError=null
Restart=no
#CPUSchedulingPolicy=idle
#IOSchedulingClass=idle
Nice=16
CPUSchedulingPolicy=other
IOSchedulingClass=best-effort
# 0 = highest, 7 = lowest
IOSchedulingPriority=5
/etc/systemd/system/spamassassin.service:
.include /usr/lib/systemd/system/spamassassin.service
[Service]
Restart=no
This technique only overrides the installation .service unit with the lines provided.
This is NOT corrupting systemd. It's how systemd was designed to be used.
Bill