elias writes:
"A very public and sometimes acrimonious dispute in the Debian ecosystem about upstart versus systemd has been settled in favour of systemd. Some go as far as to brand it a new era after the Linux civil war [Beware popups].
We also had an asksoylentnews question on what the fuzz was all about. But what can upstart contribute to systemd now the war is over, or will it simply be a technology that we remember fondly, but do not see any more in a few years time?"
Related Stories
jbernardo writes:
"Having had several issues with systemd, and really not liking the philosophy behind it, I am looking into alternatives. I really prefer something that follows the Unix philosophy of using small, focused, and independent tools, with a clear interface. Unfortunately, my favourite distro, Arch Linux, is very much pro-systemd, and a discussion of alternatives is liable to get you banned for a month from their forums. There is an effort to support openrc, but it is still in its infancy and without much support.
So, what are the alternatives, besides Gentoo? Preferably binary... I'd rather have something like arch, with quick updates, cutting edge, but I've already used a lot in the past Mandrake, RedHat, SourceMage, Debian, Kubuntu, and so on, so the package format or the package management differences don't scare me."
[ED Note: I'm imagining FreeBSD sitting in the room with the all the Linux distros he mentioned being utterly ignored like Canada in Hetalia.]
(Score: -1, Troll) by Anonymous Coward on Tuesday March 18 2014, @10:02PM
I created an Arduino-driven vibrating buttplug. Is this awesome?!!
(Score: 5, Interesting) by Nerdfest on Tuesday March 18 2014, @10:04PM
About time, although I'm glad they finally, actually admitted it. If only they could get together and help with Wayland rather than striking out on their own again.
(Score: 2, Redundant) by Desler on Tuesday March 18 2014, @10:07PM
About time? Mark conceded this more than a month ago. Talk about being late to the party by reporting this only now.
(Score: 0, Redundant) by Desler on Tuesday March 18 2014, @10:05PM
So is this site now trying to compete with Slashdot on being the most behind the times on reporting a story? This happened more than a month ago...
(Score: 3, Interesting) by wjwlsn on Tuesday March 18 2014, @10:28PM
Yeah, what's the deal? I saw the title of the summary and immediately wondered if there had been some major change since the vote in February, and then a final capitulation by Canonical. But no... this summary really is reporting month old news. I'm kind of surprised by this, as the dates included in *all* the linked urls are 3 to 6 weeks old.
I am a traveler of both time and space. Duh.
(Score: 5, Interesting) by zsau on Tuesday March 18 2014, @11:35PM
I hadn't heard it before. Anyway, isn't the point of this site the discussion? Perhaps with a few weeks lag that can sometimes be even better. I don't think we need to complain about repeats and olds; in fact, I'd rather like it if there were occasionally deliberate olds posted (like making a post on the demise of the floppy disk or the GPLing of Qt).
(Score: 4, Interesting) by wjwlsn on Wednesday March 19 2014, @05:49AM
I don't mind revisiting old news either. Hell, I read net.unix-wizards in my newsreader every day, as served by http://olduse.net/ [olduse.net], which plays out Usenet in real time as it was 30 years ago. (Most interesting discussions over the past few weeks during 1984 are generally about bugs, crashes, and complaints regarding 4.2BSD... also, a small religious war about the #! operator in shell scripts).
Anyway, the point I should have been making was about the summary, not the age of the news. I would suggest that if a summary is about something that isn't exactly current (more than a week), it should include words like "revisiting", "reconsidering", "reanalyzing", etc... and it should still bring something new to the table, like a new question, implication, discovery, side-effect. That way, the followup discussion doesn't have to rehash the same old stuff that has been beaten to death elsewhere.
I am a traveler of both time and space. Duh.
(Score: 5, Funny) by Ethanol-fueled on Tuesday March 18 2014, @11:49PM
Hey, you. Yes, you, and your parent. And while we're at it, every single motherfucker who's made similar complaints -- This site is about DISCUSSIONS, the "articles" provide only a topic for discussion.
I know those dastardly scum who named this place Soylent News should be strung up by their balls for falsely advertising that this place is about "news," but then again we are assumed to be a crowd of 3-digit IQ who can "read between the lines." No, stop that -- put that magnifying glass away -- there's literally nothing between the lines I just posted, back away from the monitor before you bump your head. What are you doing without your helmet on anyway? Don't you have a short bus to catch?
(Score: 5, Insightful) by edIII on Wednesday March 19 2014, @12:53AM
Thank you. I don't care that it's 30 days old.
I don't know anything about it, and quite frankly, I wish some people around here that understood it could compare and contrast Upstart and SystemD for me and possibly tell me why it was such a big deal in the first place.
For there to be so much emotion, especially from techies, I know the pros and cons on either side must have been huge.
So what were they?
Technically, lunchtime is at any moment. It's just a wave function.
(Score: 1, Funny) by Anonymous Coward on Wednesday March 19 2014, @01:13AM
"SoylentNews is people... and people are OLD." :)
(Score: 3, Interesting) by wjwlsn on Wednesday March 19 2014, @06:05AM
I know this very well. In fact, this is the crux of why I left Slashdot to come here. I even said as much over there. http://slashdot.org/comments.pl?sid=4761527&cid=46 178769 [slashdot.org]
Oh, by the way... go fuck yourself.
I am a traveler of both time and space. Duh.
(Score: 2) by tangomargarine on Wednesday March 19 2014, @02:25PM
So glad to see you can log in now, EF...
"Is that really true?" "I just spent the last hour telling you to think for yourself! Didn't you hear anything I said?"
(Score: 2) by hankwang on Tuesday March 18 2014, @10:08PM
So, it looks like it is not going to be part of the upcoming LTS version. So I can postpone dealing with it for another 2 years.
I've actually never understood the details of Upstart either. I have a headless 12.04LTS server in the closet that usually fails to boot properly after a power outage, apparently due to some dependency issue with the usb-mounted HDDs. Fortunately, outages are rare over here.
Avantslash: SoylentNews for mobile [avantslash.org]
(Score: 2, Interesting) by zizban on Tuesday March 18 2014, @11:35PM
At first I was skeptical about systemd but then I used it on Archlinux and I must say it's pretty sweet.
(Score: 5, Interesting) by frojack on Tuesday March 18 2014, @10:14PM
Probably like OS2 there will be people singing the praises of Upstart for a long time.
Not because it proved to be very good, just because it proved to be different.
I don't like Systemd right now. Its horribly implemented in many distros, leaving many things broken and not easily manageable by most users. (Kind of like how KDE4 was a running three year disaster). But I understand, just as KDE4 became very stable and usable, systemd will finally get the kinks worked out and behave much better as time goes on.
What you have to remember, is that systemd was not built for you. It was built for big business, big government, big data centers, where things have to get booted much faster than previously. We are but crash test dummies in this grand scheme.
With that being the case, there was never any question that Systemd was going to win out in the end.
And it was built principally by a guy could care less about pissing and moaning from the user base, with a history of breaking the crap out of stuff and not being in any hurry to get it fixed. Far too much of Linux operates in this way these days. I liked it better when the focus was not on how long it took to boot, but on making sure you seldom ever had to reboot.
I also worry that Systemd hasn't been around long enough to have all the security angles addressed.
No, you are mistaken. I've always had this sig.
(Score: 5, Insightful) by Grishnakh on Tuesday March 18 2014, @10:28PM
What you have to remember, is that systemd was not built for you. It was built for big business, big government, big data centers, where things have to get booted much faster than previously. We are but crash test dummies in this grand scheme.
That's not the primary reason for systemd at all, and booting times are not very important on servers like they are on laptops and desktops and small embedded systems. systemd's raison d'etre is service management; sysvinit is positively primitive with just shell scripts; take a look at Windows with its service manager. That's basically what they're emulating, only much better of course. It starts services, stops them, restarts them if necessary, logs errors with them, etc. Beyond that, it manages other things too like devices (by incorporating udev) and system logging. There's a good reason it's called "systemd", it's not just for starting up the system, it's a whole layer for managing the entire system. Other UNIXes have had stuff like this for a while (I believe Solaris's version is called SMF); Linux is really quite late to the party.
As for horrible implementations, that's really up to the distros. They're supposed to perform some kind of quality control, and they're obviously dropping the ball as usual. KDE4 was the same: distros just dropped support for KDE3 all of a sudden and forced them to KDE4 (in KDE distros), instead of recognizing that KDE4.0 was alpha-quality and not ready for serious use, so of course disaster ensued. Distros need to stop simply accepting shovelware from upstream, and do some serious quality checks for themselves; if something isn't ready, help out to make it ready, and if that fails or is going to take too much time, revert to the old version.
(Score: 2, Insightful) by Anonymous Coward on Tuesday March 18 2014, @10:49PM
Damning with faint praise.
Ever notice the arrogance and aggression that meets the many valid technical criticisms? Given the attitude of the developers, the manual / FAQ for systemd may as well read "because fuck you - that's why". Not any better than Microsoft afterall then!
(Score: 4, Informative) by tibman on Tuesday March 18 2014, @11:18PM
sysvinit is positively primitive with just shell scripts;
Comparing cli tools to ui is not a good idea. Wouldn't you say that windows services is almost exactly like Webmin's bootup and shutdown section? Is a full UI required to admin a server?
I'm not sure why sysvinit is primitive because it uses shell scripts. Would using a different language (compiled) improve anything? Not every distro requires its entire userbase to migrate to new subsystems either. Gentoo, for example, lets you decide if you want to do systemd or sysvinit. They've had it available since 2011. I'd hope that Debian would permit the same.
Tightly integrating all those parts together sounds spooky. What if someone wants to fork a part of it? Imagine if KDE swallowed Xorg and they became one project? Don't get me wrong, i'm not saying systemd isn't good or that it doesn't have a bright future. I just wanted to argue a bit about calling sysvinit primitive. I'd accept ancient though : ) Systemd is pretty much no better, each service has a config script. You just can't run them anymore.
SN won't survive on lurkers alone. Write comments.
(Score: 2) by Grishnakh on Wednesday March 19 2014, @04:05PM
This has nothing to do with GUI vs. CLI. It has to do with a service manager that actually knows the state of various services and continuously monitors them. sysvinit doesn't really do this; all it does is kick off a shell script with a command ("start", "stop", "restart", etc.). It doesn't actually know if a service is still running or not, if the process has died, or anything except what that shell script returns when the service is (re)started.
Would using a different language (compiled) improve anything?
The idea of needing a language to run services is rather laughable. The only reason it was done with sysvinit is because it's an easy hack. systemd doesn't use a language, it uses a simple description file (basically an INI file). The management daemon does everything internally.
When your programs save their state and configuration in files, do they need to be in a particular language? No, of course not. Go look at your .rc files sometime. The idea of using a language to tell a program what to do is utterly ridiculous; it only needs a configuration file.
Tightly integrating all those parts together sounds spooky.
So I guess you think it's "spooky" that Linux's kernel is tightly integrated with its device drivers, right? Or that Gnome or KDE has many tightly integrated parts? What OS do you use anyway? It's obviously not any conventional Linux distro.
What if someone wants to fork a part of it?
Then they can fork it. What's the problem? Big projects have been forked before (XFree86, LibreOffice), and systemd is much smaller than these.
>Imagine if KDE swallowed Xorg and they became one project?
Why on earth would they do that? That doesn't even make any sense.
(Score: 2) by tibman on Wednesday March 19 2014, @07:12PM
It has to do with a service manager that actually knows the state of various services and continuously monitors them. sysvinit doesn't really do this;
You're looking for rc-status. It shows you each service and its current state. Similar to if you run the service script with status at the end. Like "/etc/init.d/apache2 status".
Though a bit of a text blob, here is actual output (butchered to fit) from rc-status where i've manually killed mysql. Mysql is reported as "crashed". This is a good cli representation of my current running services and their state.
Runlevel: default
sshd [ started ]
dhcpcd [ started ]
net.eth0 [ started ]
netmount [ started ]
ntpd [ started ]
vixie-cron [ started ]
local [ started ]
Dynamic Runlevel: hotplugged
Dynamic Runlevel: needed
Dynamic Runlevel: manual
mysql [ crashed ]
apache2 [ started ]
SN won't survive on lurkers alone. Write comments.
(Score: 3, Insightful) by sjames on Wednesday March 19 2014, @03:36AM
There's nothing primitive about using a shell language that is Turing complete for customization.
I see nothing in systemd that couldn't be accomplished in a cleaner manner with a few helper programs. Certainly there is no need to create an all singing all dancing monster with a tentacle in every pie.
The Unix way of small tools that do one thing and do it well has served us well for decades, the other approach gave us Windows and a bunch of also-ran OSes.
(Score: 2) by Grishnakh on Wednesday March 19 2014, @04:34PM
So I guess Solaris and AIX don't count as "UNIX" to you? How idiotic.
(Score: 2) by sjames on Wednesday March 19 2014, @07:10PM
At this point, Solaris and Aix are also-rans. BSD still seems in the running though, it's fairly popular behind the scenes.
(Score: 3, Interesting) by TheLink on Wednesday March 19 2014, @04:22AM
You're comparing with WINDOWS?! It's only in recent years they got preshutdown notifications compared to Unix init scripts which have been around for decades.
AND even then it's not yet natively supported by .NET services: https://connect.microsoft.com/VisualStudio/feedbac k/details/641737/add-windows-service-preshutdown [microsoft.com]
I've been considering writing a windows service to handle preshutdown notifications and then shutdown .NET services in an orderly manner. Maybe someone has written one already.
As for logging, the Microsoft/Windows logging culture is below par. It's possible to log useful logs in Windows, but somehow the logging culture is such that more don't compared to the "unix/unixlike" logging culture. Perhaps due to pushes for internationalization they have made logs equally useless in all languages ;). e.g. instead of "Unable to read file: '/zzz/xxx/yyy.conf': access denied" you are more likely to get stuff like "Error [0x123]: FILE_ACCESS_DENIED".
See also: http://support.microsoft.com/kb/307024 [microsoft.com]
(Score: 1) by Qzukk on Wednesday March 19 2014, @01:57PM
Having tried to debug a windows 8 computer that was unable to run windows update because the BITS service would not start, I can say that I never once saw an error code with the definition printed next to it anywhere in any log. Plenty of "Service failed to start with error -1892447375" or "Last error code 0x8f338b71".
(Score: 2) by Grishnakh on Wednesday March 19 2014, @04:12PM
I compared with Windows because more people are familiar with it than with something like Solaris.
And yes, Windows logging sucks. I never said Windows was a gold standard in anything.
Windows has a habit of taking really good ideas, and completely screwing them up with terrible implementations. Their service manager is an example of this I think. Unlike sysvinit, it'll actually tell you the current state of services (try kill -9ing mysql and seeing if sysvinit notices). But of course, the general way it's implemented sucks for many different reasons.
(Score: 2, Insightful) by digitalaudiorock on Tuesday March 18 2014, @10:43PM
But doesn't this imply servers where for all intents and purposes, almost all the parallel boot stuff is useless (like starting an app before the database for example)?
Personally I think Symtemd will go down as being a huge mistake. On my own machines I'm running Gentoo with no Gnome, Systemd or anything that requires either.
I think the whole f****** mess is cure for which there is no known disease. Don't ever get me started...the whole topic just pisses me off WAY too much and life is just too short.
(Score: 2) by forsythe on Wednesday March 19 2014, @12:45AM
I must agree. Assuming that Systemd's target userbase is enterprise, however, raises the question of why Systemd is pushing for adoption among user-focused distros (Arch, Debian, etc). Debian doesn't ship SELinux by default, why do they ship Systemd by default? I can see RHEL doing so, but why Debian?
I should also bring up the following to commentaries on Systemd:
http://ewontfix.com/14/ [ewontfix.com]
http://ewontfix.com/15/ [ewontfix.com]
They are mostly technical, but the author raises the point that, based on the technical design of Systemd, it's attempting to be an octopus that handles everything and is required by everything: the only real way for an application to get a certain type of behavior out of Systemd (that it probably wants) is to use Systemd's API, which ties the entire daemon to Systemd, rather than an init-system-agnostic daemon with a specific 20-line shell script wrapper.
That pervasiveness doesn't fit with a profile of Systemd as a niche product.
(Score: 2, Informative) by Anonymous Coward on Tuesday March 18 2014, @10:48PM
Merciful Christ... systemd is the brainchild of the same person who foisted pulseaudio onto us.
Why is anyone taking this person seriously?
Why does anyone believe allowing the author of pulseaudio to write a replacement for the init system is a good idea?
When the fecal matter impacts the air mover, will we finally be free of this idiot's influence?
(Score: 2, Interesting) by Subsentient on Tuesday March 18 2014, @10:55PM
You could always, hemm, use the init system written by the chivalrous commander of the undead gerbil horde: http://universe2.us/epoch.html [universe2.us]
"It is no measure of health to be well adjusted to a profoundly sick society." -Jiddu Krishnamurti
(Score: 1) by cesarb on Wednesday March 19 2014, @12:57AM
> Why is anyone taking this person seriously?
We read his original announcements for systemd. He provided many explanations for its design, and they make sense.
Also, it's not only him. It has contributions from several people.
There might be valid reasons to dislike systemd, but "I don't like its creator" isn't one of them.
(Score: 2, Interesting) by epitaxial on Wednesday March 19 2014, @01:37AM
What was wrong with rc.d? This is a solution to a problem that never existed. I don't recall any commercial UNIX or BSD having problems with dependencies and sequencing.
(Score: 2, Insightful) by KabukiWookie on Wednesday March 19 2014, @02:26AM
Can't agree more with this. Unlike desktops/notebooks where boot times may be a factor (although I don't really care if my notebook starts up in 2 seconds or in 5), adding additional complexity to something that has already been working fine for several decades seems not a such a good idea imho and more a change for the sake of change.
Using systemd feels to me like losing control over your start up sequence and handing everything over to a binary black box blob.
It would be good if a distro *does* want to introduce systemd or upstart that it's possible to make a choice between the three mechanisms during installation of a distribution. That way one can have control on their servers, while having a reduced boot time on a desktop/notebook. Linux is all about having choice right?
(Score: 4, Interesting) by caseih on Wednesday March 19 2014, @03:05AM
Have either of you ever tried writing a fully compliant init script for a custom daemon? Scripts tend to run hundreds of lines of code, and lots of reinventing the wheel. Checking for running processes, PID files, lock files, etc. It's a real nightmare I assure you. And if your daemon (running not as root of course) is not completely bug free and crashes occasionally, you have to hack a watch script to keep the thing running. Or use a non-standard super daemon like supervisord (very good), or inetd or xinetd. From a developer's point of view it's messy and not very sustainable. And slow of course. But like you I don't care about boot times.
With systemd I can get my daemon running with about 5 lines of ini code. Process supervision, restart control (no need to check for existing running processes). Just works. Yes it is a bit more opaque, but not overly so. The behavior of systemd is well defined. And you can read the source code to systemd if you want. And systemd is modular, so it's not like tons of things are running as process 1. As much as possible runs as other user processes. And the idea of using sockets as a means of synchronization is, well, genius. Totally simplifies things, only adds a couple of tiny calls to a static library to a daemon to take advantage, and does not tie the daemon solely to systemd (modified daemons work fine on older init systems, falling back to normal socket operations), and no data is lost as daemons come up since the data gets buffered in the sockets and blocks until processed. Also systemd is 100% compatible with system v init scripts still, if you insist on using them. I have a debian system right now that's partly systemd, partly system V.
I'll get modded down for this I'm sure, since soylent new's groupthink seems to be anti-systemd already. It's popular to hate on things. And I used to have concerns about systemd. But now that I've actually used it, and become familiar with it, I can see the benefits.
(Score: 2, Interesting) by Subsentient on Wednesday March 19 2014, @05:04AM
Oh man, this is upsetting. Now, I am taking this opportunity to advertise a little, but with Epoch [universe2.us], pretty much everything you mentioned is supported, and there are no dependencies outside of Linux and uclibc/dietlibc/glibc.
Reading the source? There are some *cough* ugly parts in Epoch, but you won't find more readable init system source code [github.com] anywhere I assure you.
I spent months of my life writing this thing just to keep from using systemd in a homebrew distro. SysD's issue is not it's features or implementation, it's the opaque-ness of the whole thing, not to mention the creator's admission of being bent on world domination with systemd.
"It is no measure of health to be well adjusted to a profoundly sick society." -Jiddu Krishnamurti
(Score: 1, Interesting) by Anonymous Coward on Wednesday March 19 2014, @09:42AM
Linux kernel as a dependency? Sorry, you lost me there. An init system shouldn't need anything outside of what a standard *nix system provides.
The unix wars were lost by everybody involved. We won, not Sun or IBM or HP or any of the others who wanted to be different. Standards won.
Take a look at http://ewontfix.com/14/ [ewontfix.com] - the section "So how should init be done right".
Your implementation is closer to system than it is to this.
(Score: 2, Interesting) by caseih on Wednesday March 19 2014, @03:38PM
I find your criticisms of Epoch a bit strange, honestly. I don't see how Epoch does not follow the section, "So how should init be done right." Have you downloaded Epoch and looked at the source code before making this criticism?
The blog post you link to is done by a smart fellow, but it doesn't appear he's actually worked very much with systemd as every criticism is inaccurate, or at the very least an unsubstantiated opinion. For example, his assertion that systemd more then "doubles the attack surface" of a hardened computer is pretty silly. In fact I'm not even sure what he's getting at there.
Unlike the Epoch author, I have no dog in the race. I just get tired of inaccurate criticisms of systemd by folks who've never even worked with systemd, or have any real knowledge of how it works. Having built an init system, the author of Epoch does have grounds to analyze and criticize systemd.
(Score: 1) by bookreader on Wednesday March 19 2014, @05:26AM
This was quite informative, thanks for sharing.
(Score: 1) by welshmnt on Wednesday March 19 2014, @08:13AM
Too early for rational thought, but this is what goes on in my head every time systemd is mentioned. When I can't "cat" my log files I'm leaving....
Not even the option to modularise functionality?
And auto restarts help hide poor quality code.
Also, pulse audio is dire. I'm not really into personality (don't know the guys name), but my heart sank when I heard the same architect was going to construct this next hulking edifice.
Anybody know for a "simple", useful, hobbyists OS?
(Score: 1) by cubancigar11 on Wednesday March 19 2014, @09:38AM
Gentoo still comes with old rc files, though I don't know how much it represents a hobbyist's OS.
(Score: 1) by epitaxial on Wednesday March 19 2014, @05:46PM
NetBSD should fit your requirements for a hobbyist OS nicely. Small install footprint and you only add the things you need from the ports tree. I had it running for close to a decade on an old Alpha box.