On Wed, Jul 25, 2012 at 3:44 AM, Nicolas Sebrecht <nsebrecht@piing.fr> wrote:
The 25/07/12, Heiko Baums wrote:
systemd I have to run a special command to have a daemon started at boot time (which I additionally have to remember), I have to write such an ini file instead of just writing or editing a simple and small config file or shell script
You are mixing up two things: - adding/removing services on boot; - configuring the services.
The first - adding/removing services - changes with systemd. Yes, it is done using a dedicated command (which comes naturally with autocompletion, here with zsh at least). This is for services provided by the distribution.
If a service is not provided: - with SysVinit you have to write the whole script usually relying on whatever library the distribution provides (which tend to be error-prone); - with systemd, you just write a configuration file.
For the second, whether you use systemd or SysVinit, configuring a service is typically done by editing the configuration file dedicated to this service. In systemd, the file is declared like this
EnvironmentFile=/etc/conf.d/nfs
which is by itself much easier to hack (rather than reading in a shell script to find where and how such a file is used).
... and to elaborate on this, writing a unit file is not the end of the world. in fact, it's so !@%$ing painless that i literally bang one out in ~2 minutes flat (not an exaggeration). 100% TANGIBLE, CONCRETE, NON-HYPOTHETICAL example ... i wrote this in a ~2 minute period sometime between the now and my last message ooooh, 45 min ago: # cat /usr/lib/systemd/system/u.openvpn.service ===================================== [Unit] Description=[u] OpenVPN server After=network.target [Service] Type=simple TimeoutSec=0 Restart=always RestartSec=30 ExecStart=/usr/sbin/openvpn --config /etc/openvpn/u.openvpn.conf ExecStartPost=/usr/sbin/ip link set vpn0 up promisc on master lan0 ExecReload=/bin/kill -SIGUSR1 $MAINPID [Install] WantedBy=u.services.target ===================================== ... aaaand done. works bomb. linked to my custom target. automatic reloads. dynamic TAP device. automatic adding of TAP dev to existing bridge. works bomb? :-) "but anthony! what did it REALLY take?", one likely inquires ... well i'm glad you asked! procedure: - copy one of my other daemon unit files - change ~3 lines - declare masterpiece ... there is no way to convince me or anyone else that process is somehow *more* complex than editing/managing the ~83-line combined `openvpn` and `openvpn-tapdev` rc.d scripts ... ehm ... hi. i have zilch against sysvinit, initscripts, or anything else for that matter -- to have a persuasion for-or-against a piece of software on anything but technical merits is rather silly IMO, even your own -- but to put it bluntly, systemd is, hands-down, superior, and a win in all ways over the long standing sysvinit ... just let it be so friends. -- C Anthony