* http://blog.darknedgy.net/technology/2015/09/05/0/
* http://jdebp.eu./FGA/run-scripts-and-service-units-side-by-s...
It's so cleanly engineered, just like ZFS.. makes me sad that solaris died a death.
(Their package management was crap though tbh)
* https://github.com/ServiceManager/ServiceManager/ (https://news.ycombinator.com/item?id=10212770)
I am certain that right now the choice of POSIX OS's at large companies such as mine is Debian or RHEL/CentOS. Smaller companies get away with ubuntu.
But nobody is making new infrastructure with IllumOS/Solaris. The most people will deviate is probably Free/OpenBSD.
What do you mean by ./just/run/some.sh?
Doesn't the fact that I have to google an alternative workflow for something that behaves consistently across pretty much all other software make its UI worse, at least in that regard? I get that maybe it's a justified trade-off, but that doesn't make the UI any better.
> What do you mean by ./just/run/some.sh?
I suppose just dumping an exec command into an executable file and call it a service.
Why must I have it if I don't need or want it? What is this, Windows?
and the scary part: we are not even fully there yet and it already reeks.
Init scripts are static. They don't change, they aren't ad-hoc, they aren't fragile. All modern Sysv init script systems have static scripts which 'include' a basic key=value pairs of environment variables from a config file. Nobody modifies scripts, or at least, they should not be doing it, and don't need to.
Many init scripts on my system have timestamps from the year 2002, and this system was just installed. They don't change because they don't need to change.
OTOH, Declarative unit files are configuration management taken away from the configuration management system, adding complexity.
Then you have your init scripts for random other services added by $USER, consider yourself lucky you haven't come across these.
What systemd "solved" was already solved.
When you know this you understand that the motivation of the people behind systemd was not technical.
One of the top contributor of systemd is banned from the linux kernel because of bad coding. The other top contributor gave us the fiasco of pulseaudio. Both work at the same major company. Draw your own conclusions.
Really? so you really think:
systemctl <command> <service>
is an improvement over: [optionally, some initsystem] <service> <command>
Given that, personally in most cases, when I am actually messing around on this level, I will be repeating the above several times where the only thing changing will be the <command> part (so, it is handy to have this right under the backspace key)The systemd UI is a hot steaming pile of garbage that has made my day-to-day life on the CLI harder, not easier.
systemctl status <service>
and actually getting consistent output rather than whatever the init script developer chose to provide (if anything)Different services have different failure modes with nuances that can never be generically captured by whatever means you chose to launch the service, in any kind of meaningful way. When a Database service stops serving data, my first though isn't "Lets see what the init system thinks", my first thought is "Lets see what I can find in various Database service logfiles" which will, 99.9% of the time, be something specific to the database service.
Inits' job in my view is "start this, and get out of the way". "Start this", and do logging, and do DNS/DHCP/manage-daemons/manage-restarts-on-fail/manage-the-fs/here-is-a-kitchen-sink/do-you-want-fries-with-that/oh-yes-and-here-is-NTP isn't what I am personally looking for in an init system, and - frankly - is a ridiculously stupid and idiotic approach from a server architecture perspective.
This isn't about the merits or lack thereof of binary logging, or the merits of whatever else systemd brought to the party. This is about needing tweezers, and being given a 500 function swiss army knife, where the other 499 functions get in the way of it being used as a very good tweezer.
Systemd is trying to be my default OS via the init system backdoor. I'll choose my own OS, thanks.
Then I'll check those logs if required.
Regarding DNS, DHCP et al, yes you have a point. Managing restarts on fail is a logical extension of init however.
While dmesg did that by default.