On Wed, Jul 25, 2012 at 3:44 AM, Nicolas Sebrecht <nsebrecht@xxxxxxxx> 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