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@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@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@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@server.service ● openvpn@server.service - OpenVPN Robust And Highly Flexible Tunneling Application On server Loaded: loaded (/etc/systemd/system/openvpn@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@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@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