|
|
Subscribe / Log in / New account

The "Devuan" Debian fork

A group of developers has announced the existence of a fork of the Debian distribution called "Devuan." "First mid-term goal is to produce a reliable and minimalist base distribution that stays away from the homogenization and lock-in promoted by systemd. This distribution should be ready about the time Debian Jessie is ready and will constitute a seamless alternative to its dist-upgrade. As of today, the only ones resisting are the Slackware and Gentoo distributions, but we need to provide a solid ground also for apt-get based distributions. All project on the downstream side of Debian that are concerned by the systemd avalanche are welcome to keep an eye on our initiative and evaluate it as an alternative base."

to post comments

The "Devuan" Debian fork

Posted Nov 29, 2014 1:45 UTC (Sat) by HowTheMightyHaveFallen (guest, #100025) [Link] (45 responses)

Jonathan Corbet has been for many years a widely respected website administrator, a staunch defender of free speech and a skilled software engineer and computer scientist promoting the good cause of spreading information.

But today, we are sorry to have to announce, Mr. Corbet has joined the dark side of the Force.

He has turned into an evil fiendish archvillain, an unstoppable annihilator of free speech, unrepentant censor of novel knowledge and unflagging eradicator of spontaneous expression.

With reckless abandon, he now takes pleasure in deleting comments he doesn't agree with, silencing opponents, and denying pernicious truths.

Free speech is no longer possible on LWN and its decline, already started, is bound to accelerate, inevitably leading to total oblivion.

The "Devuan" Debian fork

Posted Nov 29, 2014 1:57 UTC (Sat) by mgb (guest, #3226) [Link] (36 responses)

Can you provide any proof that a LWN comment has been deleted?

The "Devuan" Debian fork

Posted Nov 29, 2014 2:15 UTC (Sat) by corbet (editor, #1) [Link] (34 responses)

Two times in the entire history of the site I have had to delete comments from persistent trolls; this is the second such. Yes, that has happened, and, yes, I will continue to do it rather than let the site be totally dragged into the dirt.

The "Devuan" Debian fork

Posted Nov 29, 2014 2:17 UTC (Sat) by josh (subscriber, #17465) [Link] (28 responses)

Out of curiosity, what was the prevailing controversy the previous time?

Previous time

Posted Nov 29, 2014 2:35 UTC (Sat) by corbet (editor, #1) [Link] (27 responses)

Ubuntu and such. See here for an example before I felt I had to react.

Just to fill in more information; this time I've probably zapped about a half dozen comments from an equal number of sock-puppet accounts. It is something I detest doing; I do not want to be patrolling what people are saying. So I get a lot of complaints about the toxic nature of the comments on the site. In this case, it's clearly just somebody trying to stir the anthill; probably the same person who has been posting messages on linux-kernel and elsewhere.

Not having fun.

Previous time

Posted Nov 29, 2014 2:49 UTC (Sat) by cesarb (subscriber, #6266) [Link] (8 responses)

As someone who volunteered as a Wikipedia admin for a while (my account still has the admin flag, but I'd have to catch up on any policy changes before doing Wikipedia admin work again), I feel your pain. On Wikipedia, we have many admins helped by several layers of automation (it's common for one of our bots to get there before us); here, you have to do it alone.

To everyone: let's fight the trolls by having reasonable, polite discussion. That's precisely what they do not want. They want to drag us down to their level; every time they try, let's drag the discussion to an even higher level of quality.

Previous time

Posted Nov 29, 2014 15:14 UTC (Sat) by compte (guest, #60316) [Link]

Wikipedia is a place where politicians place their propaganda. I tried to warn the person responsible for O. bin L.'s autobiography that he had already died before (see video on youtube where Benazir Bhutto said in Dec. 2007 that he had been killed in terrorist attack), but he kept a lid on me. Either he was a politician or afraid to lose his job.

I don't use Debian or it's derivatives because in the past I had difficulty in doing a custom cloning of an Ubuntu DVD, but I am curious to see what the others are doing.

Previous time

Posted Nov 29, 2014 19:51 UTC (Sat) by Wol (subscriber, #4433) [Link] (3 responses)

Another nice feature you could add for subscribers ...

!Invite! subscribers of the top rank to be troll-watchers. They then get the ability to rank posts on a troll-ranking of 1 to 5. (By default, posts are ranked 0.)

Not quite sure how to actually do the next bit, but basically you take the number of posts a member has, and work out the average troll-ranking of those posts. With a bit of jiggery-pokery, this will give the troll-ranking of the member.

Allow everybody to block trolls of the 4th or 5th rank, and subscribers can block trolls of any rank. Maybe "professional hacker" and above can also see the troll ranking of posters/posts.

So the result would be a bit like the "British Board of Film Censors". You're happy in that the only people who can "mod" posts up or down are people *you* have chosen. They then assign a ranking to posts and posters. And finally it's up to your (paid) readership to decide whether or not they want to take advantage of that ranking.

(And of course, if when you're reading it always displays the troll-ranking of all posts and posters, you can see instantly how well the system is working, and tweak it as required. Maybe adjust the jiggery-pokery, or add or remove troll-watchers).

Myabe ask PJ for some tips :-) I know Groklaw needed a LOT of moderation, but then they had paid troll armies attacking :-(

Cheers,
Wol

Previous time

Posted Nov 30, 2014 2:49 UTC (Sun) by b7j0c (guest, #27559) [Link] (2 responses)

no thank you. i don't want lwn turning into reddit. inevitably, one of these "mods" will inevitably start downgrading comments they merely disagree with. please don't say it won't happen, because everywhere i go where this power is bequeathed to a select few, it inevitably turns into a process of squelching dissent

Previous time

Posted Dec 2, 2014 11:25 UTC (Tue) by nix (subscriber, #2304) [Link] (1 responses)

It's not invariably true, but you need a *very* strong sense of community, almost of family, before it won't. The mods need to feel like they're betraying friends, because they are.

LWN doesn't have a sense of community that strong (and I can't imagine it ever growing one). Not even the TeX community is that strong.

Previous time

Posted Dec 2, 2014 18:31 UTC (Tue) by Wol (subscriber, #4433) [Link]

But if they're a hand-picked bunch of people Jon feels he can trust ...

Groklaw succeeded in doing that, because PJ ran a tight ship. I think lwn could achieve the same.

Cheers,
Wol

Previous time

Posted Nov 30, 2014 8:46 UTC (Sun) by marcH (subscriber, #57642) [Link] (2 responses)

> To everyone: let's fight the trolls by having reasonable, polite discussion. That's precisely what they do not want. They want to drag us down to their level; every time they try, let's drag the discussion to an even higher level of quality.

No, reasonable discussion is off the mark. The only thing trolls don't want and the only think that works is silence. Otherwise they rebound on anything; high or low. Unfortunately not answering is extremely hard to achieve collectively because trolls are too good of an excuse to express ourselves http://xkcd.com/386/

[By the way the original troll at the top had zero signal but was relatively fun. For the many replies that followed (including this one) the average signal was not much higher and the fun factor zero]

Previous time

Posted Nov 30, 2014 11:45 UTC (Sun) by cesarb (subscriber, #6266) [Link] (1 responses)

> [By the way the original troll at the top had zero signal but was relatively fun. For the many replies that followed (including this one) the average signal was not much higher and the fun factor zero]

Oh, no, the troll at the top had some signal: he mentioned that comments had been deleted, something which is extremely rare here on LWN. That should be worth a few bits of Shannon information.

It's the deleted comments which had zero signal, or at least the one I saw before it was deleted. It was so bad that my first reaction was to look for a "report" button, and once I remembered where I was to think "it's a pity that corbet doesn't delete comments here".

Previous time

Posted Nov 30, 2014 13:01 UTC (Sun) by tzafrir (subscriber, #11501) [Link]

A certain forum that I'm a member of had, at some point, too many discussions about deleted messages. Thus a rule was set: you only discuss deletion of comments in one specific "Policy" discussion.

Previous time

Posted Nov 29, 2014 2:50 UTC (Sat) by corbet (editor, #1) [Link]

One more followup...here is an example of the work of the person in question. We kept the comments but set the "troll" bit on the account (telling the user to talk to us if they want to be able to post comments again) and on several others as well before resorting to deletion.

Previous time

Posted Nov 29, 2014 10:52 UTC (Sat) by hadess (subscriber, #24252) [Link]

I believe this is the same person that sent insults and told Rui Matos and myself that we were racists when we were working on ibus integration in GNOME. That's at least one avenue that he won't be using.

Previous time

Posted Nov 29, 2014 11:10 UTC (Sat) by copsewood (subscriber, #199) [Link]

I painfully discovered the limits to "free speech" on the net as an email listowner at around the time the www was emerging. The principle of garbage in garbage out still holds. Every permanent comment store is on a disk which belongs to someone and costs something to host even if only nanopennies and the person who pays doesn't want to pay for garbage. So greatly appreciating the quality of comments made and retained on the LWN site. Occasional deletion has to be a fact of life, or you end up the not so proud maintainer of a spam bucket.

Free speech is fine, but no-one is obliged to host someone else's mind filth and editing is what subscribers pay editors to do.

Previous time

Posted Nov 29, 2014 13:56 UTC (Sat) by flammon (guest, #807) [Link] (13 responses)

I would prefer a crowd-sourced flagging system ala /. Deletion ends the conversation which defeats the purpose. I look at these 'bad' comments as a nice opportunity to present good arguments. It would be nice to see a feature that would let us show how much we agree with the arguments presented.

Previous time

Posted Nov 29, 2014 14:27 UTC (Sat) by danieldk (subscriber, #27876) [Link] (12 responses)

It seems that the most flame-igniting personalities here are guests. I think the number of flamewars on LWN would be reduced if comment posting was limited to subscribers:

* It makes it expensive to create sock puppet accounts.
* I assume that trollers are active on many sites, LWN is probably just another site for them, and they'll probably stop bothering LWN if they have to pay.
* People are probably less willing to troll, given that some information is on file (what comes with payment).

Of course, the downside would be that this would exclude constructive commenters who have guest accounts.

I am not to sure about voting. Too often I see people downvoting comments on e.g. HackerNews because they disagree.

Previous time

Posted Nov 29, 2014 14:39 UTC (Sat) by jwakely (subscriber, #60262) [Link] (7 responses)

I'm trying out the "all guest accounts" option on the comment filtering.

Previous time

Posted Nov 29, 2014 14:44 UTC (Sat) by danieldk (subscriber, #27876) [Link] (1 responses)

Thanks for pointing out this option! I guess that I'll join the experiment ;).

Previous time

Posted Nov 29, 2014 16:01 UTC (Sat) by flammon (guest, #807) [Link]

Ironically you discovered this feature while participating in a thread started by a guest.

Previous time

Posted Nov 29, 2014 16:41 UTC (Sat) by ezuck (subscriber, #59641) [Link] (4 responses)

Unfortunately, that seems to be throwing the baby out with the bathwater. I find that many, many guest account comments have insightful, cogent, and useful information.

Previous time

Posted Nov 29, 2014 18:09 UTC (Sat) by halla (subscriber, #14185) [Link] (1 responses)

True, but one can usually recognize the dependable nicks and then expand those sub-threads.

Previous time

Posted Nov 29, 2014 18:13 UTC (Sat) by jwakely (subscriber, #60262) [Link]

I tend to expand most filtered comments anyway, but I don't read them as carefully. The fact they are collapsed is a good warning that what I'm about to read might be annoying, and because I've been warned I'm prepared to just skip them or tell myself not to feed the trolls.

Previous time

Posted Nov 29, 2014 22:31 UTC (Sat) by cesarb (subscriber, #6266) [Link]

And I just noticed (scroll down a few pages):

> mezcalero (guest, #45103)

For those who don't know, that's Lennart Poettering himself. Posting as a guest.

His comments of late in these threads have been on the insightful side; he seems to be simply ignoring the controversies and commenting only when he has some interesting technical detail to add.

Previous time

Posted Nov 29, 2014 23:57 UTC (Sat) by jospoortvliet (guest, #33164) [Link]

Maybe put something annoying in the way of guests like limiting length or number of comments per day... Just thinking put loud.

Previous time

Posted Nov 29, 2014 15:06 UTC (Sat) by cesarb (subscriber, #6266) [Link]

The problem is that a guest account is a stepping stone towards a full subscribed account.

Take my example: for a long time, before I even had a credit card, I used a guest account here. Once, a friend bought me a subscription as a gift, but later it expired. When I finally decided to get a credit card, my first transaction with it was to subscribe here again, and I've been renewing the subscription every year since then.

Previous time

Posted Nov 29, 2014 23:12 UTC (Sat) by misc (subscriber, #73730) [Link] (2 responses)

What about adding a period of 2 to 3 days when someone open a account where the person cannot post a comment ?

This would greatly reduce the risk of sock puppet accounts being used to "flood".

Previous time

Posted Nov 29, 2014 23:34 UTC (Sat) by cesarb (subscriber, #6266) [Link] (1 responses)

> What about adding a period of 2 to 3 days when someone open a account where the person cannot post a comment?

Wikipedia has it: it's the autoconfirmed status (https://en.wikipedia.org/wiki/Wikipedia:Autoconfirmed). By itself, it's not enough; it's trivial to create sockpuppet accounts in advance. Wikipedia has several more advanced tricks to fight sockpuppets; autoconfirmed is aimed at preventing "drive-by" vandalism, which unfortunately is not the case we're facing here.

Also, on Wikipedia there are lots of things that non-autoconfirmed users can do immediately after creating their account. The restrictions on them are only for the most disruptive actions (page moves, which can be a pain to undo; editing "semi-protected" pages, where "semi-protection" means "editable only by autoconfirmed users"; and uploading images, since vandals love to post human anatomy pictures in inappropriate places). You are suggesting preventing new users from posting for a double-digit number of hours. That's enough for a new user who created an account because he believed he had something insightful to say to give up on the site.

Vandal-fighting is a balancing act; your suggestion goes too far in the "strict" direction.

Previous time

Posted Nov 29, 2014 23:43 UTC (Sat) by josh (subscriber, #17465) [Link]

Semi-protection seems plausible, especially since it could be applied specifically to articles on topics particularly prone to trolling.

The downside of semi-protection with a delay on posting by new accounts: once a sockpuppeteer knows that it's in use, they can simply register a raft of accounts and save them for after the delay. So it works against casual trolls, but not against the more dedicated.

It works best in conjunction with a mechanism to detect and ban sockpuppets (and in particular, with correlation of accounts by IP).

In any case, this seems like overkill while we're primarily talking about a small handful of trolls; LWN does not operate at the scale of Wikipedia.

Previous time

Posted Nov 29, 2014 15:24 UTC (Sat) by gwolf (subscriber, #14632) [Link]

Jonathan, thanks to the wonderful work you do here in LWN (both as a writer and a forum manager) you are one of my personal heroes — Not to mention a permanent presence in my classes). Thanks a lot for your work in all roles.

The "Devuan" Debian fork

Posted Nov 29, 2014 6:07 UTC (Sat) by rodgerd (guest, #58896) [Link]

Thank you.

Good editors censor out the cr*p

Posted Nov 29, 2014 14:27 UTC (Sat) by sdalley (subscriber, #18550) [Link] (1 responses)

Applaud your stance. I have complete confidence in your editorial choices, it's a big part of what makes LWN a great site to subscribe to. If you set the troll flag on someone, I know it's more than justified.

It's the people whose speech is the most poisonous who generally squeal the loudest about "free speech". Such speech as theirs is not value-add, it's value-destroy for LWN, and the less we have of it, the better.

Good editors censor out the cr*p

Posted Dec 2, 2014 11:33 UTC (Tue) by nix (subscriber, #2304) [Link]

Agreed. Jon is one of the community's shining lights.

Thanks

Posted Nov 29, 2014 14:45 UTC (Sat) by CChittleborough (subscriber, #60775) [Link]

What does it tell us when Jonathan Corbet deletes a comment from LWN?

It does not tell us anything about him or LWN, because they have earned a very high regard from us.

It does tell us everything we need to know about the comment and the commenter.

Thanks for deleting the trolling, Mr Corbet.

The "Devuan" Debian fork

Posted Nov 30, 2014 12:20 UTC (Sun) by mgedmin (subscriber, #34497) [Link]

Thank you.

The "Devuan" Debian fork

Posted Nov 29, 2014 2:35 UTC (Sat) by cesarb (subscriber, #6266) [Link]

I actually saw it before it got deleted.

I can't recall the exact words, but it was a completely content-free comment from a new user. It was a transparent attempt to fan the flames. We lost nothing with its deletion; there was no signal, only noise.

The account used to post it was probably a throwaway account; the user name was just "yyy", and I recall that the user id was just a few numbers above #100000. The comment complaining about the deletion was posted by user #100025; it does not take too many detective skills to conclude it's the same person, creating another throwaway to try to rescue his trolling attempt.

The "Devuan" Debian fork

Posted Nov 29, 2014 4:32 UTC (Sat) by ovitters (guest, #27950) [Link]

I highly applaud not tolerating trolls. An "anything goes" mentality is Phoronix; it takes huge amount of effort to tone things down and that's usually just temporary.

All hail Jon Corbet

Posted Nov 29, 2014 7:47 UTC (Sat) by ncm (guest, #165) [Link]

Thank you, Jon all your hard work and dedication. We would all be poorer without you.

I wonder, though. Maybe just an automated "ignore this", as we already have for posters we have manually chosen to ignore? Thus far I have only felt a need to mark two accounts as "better left unread", which would be an astonishingly good record for any site. (One of the two is just inane and prolix, not even deliberately offensive.)

[This sincerity thing is exhausting. I feel like when I last voted!]

The "Devuan" Debian fork

Posted Nov 29, 2014 16:48 UTC (Sat) by flussence (guest, #85566) [Link] (1 responses)

Congratulations, you've managed to singlehandedly unite both sides of the systemd debate in sharing an opinion. This one: https://xkcd.com/1357/

That "deleted from LWN" will be great for padding out your resume, right underneath "punchline to a comic". Try doing it on Slashdot next, don't come back until you've succeeded.

The "Devuan" Debian fork

Posted Nov 30, 2014 8:46 UTC (Sun) by linuxrocks123 (guest, #34648) [Link]

That XKCD comic by itself is perfectly fine. However, it should be noted that, due to the timing, it was clearly in response to the Brendan Eich controversy, and in that sense was a straw man: just because it doesn't involve the first amendment doesn't mean it's at all appropriate or desirable to have segments of society performing vendettas against people for having participated in the political process in a way they don't like. This comic is literally the only XKCD comic I actually found annoying.

In order to prevent rehashing a debate which is now moot, let's just say reasonable people can disagree about the appropriateness of what happened with Brendan Eich. I may not actually believe that. But let's say it anyway.

The "Devuan" Debian fork

Posted Nov 30, 2014 3:45 UTC (Sun) by eyal (subscriber, #949) [Link] (1 responses)

Dear "HowTheMightyHaveFallen" -

Comments like yours degrade the level of discussion. I fully support Jon's decision to delete your comment and hope he will keep doing so until you and your likes find a suitable place.

LWN isn't a street corner or town square which (in theory at least) are places that should allow anyone to express anything. LWN is a private news site, and it's run by the wishes and rules of its owners.

Like it? Subscribe, or visit as a guest while following the rules.
Don't like it? go somewhere else.

I subscribe to LWN because it provides me with valuable information, and usually the comments provide further information and insight. I trust and expect the owner/manager of LWN to use whatever means to keep it that way, including deleting unproductive comments.

On a side note, I find LWN to be the most un-biased news source, of any kind, as well as having the most liberal policy for comments.

You're wasting your time and ours here.
Go away.

EZ

The "Devuan" Debian fork

Posted Dec 2, 2014 11:37 UTC (Tue) by nix (subscriber, #2304) [Link]

Agreed.

I'm also impressed by the efficiency of the deletion: it vanished before my RSS feed reader refreshed, so it must have been up for only a few minutes.

The "Devuan" Debian fork

Posted Dec 2, 2014 11:22 UTC (Tue) by nix (subscriber, #2304) [Link] (1 responses)

He has turned into an evil fiendish archvillain
I'm going to have to get some buttons printed with 'Evil Fiendish Archvillain' printed on them now, just so I can send one to Jon. :)
unrepentant censor of novel knowledge
Anti-systemd trolling is 'novel'? What universe have you been living in, oh troll? It's unbelievably tiresome, and you know it is.

The "Devuan" Debian fork

Posted Dec 4, 2014 23:55 UTC (Thu) by a9db0 (subscriber, #2181) [Link]

I want one of those buttons. Hopefully with a graphic of Jon on it. I'd gladly pay for it - it would be a great fund raiser for LWN.

In the meantime Jon, thank you and keep up the good work. I'm perfectly comfortable trusting your judgement, given how infrequently you've had to exercise it.

The "Devuan" Debian fork

Posted Nov 29, 2014 2:05 UTC (Sat) by cesarb (subscriber, #6266) [Link] (3 responses)

The message mentions two "anonymous developers".

The discussion on HN (https://news.ycombinator.com/item?id=8672548) has a link to a discussion on Reddit (https://www.reddit.com/r/linux/comments/2nm2u9/theyre_goi...), where in turn a commenter guesses they are 'Franco "nextime" Lanza and Denis "jaromil" Roio' (https://www.reddit.com/r/linux/comments/2nm2u9/theyre_goi...).

My first thought on seeing this announcement was "can't tell if real or performance art". It seems other commenters on the Reddit thread had similar misgivings.

The "Devuan" Debian fork

Posted Nov 29, 2014 11:50 UTC (Sat) by Thue (guest, #14277) [Link]

> The message mentions two "anonymous developers".

The message says

> We have his endorsement and that of other 2 anonymous DDs

Endorsement does not mean that they will actively help, just that they will cheer from the sidelines. If the DDs had promised to actively help, then surely the announcement would have used a stronger term than "endorse".

Also, nextime isn't a Debian developer. So nextime and jaromil probably aren't the two endorsing DDs referenced.

The "Devuan" Debian fork

Posted Nov 29, 2014 11:59 UTC (Sat) by misc (subscriber, #73730) [Link] (1 responses)

According to discussion on the #debianfork channel ( where a lot of people hang just to eat popcorns, according to the fact most read and not speak, and those that speak try to actually discuss to understand, even if they are well known debian developers ), there is around 1000 VUAs, with 50 being active :

2014-11-28 10:46:16 +nextime> for the sake of trasparence, the vua group is ~ 1000 people, but only ~ 50 of them are debian users that are organizing the fork, and only few of them are working on it since few days, other are coming and have yet to start doing thing

Alas, there is no public logs for the chan, or people would see the high level of crap going on.

Not all people are like this of course, and I applaud the silent group trying to do what they want.

And I would especially applaud jaromil, who has at least the courage and the good sense of using his real name. And he is also trying to cool down things a lot. He is maybe not technical enough to have a opinion I would trust more than mine for technical issues, but he at least know his way for non technical stuff ( like making sure paypal/stripe are not doing something funky, which is a trap that everybody fall into as we found with Mageia and others NGO ). And he is not afraid of trying stuff, so he is at least refreshing from the rest of the crowd usually complaining.

While I am all for being anonymous when it come to avoid abuse, the simple fact that people think they would be abused because they develop a Linux distribution show how some people there are wired.

The "Devuan" Debian fork

Posted Dec 2, 2014 12:10 UTC (Tue) by hunger (subscriber, #36242) [Link]

Unfortunately I would not be surprised if they were right to fear being abused for their work. People on both sides of the fence have reported severe abuse and some even stopped contributing for that very reason.

So I do understand why some people want to stay under the radar, even though I find it seriously depressing that this seems to be necessary.

The "Devuan" Debian fork

Posted Nov 29, 2014 2:07 UTC (Sat) by josh (subscriber, #17465) [Link]

On the one hand, this seems wildly misguided; the Debian distribution for people who don't want to run systemd is still just Debian, and that'll remain the case through at least jessie, and for as long as people continue putting effort into keeping it working. So it's sad that the effort going into this fork doesn't instead go into maintaining the necessary infrastructure in Debian. I'm sure the maintainers of systemd-shim and cgmanager would welcome additional contributors.

On the other hand, perhaps this will provide a more useful outlet for the set of people who keep claiming they'd use a fork if available, so that they can actually go use one and stop griping on Debian mailing lists.

Nope, sorry, couldn't keep a straight face while saying that.

The "Devuan" Debian fork

Posted Nov 29, 2014 2:55 UTC (Sat) by dowdle (subscriber, #659) [Link] (14 responses)

I hope this is for real and I wish it well... not because I'm interested in it myself but I'd like those who have issues with systemd in Debian to have a place to go. Getting back to Jon Corbet's article from a while ago on how to survive the controversy... and if systemd ends up being a mistake, it won't be an irreversible one... having a community continuing down the non-systemd path isn't a bad idea. It is also possible they might want to join in the systemd action further down the road.

While it would be nice if everyone could get together and work in one direction, that is never the case, is it? Anyway, with the pending creation of Devuan hopefully it will start being possible for more getting along and less sniping, right?

The "Devuan" Debian fork

Posted Nov 29, 2014 3:30 UTC (Sat) by cesarb (subscriber, #6266) [Link] (13 responses)

I'm trying to, but I can't see a niche for this fork.

The users who don't want to use systemd can simply use Debian with the sysvinit package.

The trolls will prefer to go after Debian, since it's a larger target.

That leaves only the users who are concerned with upstream packages starting to depend on systemd-only features. There are three cases. In the first case, the upstream doesn't care but accepts a patch to make it work without systemd; in this case, Debian will also have the patch. In the second case, the patch is small and simple; the Debian packager will probably add it to its package.

That leaves only a corner case, where the user believes that in the future a package the user considers important enough will depend on a systemd-only feature, that someone will write a patch to avoid that dependency, that said patch won't be accepted by the upstream, and that said patch will be complex enough or will diverge so much from the upstream that the Debian packager won't accept it. I don't think that this corner case is large enough enough to carve a niche for this fork.

The "Devuan" Debian fork

Posted Nov 29, 2014 3:46 UTC (Sat) by mpr22 (subscriber, #60784) [Link] (12 responses)

There's a certain set of Debian users who not only want to continue using sysvinit (or some other thing that is not systemd) as their init daemon, but also want to completely exclude the systemd suite from their systems; this is not possible using the stock binary packages of Debian jessie, because at least one Essential package in jessie is linked against libsystemd.

The "Devuan" Debian fork

Posted Nov 29, 2014 3:51 UTC (Sat) by rahulsundaram (subscriber, #21946) [Link] (1 responses)

libsystemd doesn't require pid 1 to be systemd however. Is this really worth a fork?

The "Devuan" Debian fork

Posted Nov 29, 2014 3:54 UTC (Sat) by mpr22 (subscriber, #60784) [Link]

Some people think it is. (I'm not one of them.)

The "Devuan" Debian fork

Posted Nov 29, 2014 7:23 UTC (Sat) by vanicat (guest, #14776) [Link]

It is worth noting that package that depend on libsystemd but not on systemd as pid 1 will probably not use the library at run time. It's there only to allow the binary to be loaded and the program to look for systemd and do something if, and only if, systemd is pid 1. I don't believe this is worth a fork.

So please, if you don't like systemd, help us (Debian) to make a better OS by providing us test and code to let system that don't run systemd run well, but don't split the community.

The "Devuan" Debian fork

Posted Nov 30, 2014 12:03 UTC (Sun) by krake (guest, #55996) [Link] (4 responses)

I always wondered why the "tight coupling with init" issue has not simply been solved by providing two systemd "start"packages: a systemd-init package that makes systemd the init and a system-notinit package that installs a start script for other inits.

The systemd package would depend on these as alternatives. People with any other init would install the second package, thus keep their init as-is but still solve all dependencies higher up.

But of course, if as you say the goal is to not run systemd at all, then this would not help.
However, why then phrase the discussion in terms of init when this is not actually the contended issue?

The "Devuan" Debian fork

Posted Nov 30, 2014 14:59 UTC (Sun) by amonnet (guest, #54852) [Link] (1 responses)

You are so true that's precisely what has been implemented in debian : meta package init (essential) depend on systemd-sysv | sysvinit-core | upstart

You are also true that's not enough for some.

The "Devuan" Debian fork

Posted Dec 2, 2014 17:52 UTC (Tue) by krake (guest, #55996) [Link]

Ah, interesting, thanks!

The "Devuan" Debian fork

Posted Nov 30, 2014 20:29 UTC (Sun) by dlang (guest, #313) [Link] (1 responses)

perhaps because a systemd-lite that only did the init work doesn't achieve the goals of the systemd team of taking over all the linux plumbing layer??

after all, what's uselessd other than systemd-lite?

It's a bit more than just packaging in that it disables some things that systemd has declared unavoidable (such as the journal and cgroups), but it does seem to be the equivalent of the systemd-lite that you are asking for.

The "Devuan" Debian fork

Posted Dec 2, 2014 17:51 UTC (Tue) by krake (guest, #55996) [Link]

> perhaps because a systemd-lite that only did the init work doesn't achieve the goals of the systemd team of taking over all the linux plumbing layer??

I am afraid I don't understand how this fits into the context of my question/puzzlement.

Having a package that runs systemd as a service fits the goal of having systemd providing the plumbing and the goal of using something else as init.

The alternative mechanism would allow people to go for a system which uses systemd for init and plumbing and other people for using anything else for init.

If I understood amonnet's posting above correctly, that actually exists.

Which just makes the "tight coupling" claim even more weird.

The "Devuan" Debian fork

Posted Dec 14, 2014 8:55 UTC (Sun) by ksandstr (guest, #60862) [Link] (3 responses)

Thank you for posting this comment. It describes the case exactly. I'd like to add a piece to the puzzle so far.

For some the reason for separating from Debian is that the previous iteration of Lennartware, i.e. Pulseaudio's injection between ALSA and userspace, was an unmitigated disaster that (in gentle terms) brought no increase in performance or functionality to systems that were well-configured with ALSA. Instead it changed e.g. the meaning of the mixer volume level as applied by most applications, breaking UI behind the application's back.

I waited out the pulseaudio storm to no decrease in functionality. The way I achieved this is with about five stanzas in an apt-prefs file that's still necessary to keep pulseaudio the hell out. This is because even years after Pöttering discontinued his involvement, PA continues to hang on to the model of being the only network-capable sound service in town. (In the case of PA's design it makes the other servers its clients, which brings out various implementation discrepancies in the way PA reimplemented the ALSA APIs.)

Then along came that same guy's "init system, device manager, login manager, cron, DNS resolver, console terminal emulator, package manager, kitchen sink, slopbucket, API breaker" project's adoption as dependency in the Debian Gnome packages. Since then it's been worming its way in piece by piece through dependencies in other programs; most recently bsdutils pulls in libsystemd0 which combines the freshly de-modularized group of libsystemd-{journal,daemon,login,...} program-level APIs. (who knows, maybe it looks smaller that way.)

Opinions of course vary and the technical minutes are too involved to quote here, but in my view there is no problem that systemd solves that isn't one of those introduced by the systemd design itself. Out of the possible reasons to have such an architecture in GNU/Linux, systemd doesn't meet utility, necessity, or even practical desirability.

The inclusion of systemd's libraries (and PAM modules, and root-privileged daemons, and...) isn't the problem by itself, of course: a library that implements its APIs in terms of local services that don't exist can't cause much trouble (unless root). Rather these libraries are an indication, a first warning of some program being about to become feature-dependent on an API from an architecture controlled by people who're on public record wrt their intent to e.g. break interfaces and make lock-step upgrades the norm. Having something like systemd-shim replacing Pöttering's systemd doesn't help here: for a well-defined architecture it matters relatively little who completed the implementation (or even how).

There are many people who'd like to sit out systemd as could be done with Pulseaudio. Personally I'd prefer to accomplish this by some means that isn't eternal vigilance towards my preferred distribution's packagers and politicians. Such things weren't needed in the time when Debian was a distribution of GNU/Linux first and one of Gnome only a distant second alongside every other userspace program.

Pinning against the entirety of systemd and packages that depend on it would result in many programs staying behind from a time between Wheezy and Jessie while others moved ahead. This tends to expose unstated dependencies between userspace programs which hadn't been reported by the legion of people upgrading regularly from `testing'. The mutually exclusive options for systemd doubters are therefore 0) adopt systemd and damn the icebergs, 1) pin against systemd and become a dinosaur, and 2) pool efforts, fork Debian, and move on.

Hence Devuan. (which, for the record, I'm not actively involved in.)

If things don't work out for it, there'll be others. Haters won't slow this puppy down.

The "Devuan" Debian fork

Posted Dec 14, 2014 17:27 UTC (Sun) by nix (subscriber, #2304) [Link]

Since then it's been worming its way in piece by piece through dependencies in other programs
Most of those other programs call a couple of functions to set up socket activation. That's all. These functions are stable and their interfaces do not change. This is not a high bar for reimplementation (indeed, they have been reimplemented). As signs of impending world domination by our lizard overlords go, this is not a particularly impressive one.

The "Devuan" Debian fork

Posted Dec 15, 2014 1:03 UTC (Mon) by mathstuf (subscriber, #69389) [Link]

> Pulseaudio's injection between ALSA and userspace, was an unmitigated disaster

Having used Fedora and not had many issues personally (across at least 8 machines of varying provenance), the *vast* majority of issues I've heard about are from Debian-land (particularly Ubuntu) which always made me assume improper packaging and deployment. I've found that disabling the flat-volume option makes things much better. I enjoy being able to mute my music streaming to play a video or something instead of having to kill it to get any audio from anything else.

> Pöttering

Not his name; it's Poettering.

The "Devuan" Debian fork

Posted Dec 15, 2014 20:28 UTC (Mon) by mathstuf (subscriber, #69389) [Link]

FWIW, it also seems that ALSA isn't really the epitome[1] of design[2] either.

[1]https://github.com/mpv-player/mpv/commit/ae5fd4a809bcba8e...
[2]https://github.com/mpv-player/mpv/commit/49df01323e59526d...

The "Devuan" Debian fork

Posted Nov 29, 2014 2:57 UTC (Sat) by hadrons123 (guest, #72126) [Link] (13 responses)

There must be countless debian derivatives or forks, why does this fork deserves the attention in LWN?

All I can see with my experience is that this fork would probably not even have finances to run their website, leave alone the development.

The "Devuan" Debian fork

Posted Nov 29, 2014 3:11 UTC (Sat) by mgb (guest, #3226) [Link] (9 responses)

> why does this fork deserves the attention in LWN?

Because vast numbers of professional Debian users don't want their highly successful server and embedded systems to be borked by a tiny FreeDesktop crowd?

The "Devuan" Debian fork

Posted Nov 29, 2014 3:29 UTC (Sat) by hadrons123 (guest, #72126) [Link] (4 responses)

You indirectly insinuate that using systemd on production servers leads to a borked system. Do you have any evidence for your claims?

The "Devuan" Debian fork

Posted Nov 29, 2014 3:43 UTC (Sat) by mgb (guest, #3226) [Link] (3 responses)

> Do you have any evidence for your claims?

You sound like you're asking for another systemd bug report or CVE. Sorry, I'm busy doing productive work but if you like systemd go ahead and use it. I'm not trying to stop you.

Software engineers and sysadmins have determined that in their professional judgment systemd is a bad idea - bad design and bad policy and bad politics and bad business. By an interesting variety of routes we are coding around the systemd roadblock.

The "Devuan" Debian fork

Posted Nov 29, 2014 4:16 UTC (Sat) by nickbp (guest, #63605) [Link]

Given how much time you spend posting these, I assume *this* is what you consider doing productive work?

The "Devuan" Debian fork

Posted Nov 29, 2014 9:23 UTC (Sat) by Xiol (guest, #87394) [Link] (1 responses)

Professional Linux sysadmin here - how dare you speak for me or my colleagues. I work with 20 other admins with anything from 2 to 15 years experience and we are all looking forward to seeing systemd deployed more. The features provided by systemd are very welcome and will make our jobs easier and more productive.

The "Devuan" Debian fork

Posted Nov 30, 2014 8:53 UTC (Sun) by linuxrocks123 (guest, #34648) [Link]

Keep it cool, man. He didn't say "all software engineers and sysadmins" believe as he does. I think we can safely asssume at least one other professional Linux user agrees with him :)

The "Devuan" Debian fork

Posted Nov 29, 2014 7:25 UTC (Sat) by vanicat (guest, #14776) [Link]

sytemd is optional in Debian. You don't have to install it. If you want Debian without systemd, you already have it. It's named Debian.

The "Devuan" Debian fork

Posted Nov 29, 2014 12:35 UTC (Sat) by HelloWorld (guest, #56129) [Link] (1 responses)

Yeah right, because professional users don't want systemd. Oh wait, they do:
https://lists.debian.org/debian-ctte/2014/01/msg00287.html

The "Devuan" Debian fork

Posted Nov 30, 2014 1:45 UTC (Sun) by dlang (guest, #313) [Link]

Nobody disputes that some people want systemd. Nobody is trying to prevent the people who want systemd from using it.

However, there are some people who don't want to use systemd, and they are asking for you to let them.

The "Devuan" Debian fork

Posted Nov 30, 2014 12:13 UTC (Sun) by krake (guest, #55996) [Link]

> ....by a tiny FreeDesktop crowd

There is no such thing as a FreeDesktop crowd.

FreeDesktop.org is a host to facilitate cooperation between developers of different projects.

It also provides project infrastructure in case hosting at one of the particpating projects is not an option.
Basically being a non-associated git hub.

The "Devuan" Debian fork

Posted Nov 29, 2014 3:26 UTC (Sat) by dowdle (subscriber, #659) [Link] (2 responses)

No... so far as I know there aren't any existing Debian "forks". There are tons of derivatives but they all use the common Debian-created package set... perhaps with a few dozen or more added/replaced packages. I would assume a "fork" would take the entire Debian package universe, forking every package in such a way it becomes independently maintained... otherwise it wouldn't be a fork.

A fork of Debian would indeed be news and something LWN should cover... just like they cover many distributions. As you may or may not recall, 3+ years ago Fuduntu forked Fedora and it was mainly over GNOME 3 and the move to systemd. That was a lot of work and they lasted about 2 years before their comparatively small development team burned out. Here's hoping Devuan can muster a large and diverse enough development team to not only get it off the ground but keep it going for some time to come. Why? While I'm definitely pro-systemd, it doesn't hurt to hedge ones bets just in case, right?

The "Devuan" Debian fork

Posted Nov 29, 2014 3:45 UTC (Sat) by rahulsundaram (subscriber, #21946) [Link] (1 responses)

>Why? While I'm definitely pro-systemd, it doesn't hurt to hedge ones bets just in case, right?

Yes but they are hedging their bets on sysvinit instead of something actively maintained which doesn't seem to be a good path forward to me. Afaik you can continue installing Debian without systemd anyway and if in the future some package grows a hard dependency on systemd and one is willing to fork it and write patches, one might just work within the existing project with a large community of contributors.

Win-win?

Posted Nov 29, 2014 14:33 UTC (Sat) by CChittleborough (subscriber, #60775) [Link]

If Devuan produces a viable distro, then the rest of us benefit from having that distro available.

If Devuan is not so successful, there will (probably) be some useful lessons we can learn from it.

In either case, those of us not involved in Devuan come out ahead. Only the people who work on (or donate to?) Devuan are risking anything. Good on them.

Gentoo Resisting?

Posted Nov 29, 2014 4:42 UTC (Sat) by rich0 (guest, #55509) [Link] (35 responses)

What's with the constant reference to Gentoo "resisting" systemd? Systemd is as supported as PID1 as any other init implementation on Gentoo, and the second-biggest Gentoo derivative is using systemd by default (the largest Gentoo derivative still uses upstart).

Gentoo is generally about providing choices and isn't as concerned with consistency (there is no requirement that daemons support any init implementation), so I'm sure sysvinit/openrc will be well-supported for a long time. Characterizing this as "resistance" isn't really fair. It is probably better to say that we embrace many competing technologies.

Gentoo Resisting?

Posted Nov 29, 2014 4:52 UTC (Sat) by dlang (guest, #313) [Link]

but systemd isn't the default and other init systems are supported for all packages, so Gentoo isn't jumping on the systemd bandwagon.

anything other than whole-hearted, unconditional acceptance must mean that you are evil/stupid/obsolete opponents of systemd.

If you look at it as a political campaign instead of technical decision, this viewpoint will make perfect sense.

and yes, this post is dripping sarcasm (but with an underlying kernel of truth)

Gentoo Resisting?

Posted Nov 29, 2014 16:00 UTC (Sat) by flussence (guest, #85566) [Link] (11 responses)

There's one part of Gentoo very much resisting: the users. Most of the forum-goers have united behind the same side of this fence. They've even had developers of alternate init systems show up in some of the threads. It's a civil and productive atmosphere compared to the systemd talk here, apart from the odd troll or two. Maybe that's because the opposing side is absent.

I can't speak for the state of the mailing lists however.

Gentoo Resisting?

Posted Nov 29, 2014 16:32 UTC (Sat) by Wol (subscriber, #4433) [Link] (6 responses)

Well, I'm a gentoo user, and the only reason I haven't switched to systemd is I don't want to bork my main system in the transition, and I don't get time to play with upgrading my dev system.

Cheers,
Wol

Gentoo Resisting?

Posted Nov 29, 2014 19:17 UTC (Sat) by iabervon (subscriber, #722) [Link] (5 responses)

Yeah, likewise. If I'm "resisting" using systemd in Gentoo, I've similarly resisted grub2 for the past 5 years. I expect I'll switch to systemd sometime before 2020, but who knows.

Gentoo Resisting?

Posted Nov 29, 2014 19:59 UTC (Sat) by Wol (subscriber, #4433) [Link] (4 responses)

Yup.

I've switched to grub2 (it's actually not that difficult!) but I had no choice. "legacy grub" doesn't like GPT, which is required for drives over 2TB, nor can it cope with raid afair.

Seeing as my main system now has two mirrored 3Tb drives, I didn't have much choice ... :-) (and when I can afford it, that will become 3 raid-5 drives).

Cheers,
Wol

Gentoo Resisting?

Posted Nov 30, 2014 1:59 UTC (Sun) by dlang (guest, #313) [Link] (1 responses)

does grub handle large numbers of drives yet? I've got one system with a 12 disk RAID drive and a couple other drives. Unfortunately, my boot disk shows up after the other drives (as sdn), and grub just cannot imagine that a drive that far out could be a boot drive and won't boot.

So I just stick with LILO

It's not fancy, but (as long as you keep in mind the need to not move your kernel image around), it gets the job done.

Gentoo Resisting?

Posted Nov 30, 2014 20:20 UTC (Sun) by iabervon (subscriber, #722) [Link]

I don't actually know too much about grub's code, but my guess would be that the limitation came from the size of a static array, and grub2 is much more dynamic and may well have eliminated that, so it's probably worth investigating, at least.

Necessity of GPT for drives over 2 TB

Posted Nov 30, 2014 13:04 UTC (Sun) by mgedmin (subscriber, #34497) [Link]

I've got a 4 TB drive here with an MBR partition table. I was also surprised to discover it didn't use GPT. I think it deals with the 2 TB limit by declaring a sector size of 4K, but I'm not entirely sure about all the details.

Also, I'm not trying to boot off this external USB 3 drive.

RAID boot with GRUB

Posted Nov 30, 2014 13:21 UTC (Sun) by mgedmin (subscriber, #34497) [Link]

As for RAID, legacy GRUB can boot from RAID1, iff you install it into the MBR (of both drives), but it actively resists installation into the boot sector of the RAID1 device. That's why one of my production servers still uses LILO...

Gentoo Resisting?

Posted Nov 29, 2014 23:49 UTC (Sat) by rich0 (guest, #55509) [Link] (3 responses)

Yeah, Gentoo is a bit bizarre as there is a forum community and a list community and the two seem to rarely interact. Virtually all of the devs hang out on the lists, but a lot of users prefer the forums.

There are plenty of systemd flames on the lists, but things have calmed down for the most part since right now everybody can have their cake and eat it too. There are no plans to migrate openrc users to some kind of systemd shim - they can stick with openrc, and those who want systemd have been able to use it for the better part of two years now.

Gentoo Resisting?

Posted Nov 30, 2014 2:03 UTC (Sun) by dlang (guest, #313) [Link]

that is the proper way to support systemd. I need to try Gentoo again (I was running it for a while, but hit a problem with my server at a time when there wasn't a good way to bootstrap Gentoo (something that worked prior to that and works again afterwords)

Gentoo Resisting?

Posted Dec 1, 2014 0:58 UTC (Mon) by foom (subscriber, #14868) [Link] (1 responses)

I don't run Gentoo, but my understanding from previous conversions is that Gentoo required systemd in the exact same situation that Debian did: for Gnome. (Of course, Debian now lets you use Gnome without systemd just fine, since you can use systemd-shim, instead, to satisfy Gnome's logind requirement.)

So that doesn't really seem to be a distinguishing characteristic of Gentoo vs Debian, AFAICT?

Gentoo Resisting?

Posted Dec 1, 2014 4:33 UTC (Mon) by magila (guest, #49627) [Link]

I haven't run gentoo for a long time but a quick look at the current gnome-base/gdm package shows gentoo still supports building against consolekit rather than systemd-logind. I imagine this option will remain as long as upstream provides it.

Gentoo Resisting?

Posted Nov 30, 2014 12:55 UTC (Sun) by jb.1234abcd (guest, #95827) [Link] (21 responses)

"Gentoo is generally about providing choices and isn't as concerned with consistency (there is no requirement that daemons support any init implementation), so I'm sure sysvinit/openrc will be well-supported for a long time. (...) It is probably better to say that we embrace many competing technologies."

Yes, Gentoo and its users showed the right stuff by not allowing any
hillbillies to dominate the fundamental blocks and functions of their distro.

Debian has made a big mistake by affording systemd a default sys init status.
This was a strange and incompetent decision in light of Debian being
a general-purpose operating system (distro) that serves (willingly or not) as a platform for many derivatives.

There is a developing understanding among IT pros that Red Hat made a mistake as well by pushing systemd via RHEL/CentOS into enterprise environment.

The distros and other organizations supporting systemd have to understand that they can not act against a substantial part of users (sysadmins in particular) whose day-to-day job is to build and run the IT infrastructure, understand it, and be confident about it and about themselves.
You can not have a situation that is progressively moving in the direction of the proverbial "A general without an army".

For Debian (and others) the way out of it is to minimize systemd's exclusive impact on the ecosystem, and that means revoking its default status, neutralization and balkanization as has been proposed by Mr. Bruce Perens at Debian.
The uselessd project, a progressing alternative to systemd, follows already this path.

The end result has to be that systemd and its uncritical proponents move to
their rightful places, tails between their legs.

jb

Gentoo Resisting?

Posted Nov 30, 2014 16:24 UTC (Sun) by Doogie (guest, #59626) [Link]

> Yes, Gentoo and its users showed the right stuff by not allowing any hillbillies to dominate the fundamental blocks and functions of their distro.

Wow, you sure told them! Due to your calling them "hillbillies" I'm sure all distributions will all reconsider their support for systemd! Congratulations on building such an amazingly insightful and nuanced post in support of your arguments. You truly do a great service to the cause of killing off systemd and really to the entire software world! Keep up the amazing work!

Gentoo Resisting?

Posted Nov 30, 2014 18:13 UTC (Sun) by vonbrand (subscriber, #4458) [Link] (19 responses)

How do you know "sysadmins dont't want systemd""? My (admitedly very limited) sample definitely says otherwise, quite emphatically. No, they aren't jumping in with both eyes closed just now, but are mostly very excited with the idea of managing processes sanely, and getting rid of the unholy mess boot/starting and stopping services have become.

Gentoo Resisting?

Posted Nov 30, 2014 18:58 UTC (Sun) by jb.1234abcd (guest, #95827) [Link] (16 responses)

"How do you know "sysadmins dont't want systemd"?"

I think that the Debian fork in progress should be a good example:
http://debianfork.org/

They describe themselves as "Veteran Unix Admins".
You can assume with a high degree of probability that they know their stuff. And that includes a healthy dose of confidence in their own abilities and understanding of "what works".

They put a reference on their site to a comparison between typical service
startup by means of a shell script and systemd.
There it is:
https://web.archive.org/web/20141020161905/http://forkfed...

I look at both ways side by side and have a sympathy for these guys.
They want to know what is *executed* by reading the script and if there is
a problem they can react almost instantly. It gives them confidence !
On the other hand, the systemd's declarative config file seems to be easier to read (even to compile), but are they able to comprehend
instantly what actually happens when those directives are processed behind the scene by systemd ? Do they have the same confidence ?
What if they want or need to make changes beyond config file ? What if they want to try something (a fix, a prototype) ? Prospect: C code files and program compilation.

There is much more to this then the above example.
I think they are right.
jb

Gentoo Resisting?

Posted Nov 30, 2014 20:32 UTC (Sun) by vonbrand (subscriber, #4458) [Link] (15 responses)

I could pass myself up as "veteran Unix sysadmin" too by setting up a website, or as "well-seasoned queen of Sheba" for that matter. Let's see who they really are (in names and numbers).

As sysadmin, I have very little sympathy for "want to know exactly what is being run", I want it to work, period. Today's machines (and software running on them, and services offered) are just much to complicated for having the whole source in your head. Maybe in Lions' day, not anymore for a few decades. Configuration has to be simple, transparent, and foolproof. It is just not aceptable if common functions have to be written into each and every daemon (where it will be done exactly the wrong way around a few dozen times), that common operations work on the "wait a bit, cross your fingers and try again" principle, or starting and stopping setvices is done with no regard to dependencies.

Gentoo Resisting?

Posted Nov 30, 2014 20:41 UTC (Sun) by dlang (guest, #313) [Link] (14 responses)

> Configuration has to be simple, transparent, and foolproof.

you won't get disagreement from many people on this statement.

What you will get is disagreement on what "simple" "transparent" and "foolproof" mean.

the systemd config looks simple, but it's far from transparent and foolproof is questionable (the fact that there are experienced people running into problems with it indicates that it's far from foolproof)

shell scripts can be simple or they can be complicated. It depends on many things, including how comfortable you are with shell and what helper functions you have. The RedHat approach of init scripts that call other scripts that call other scripts ... that parse config files is not what I call simple. but that's not a requirement of sysvinit, it's just how RedHat opted to setup their scripts. In my opinion, they hide too much in layers of scripts and there is a lot that could be simplified with appropriate (clear) helper tools.

I prefer the approach "make simple things easy and hard things possible"

Gentoo Resisting?

Posted Nov 30, 2014 21:00 UTC (Sun) by vonbrand (subscriber, #4458) [Link] (1 responses)

Hundreds of lines of shell scripts doing some very un-intuitive hopping through hoops is nearly antonymous with "simple" in my book. Almost each time I had to mess with the "simple" configuration I had to make sure to have a nearby tty with assorted man pages open while wading through huge files setting up assorted shell functions, most of which had no bearing on the issue at hand. And this when the mess was finally somewhat tamed by setting up said common infrastructure. Not my idea of "transparent". Once a miscreant managed to slip in a few lines setting up a backdoor, due to the "flexibility" shell scripts offer. All those I can do without, thank you so very much.

Gentoo Resisting?

Posted Nov 30, 2014 21:04 UTC (Sun) by dlang (guest, #313) [Link]

> huge files setting up assorted shell functions, most of which had no bearing on the issue at hand

That is a problem with the distro that is setting up and maintaining those scripts, not with the idea of the scripts themselves.

I agree with you that init scripts that go that route are far from transparent. I hate them as well. But if you look at the different distro families, you will see that some are far worse about this than others are.

Gentoo Resisting?

Posted Nov 30, 2014 22:00 UTC (Sun) by jb.1234abcd (guest, #95827) [Link] (7 responses)

"the systemd config looks simple, but it's far from transparent and foolproof is questionable (the fact that there are experienced people running into problems with it indicates that it's far from foolproof)"

I agree.

This is quite telling:
$ apropos systemd |wc -l
155

Just browse thru all this stuff. Look for clues when your system is in trouble. Many settings are default and not present in the config files, thus out of sight.

I remeber my first encounter with systemd. It was like this:
systemd: please stop trying to take over the world :)
https://lists.fedoraproject.org/pipermail/devel/2011-June...

Few things have changed since for the better, quite many for worse (systemd-*d being one of the offending additions).
People feel that this stuff can be intimidating to learn, not to mention to handle in complicated work setups and emergency situations.
Quite few people think it is an overkill in some respects.
Some people think it is suitable for desktop machines, but not for servers.
Others resent an exclusive and/or default status afforded by the distros.
That's why they rebel.

jb

Gentoo Resisting?

Posted Dec 2, 2014 19:39 UTC (Tue) by ms_43 (subscriber, #99293) [Link] (6 responses)

> $ apropos systemd |wc -l
> 155

Agree with you, the systemd documentation is really quite good and thorough and sets an example for other projects to follow.

Gentoo Resisting?

Posted Dec 3, 2014 17:08 UTC (Wed) by flussence (guest, #85566) [Link] (5 responses)

It's as if you actually think lines of code or documentation correlate to quality.

Systemd has a long way to go before it catches up to the gold standard, the MS OOXML spec.

Gentoo Resisting?

Posted Dec 3, 2014 20:47 UTC (Wed) by ms_43 (subscriber, #99293) [Link]

> Systemd has a long way to go before it catches up to the gold standard, the MS OOXML spec.

Heh, i've not found the equivalent of the baby pacifier border style in systemd's documentation yet. Maybe you could file a RFE against systemd?

Gentoo Resisting?

Posted Dec 4, 2014 16:31 UTC (Thu) by nye (subscriber, #51576) [Link] (3 responses)

>It's as if you actually think lines of code or documentation correlate to quality.

Wait, are you trying to claim that documentation is not correlated with quality?

Gentoo Resisting?

Posted Dec 4, 2014 19:43 UTC (Thu) by dlang (guest, #313) [Link]

> Wait, are you trying to claim that documentation is not correlated with quality?

If the OP isn't, I am.

Gentoo Resisting?

Posted Dec 4, 2014 23:38 UTC (Thu) by mathstuf (subscriber, #69389) [Link] (1 responses)

I'm of the camp that no docs are better than wrong or bad docs. Though I can't say systemd has had either (maybe harder to navigate, but it's certainly close to completely documented).

Gentoo Resisting?

Posted Dec 8, 2014 12:32 UTC (Mon) by nye (subscriber, #51576) [Link]

> no docs are better than wrong or bad docs.

Sure, bad things are bad.

But all else being equal, code that's properly documented is - as a general rule - more useful, and likely to be less buggy. Plus it often makes it easier to understand why some code is buggy (which all code inevitably is).

My experience has been that the kind of person who thinks that their code is so good that it doesn't need to be documented is - once again, as a general rule - the same kind of person that writes incomprehensible bug-ridden spaghetti.

But the difference between having no/little documentation and extensive documentation is even wider in cases like this, where the documentation describes glue layer interfaces and behaviour. I'm reasonably confident in asserting that it is an objective fact that documented APIs and protocols tend to be better than undocumented ones.

Overall, I don't think anyone can seriously claim that there's not even a correlation between the amount of documentation of some code, and its quality, unless they have some extraordinary evidence to support that claim. Not that they are *equal*, but *correlated*. Having tonnes of documentation is certainly not a guarantee of good code, but looking at the documentation *is* an extremely strong indication. I'm honestly surprised that anyone's even disputing this.

Gentoo Resisting?

Posted Dec 9, 2014 8:42 UTC (Tue) by cyronin (guest, #99592) [Link] (3 responses)

I want to like systemd, but in my experience so far with it, its just a bit too opaque and immature for the kinds of issues I end up having to troubleshoot with it. for example, I have been needing to troubleshoot an issue with a raid controller inconsistently mounting in initramfs, and aside from a pretty ascii diagram in a manpage and a few brief mentions on the website and mailing list, there really isn't a whole lot of accessible information about the boot proccess that allows me to proceed further with troubleshooting this...

Overall, its an intriguing system to say the least, but It seems to need a little bit more time in the oven before every distro decides to rely on it.

Gentoo Resisting?

Posted Dec 9, 2014 8:54 UTC (Tue) by Cyberax (✭ supporter ✭, #52523) [Link] (2 responses)

What initramfs has to do with systemd?

Gentoo Resisting?

Posted Dec 9, 2014 10:14 UTC (Tue) by cesarb (subscriber, #6266) [Link] (1 responses)

> What initramfs has to do with systemd?

At least on some distributions, the initrd nowadays runs systemd. Run "journalctl -b" and look for a "systemd[1]: Running in initial RAM disk" line; if you see it, your distribution is running systemd within the initrd. You should also see a "systemd[1]: Switching root" line just before the switch to the real root.

Gentoo Resisting?

Posted Dec 9, 2014 20:08 UTC (Tue) by johannbg (guest, #65743) [Link]

Shortcomings of systemd setup in initramfs is irrelevant to systemd itself ( other than it being used ) and bugs against upstream implementing this ( dracut, mkinitcpio etc ) should be filed so they can address the issue.

Gentoo Resisting?

Posted Nov 30, 2014 20:26 UTC (Sun) by dlang (guest, #313) [Link] (1 responses)

some like it, some don't

those that don't aren't opposed to other people having the option of using systemd, but for some reason, those who like systemd seem opposed to other people not using it.

Gentoo Resisting?

Posted Dec 1, 2014 16:44 UTC (Mon) by andreashappe (subscriber, #4810) [Link]

isn't this a bit one-sided? In Debian it was rather "those people that don't want to use it want the people that want to use it to use either crippled configurations or provide fixes for their configurations".

Still I do not understand all the bruaha. As long as advanced features (socket activation) are not used it should be possible to create init.d scripts from systemd's configuration. The other direction looks harder to accomplish.

The "Devuan" Debian fork

Posted Nov 29, 2014 4:48 UTC (Sat) by dlang (guest, #313) [Link] (12 responses)

In theory this should be a trivial fork. If Jesse (and later) continue to support non-systemd init systems, all this project will be is a competing build/mirror infrastructure with different package defaults.

It's only when other dependencies start creeping in that there will be a significant amount of work.

So "all" they should need to do in the next year to get to Devuan 1.0 is to build a replacement for the Debian infrastructure.

If the people who are poo-pooing the fears of the systemd opponents are correct, this will remain a fairly trivial fork as far as users are concerned. They (and Debian) will learn something useful with their attempts to improve on that infrastructure.

As for people annoyed by the 'funny spelling', the reasons for that is simple, it's a good idea to use something like this for trademark purposes. It also has significant advantages over "DevOne" in search engines.

I'm not part of that group of developers, but I wish them well. The work they are going to try and do on the infrastructure is worthwhile, and tracking the difference between Devuan and Debian will provide some interesting information.

The "Devuan" Debian fork

Posted Nov 29, 2014 14:56 UTC (Sat) by epa (subscriber, #39769) [Link] (11 responses)

build a replacement for the Debian infrastructure
That sounds like a worthwhile exercise in itself. Ideally one could download a virtual machine image, start it running, and after entering the name of the new distribution have a complete fork of Debian's infrastructure and software. (Though a full version history of every package would be quite big!)

The "Devuan" Debian fork

Posted Nov 29, 2014 23:34 UTC (Sat) by sjj (guest, #2020) [Link]

That would be awesome, although thinking of the resulting 64000 baby debian distros, uh huh...

The "Devuan" Debian fork

Posted Nov 30, 2014 8:05 UTC (Sun) by pabs (subscriber, #43278) [Link] (9 responses)

I'd love to see someone work on an example Debian derivative, if only so that we could make the rebranding guidelines more comprehensive and rip out branding from packages where possible so they can be provided by branding packages.

https://wiki.debian.org/Derivatives/Guidelines

The "Devuan" Debian fork

Posted Nov 30, 2014 22:45 UTC (Sun) by epa (subscriber, #39769) [Link] (8 responses)

Yes - although a fork is not quite the same thing as a Debian derivative.

The "Devuan" Debian fork

Posted Dec 1, 2014 7:28 UTC (Mon) by rahvin (guest, #16953) [Link] (7 responses)

You don't actually think this is going to be a true fork do you? That's laughable. It's going to be a derivative with different defaults. There is absolutely no way they could duplicate the entire Debian project, not even Canonical can and they have a multi-millionare backer and they still pull many packages directly from Debian.

I suspect in time like most of the derivatives interest will fade and the distribution will die.

The "Devuan" Debian fork

Posted Dec 1, 2014 10:00 UTC (Mon) by epa (subscriber, #39769) [Link] (6 responses)

It could be a semi-fork, nominally independent but in practice pulling most package updates unchanged from Debian. It's true that for now they can purge the evil Poettering just by picking different defaults. By the time Debian does start to drop support for SysV init, a year or two from now, I do expect that interest in the fork will have died down.

The "Devuan" Debian fork

Posted Dec 1, 2014 10:19 UTC (Mon) by anselm (subscriber, #2796) [Link]

I think it is highly unlikely that Debian as a whole will intentionally drop support for sysvinit altogether (by way of a policy mandate). This means that as long as there are people who are interested enough to volunteer the necessary work sysvinit should keep going as an alternative init system in Debian. Chances are that, like with earlier similar situations, the project will fine-tune the necessary procedures and everything will be reasonably OK for everybody.

If Debian ever gives up sysvinit altogether it will be because we have reached a point where nobody will miss it enough to do the work.

The "Devuan" Debian fork

Posted Dec 1, 2014 10:24 UTC (Mon) by cesarb (subscriber, #6266) [Link] (4 responses)

> By the time Debian does start to drop support for SysV init, a year or two from now,

This is *Debian*. The distribution which has support for more than one non-Linux kernel. The distribution which has support for *Hurd*.

I don't think they'll drop support for sysvinit so soon. It wouldn't surprise me if they add support for even more init systems instead. It wouldn't surprise me if they create an overengineered system to generate configurations for multiple init systems from a single text file (in the style of the Debian menu package), which no other distribution will use.

Yeah, systemd will be the default and what almost all of their users will be using. Doesn't mean they will drop the alternatives (IIRC the "alternatives" system several distributions use came from Debian, which shows how much they like alternatives).

The "Devuan" Debian fork

Posted Dec 1, 2014 15:22 UTC (Mon) by rodgerd (guest, #58896) [Link] (3 responses)

> This is *Debian*. The distribution which has support for more than one non-Linux kernel.

Not any more. It just dropped one of the two because of inadequate maintenance. And had there been an insistence that alternative kernels mandate that any package which doesn't run on kFreeBSD or the Hurd be elimitated from the archive or patched until it did, Debian would look very different (worse, IMO) than it does today.

The "Devuan" Debian fork

Posted Dec 12, 2014 19:13 UTC (Fri) by andreasb (guest, #80258) [Link] (2 responses)

>> This is *Debian*. The distribution which has support for more than one non-Linux kernel.
>
> Not any more. It just dropped one of the two because of inadequate maintenance.

That doesn't make any sense as you wrote it. If you only count release architectures as being supported, then Debian never had support for more than one non-Linux kernel. Hurd has not made it that far.

The "Devuan" Debian fork

Posted Dec 12, 2014 20:36 UTC (Fri) by Zack (guest, #37335) [Link] (1 responses)

I think rodgerd was referring to GNU/kFreeBSD being dropped as a release architecture.

It was *not* dropped because of inadequate maintenance, by the way. With zero RC bugs and 90% of the archive built, it was in ship shape. The main release concern for the maintainers was in fact, that it was probably too late to ship with a FreeBSD 10 kernel.

Why it was dropped isn't 100% clear (https://release.debian.org/jessie/arch_qualify.html doesn't seem up to date), but the only reason I can surmise is that Steven Chamberlain in his role as super-human maintainer of all things kFreeBSD is a single point of failure, and as such, as a release architecture it would be prone to the malevolent whims of renegade buses.

Last thing I heard it was still going to be released, on schedule, alongside Jessie, but probably with a FreeBSD 10 kernel, since the freeze doesn't affect the architecture anymore.

The "Devuan" Debian fork

Posted Dec 13, 2014 1:20 UTC (Sat) by rodgerd (guest, #58896) [Link]

> It was *not* dropped because of inadequate maintenance, by the way.

Probably a bad choice of word - the email I saw said it was because they were down to one maintainer (an inadequate *number* of mainters, not that the maintainer is inadequate).

The "Devuan" Debian fork

Posted Nov 29, 2014 6:09 UTC (Sat) by rodgerd (guest, #58896) [Link] (1 responses)

I wouldn't be donating money to a fork whose maintainers haven't released anything or disclosed their identities, myself, but hopefully they can build something that makes them happy.

The "Devuan" Debian fork

Posted Dec 2, 2014 8:41 UTC (Tue) by sickpig (guest, #28685) [Link]

fwiw I've gone through devuna github repo and this is what I found out:

https://github.com/jaromil
https://github.com/max2344
https://github.com/nextime
https://github.com/rfc1459
https://github.com/hellekin

those five profiles belongs to people who have committed code in at least one of the four devuan's repo.

The "Devuan" Debian fork

Posted Nov 29, 2014 6:40 UTC (Sat) by drag (guest, #31333) [Link] (2 responses)

I really have a hard time imagining Devuan being anything other then a elaborate practical joke.

The "Devuan" Debian fork

Posted Nov 29, 2014 7:09 UTC (Sat) by smurf (subscriber, #17840) [Link]

Not a practical joke, but yet another attempt to fan the flames.
One that, if taken seriously, would be doomed to fail from the start, given that they are using / plan to use / ??? non-open-source services like github …

NB: other *than.

The "Devuan" Debian fork

Posted Dec 3, 2014 11:48 UTC (Wed) by blujay (guest, #39961) [Link]

What do you gain by ridiculing them? Why even waste your time doing so?

"First they ignore you, then they laugh at you..."

The "Devuan" Debian fork and the fuss about systemd

Posted Nov 29, 2014 7:58 UTC (Sat) by janpla (guest, #11093) [Link] (97 responses)

I have kept seeing a lot of noise about systemd for a while, and I am wondering why there is all this fuss about it. This may well be simply because of my ignorance about the subject - is there a good write-up about the pros and cons? I'm not really interested in a rant about what somebody regards as freedom and fundamental rights, just a level-headed, pragmatic, technical discussion, if there is any such thing.

It may strike people on the lists as bizarre that any competent Linux user wouldn't already know what the big issue is, but to me it hasn't really been something I needed to know, so far. As long as it works and doesn't get in my way, I am not worried. Perhaps those of you with more insight could take my ignorance as a challenge and englighten me?

The "Devuan" Debian fork and the fuss about systemd

Posted Nov 29, 2014 8:24 UTC (Sat) by dlang (guest, #313) [Link] (76 responses)

First off, nobody who replies is going to be completely unbiased. This includes me and I expect to get flack from all sides for this post :-)

systemd started out as a replacement for init scripts. It has a lot of interesting features, and while not everyone thinks it's the best thing ever, this isn't where the arguments start.

Over time, systemd has grown to include many things, some that were formerly independent (udev), and others that replace other formerly independent functions (logging and cron as two examples), and is now stating that their intent is to be the common plumbing layer for all distros, so that they can change how all linux systems work by just changing systemd. Many people view their approach as a bait-and-switch, claiming that they are "only an init systems" when anyone challenges this growth, but then pushing that if you want to be up to date you must use it all.

Systemd has also shown what many view as poor judgement in their attitude towards backwards compatibility. They routinely require features that do not exist in older kernels (or non-linux kernels) and rather than degrading gracefully and either doing without or falling back to some other method, instead they refuse to boot. As Al Viro posts here, this causes serious problems for people who have some reason to need to run older kernels.

One one side the systemd developers are viewed as manifesting the worst development attitudes and practices of userspece tools, and on the other, people who don't want to use systemd are viewed as greybeards who are just too lazy to bother learning the new way of doing things, and they just need to retire and get out of the way to let Linux move forward.

The "Devuan" Debian fork and the fuss about systemd

Posted Nov 29, 2014 9:10 UTC (Sat) by Seegras (guest, #20463) [Link] (13 responses)

> this causes serious problems for people who have some reason to need to
> run older kernels.

Ouch! Who in his right might will want to run such a collection of security vulnerabilities? Because chances are, you also need to run an ancient userspace, maybe the ancient userspace is even the reason you can't upgrade.

I think I've actually seen this. A Xen server where you couldn't upgrade the kernel of the Dom0 without breaking the DomU, and couldn't upgrade the DomU either, without first having upgraded the Dom0. We did the only sane thing: Ditching the whole server.

The "Devuan" Debian fork and the fuss about systemd

Posted Nov 29, 2014 10:42 UTC (Sat) by cesarb (subscriber, #6266) [Link]

> > this causes serious problems for people who have some reason to need to run older kernels.
> Who in his right might will want to run such a collection of security vulnerabilities?

Someone who is hunting for performance regressions. I've seen this use case discussed in one of the past systemd threads here on lwn.

(I've also seen on one of these threads an use case of "someone who is using an embedded board which only works with an old 2.6.x kernel", but your disgust is justified in that case.)

The "Devuan" Debian fork and the fuss about systemd

Posted Nov 29, 2014 11:12 UTC (Sat) by Wol (subscriber, #4433) [Link] (5 responses)

It seems like this is the TYPICAL use case of large PostgreSQL systems.

It's also typical of RHEL and SLES systems.

As far as RHEL and SLES goes, I gather a lot of security fixes are back-ported, but enhancements typically are not. And given that a major driver of the *need* to use new kernels is new hardware (which by definition is irrelevant to most RHEL/SLES systems) that's why a lot of such systems run such old stuff. As the saying goes, "if it works, don't break it". When you're an overstretched admin running loads of systems, the last thing you want is an upgrade which breaks a production server...

Cheers,
Wol

The "Devuan" Debian fork and the fuss about systemd

Posted Nov 29, 2014 20:34 UTC (Sat) by jwarnica (subscriber, #27492) [Link] (4 responses)

Why would a development team which chooses to never bump the kernel version choose to bump the systemd version?

The "Devuan" Debian fork and the fuss about systemd

Posted Nov 30, 2014 0:41 UTC (Sun) by Wol (subscriber, #4433) [Link] (3 responses)

There was a real use-case on lwn recently - they were trying to migrate their system to a new server (hence new kernel and systemd), and found a performance regression. So they were trying to track it down, which was rather tricky ... see other posts for details ...

imho, if the systemd devs don't want to worry about old kernels, they should at least allow some #ifdef'd code in the error paths to permit graceful degradation. I can see why they don't want to, though.

Cheers,
Wol

The "Devuan" Debian fork and the fuss about systemd

Posted Nov 30, 2014 8:43 UTC (Sun) by jwarnica (subscriber, #27492) [Link] (2 responses)

I'd argue as soon as you start down the path of "debugging" things you should expect sharp edges. Perhaps one particular git commit is a point of regression, and sure, the history is there to find it. Arguably, an OSS project owes you nothing. I think it is a lot to expect them to owe you quality of individual commits that aren't so much as "releases". You match their supported cross version compatibility... or not.

In some well defined historically supported configuration, it *was* good. And today, in an apparently support configuration it *isn't* good. I won't review random configurations, because even granting that point: so? These people did their due dalliance, older is better than newer. So, stay with the older? Next problem?

The technical ability to resolve that may theoretically exist, but is that practically useful, or an academic exercise to resolve the Sorites paradox?

The "Devuan" Debian fork and the fuss about systemd

Posted Nov 30, 2014 9:22 UTC (Sun) by viro (subscriber, #7872) [Link] (1 responses)

Oh, for fuck sake... Let me try it in small words: bugs happen. Bugs are not always found soon. They don't fix themselves. Somebody has to go and fucking fix them. It tends to be not fun. Adding more "sharp edges" in the way of those who do fixing is a lousy thing to do. Supported setups do not happen because a unicorn has farted on them - they happen because somebody real had been fixing bugs. Make that harder, and bugs will stay around for longer, there'll be more of them and folks who are fixing them (that'd be us) won't thank you for that. Even more so if you have a gall to yawn and start yapping about expecting sharp edges.

Is that simple enough to understand? Staying with the older won't get the newer fixed. And somebody has to do that.

PS: "due dalliance" sounds intriguing ;-) Mind expanding that a bit?

The "Devuan" Debian fork and the fuss about systemd

Posted Nov 30, 2014 12:46 UTC (Sun) by tialaramex (subscriber, #21167) [Link]

It is a nice phrase isn't it?

I would presume that "due dalliance" is a socially necessary amount of flirtatious conduct. For example maybe if you're hanging out with a person who is feeling a bit disconnected after their long term relationship broke up you might engage in "due dalliance" because it would be good for their sense of self-worth rather than because you expect it to blossom into a serious romantic relationship.

By analogy that would extend to a brief enthusiasm for new interests specifically because they seem worthy.

The "Devuan" Debian fork and the fuss about systemd

Posted Nov 29, 2014 11:43 UTC (Sat) by dlang (guest, #313) [Link] (3 responses)

there's also the issue that what the systemd people consider a horribly obsolete kernel is one a couple of releases back, which is new enough that it may not have made it out to any distros as their stock kernel yet.

We aren't talking about 2.6 kernels, but even 3.14 is old enough to be missing 'critical features'

The "Devuan" Debian fork and the fuss about systemd

Posted Nov 29, 2014 13:42 UTC (Sat) by misc (subscriber, #73730) [Link] (2 responses)

The doc say 3.7 is required. What is the critical feature requiring 3.14 you are speaking about ?

And if 3.14 is needed for that feature, there is maybe a reason.
( and in practice, requiring new kernel is not really a new debate, since it already erupted in 2006, with the same people like Al Viro and GKH ( http://lwn.net/Articles/193603/ ).

The discussion on the boundaries of kernel space and user space is still not resolved, and that's just yet another issue of it. There is different things that push to that result, from "we should be free to break internal API" to "let's use sysfs to expose internal API to userspace, so we can push more stuff outside of the kernel".

And that's not like we as a community get API right on the first time, kernel, libraries, etc do change the API and ABI, so breakages are expected, and they are expected because there is no coordination nor central deadline, no committee to decide on ABI and not the kind of stuff you would fine in a closed source UNIX. You also happen to see the sausage factory from the inside, so yeah, you see all breakages that are isolated and hidden by a vendor.

The "Devuan" Debian fork and the fuss about systemd

Posted Nov 29, 2014 14:44 UTC (Sat) by cesarb (subscriber, #6266) [Link] (1 responses)

I got curious, searched the systemd git, and found http://cgit.freedesktop.org/systemd/systemd/commit/?id=db....

Basically, kernels older than 3.14 have a bug which causes problems with containers if audit is enabled.

If you don't use containers or don't have audit enabled, that's not a problem.

The "Devuan" Debian fork and the fuss about systemd

Posted Nov 29, 2014 23:20 UTC (Sat) by misc (subscriber, #73730) [Link]

systemd based containers are nice, but they are not really a critical feature, especially since the trend is docker everywhere, or openvz/lxc.

And I didn't even knew that audit and containers on systemd was finally fixed. Maybe not is fixed however.

The "Devuan" Debian fork and the fuss about systemd

Posted Nov 29, 2014 16:14 UTC (Sat) by SLi (subscriber, #53131) [Link] (1 responses)

I've done it to bisect kernel bugs. For example, recently I had a corrupted ext4 filesystem image which triggered an oops in the filesystem code for recent kernels but which had previously worked on kernel 3.3. In order to find the commit that broke the code, I had to use sysvinit because systemd would just refuse to work on older kernels.

Not that I would necessarily want systemd to limit itself to features of ancient kernels; just to point out that it does make some things harder.

The "Devuan" Debian fork and the fuss about systemd

Posted Nov 30, 2014 2:07 UTC (Sun) by dlang (guest, #313) [Link]

the correct term is graceful degredation. Rather than refusing to work, it should know how to do as much as it can without that feature.

cgroups are a perfect example. I don't dispute that they are useful for some cases, but I disagree with the idea that it's so important that the entire system should not boot without it (either because it's an old kernel, a bug in a new kernel, or just that someone compiled it out because of the overhead it can cause)

The "Devuan" Debian fork and the fuss about systemd

Posted Nov 29, 2014 22:00 UTC (Sat) by mezcalero (subscriber, #45103) [Link] (3 responses)

We try to stay compatible with kernels from the last two years or so. That's our goal, and we so far managed to deliver that pretty OKish. (That said, things might break sometimes by accident, without intention, simply because none of us developers runs things with such old kernels, however we usually merge fixes for that quickly.) However, we also make clear at the same time that we intend to break compat more radically sometime in the next months, when we switch things over to the new unified kernel cgroupfs as well as kdbus. To make this palatable we will try to make this switch in one big step rather than many small ones, that break things all the time.

Over time, because of this intention to provide compatibility for a while we collected quite a few definitions:

http://cgit.freedesktop.org/systemd/systemd/tree/src/shar...

In general my recommendation for people who want to use old kernels is to also use an old systemd, as that's probably best tested and relieves you from the two-year window.

Lennart

The "Devuan" Debian fork and the fuss about systemd

Posted Nov 30, 2014 1:23 UTC (Sun) by jgg (subscriber, #55211) [Link] (1 responses)

What about the other way? Will a current kernel work with a two year old systemd?

Or stated another way, in four years time will a RHEL7/Jessie user be able to run the current upstream kernel.org kernel?

The "Devuan" Debian fork and the fuss about systemd

Posted Nov 30, 2014 5:14 UTC (Sun) by mathstuf (subscriber, #69389) [Link]

Wouldn't that indicate an ABI break in the kernel?

The "Devuan" Debian fork and the fuss about systemd

Posted Nov 30, 2014 1:42 UTC (Sun) by Cyberax (✭ supporter ✭, #52523) [Link]

Two years is really not enough. It's even less than one Debian release, so people might legitimately have problems with that.

Perhaps 4 years should be more reasonable target? Also, can you offer official compatibility checker, so we can be sure that a given unit file would work on an older version of systemd?

The "Devuan" Debian fork and the fuss about systemd

Posted Dec 1, 2014 16:30 UTC (Mon) by paulj (subscriber, #341) [Link] (57 responses)

+1 to dlang's post on describing the systemd debate.

I happen to mostly like what systemd is doing wrt cleaning up init. Giving the init system a tight grip on processes through cgroups is a good thing. It was high time for a better process management API than the standard Unix one, and an init system that used it to avoid some of the nasty cases the traditional API allowed.

However, some of the initial claims of the systemd folks (person even, back then?) turned out to be naïve and somewhat self-serving. E.g, it was easy to predict that socket activation would not in fact be the answer to everything, and there were comments on LWN about this. Service files today often contain a number of hard-coded dependencies on other services, and on things that must be run before or after the running of the service itself. Indeed, systemd even has directories of symlinks to encode dependencies. So that's not quite that different to the previous world, of SysV init services, chkconfig, etc., which the systemd folks had decried.

Also, trying to support everything via declarative config files has led to quite a plethora of options (see systemd.{unit,service,directives}, and I'm starting to wonder if this is always really easier to understand than a shell script with a clean set of library functions available to it (e.g. see OpenWRT's init). (Note: this is *not* advocating for SysV init + traditional Unix process control).

I'm left wondering if a good amount of bath-water was thrown out, only to have to refill the bath with fresh, functionally identical, but different water.

Next, the systemd project appears to be on a mission to do more than just rewrite init. It appears to be on a mission to subsume all of the core Linux userspace, either by absorbing utilities or else by rewriting them. I'm sure the systemd project people view this as a good thing, that they view that the decoupled nature of that user-space held back progress. The systemd project also seems to value progress above compatibility (backward and platform). Finally, when they rewrite stuff, their self-confidence doesn't always match their ability or the (accumulated over time) abilities of those who wrote the existing implementations.

So, to summarise, for me:

- A modern init that can use modern APIs to fully control services, and provide better socket activation? Yay!

- The "overselling" of what socket activation could achieve: Hmm...

- Decrying hard-coded dependencies and sets of symlink directories, only to replace it with another set of the same but different: Hmmm...

- Replacing "complicated" init scripts with nearly as (if not more?) complicated declarative config files? Hmmmmm...

- Systemd becoming the katamari damacy of Linux user-space, the "One True Way"? Not like.

The "Devuan" Debian fork and the fuss about systemd

Posted Dec 2, 2014 22:47 UTC (Tue) by kleptog (subscriber, #1183) [Link] (40 responses)

> Next, the systemd project appears to be on a mission to do more than just rewrite init. It appears to be on a mission to subsume all of the core Linux userspace, either by absorbing utilities or else by rewriting them.

The thing is, a lot of these things needed work. Look at for example resolveconf. You have a number of different programs that can setup an internet connection and to decide which DNS to use you get scripts to dump files in a directory and then one is selected. I had non-working DNS for a while because some program had dumped a file there which overrode everything. Try tracking that down. This is so obviously a hack.

Now systemd has a daemon which does DNS by asking all the of the provided DNS servers, thus transparently merging all the DNS namespaces. If an interface goes down the DNS goes away, without relying on some fragile scripting. This is so obviously the correct solution I don't understand why people are complaining.

(This is actually a manifestation of the platform problem. When the given multiple DNS servers, since the glibc resolver works with resolv.conf, the answer chosen was to select one source to put in resolv.conf. Whereas the correct answer should have been, fix the resolver to handle multiple independent DNS servers).

Why do you have to run a complete NTP server daemon just to keep the system time accurate? Why would you still have cron, which can only mail output, when you have an init which support many more options? From my point of view systemd is finally providing correct solutions for problems that have been endlessly worked around.

The "Devuan" Debian fork and the fuss about systemd

Posted Dec 2, 2014 22:50 UTC (Tue) by dlang (guest, #313) [Link] (14 responses)

asking every DNS server for the answer and merging the results is very obviously NOT the correct answer if one of those is an internal server and one is an external server for the same name.

The "Devuan" Debian fork and the fuss about systemd

Posted Dec 3, 2014 2:33 UTC (Wed) by pizza (subscriber, #46) [Link] (13 responses)

> asking every DNS server for the answer and merging the results is very obviously NOT the correct answer if one of those is an internal server and one is an external server for the same name.

How is a resolver supposed to know what names are "internal" vs "external"?

How is the resolver supposed to tell if "somehost.internaldomain" or "somehost.externaldomain" is correct when the user asks to resolve "somehost"? Or heck, what if I type "somehost.internaldomain" and the request is sent to an external server that can't resolve it?

(This happens when I'm VPN'd into the office; I lose the ability to resolve my home network)

I'm sorry, asking all servers is a better solution, and you can use the domain search order for each network interface as a filter to figure out what servers' responses can be trusted -- but when you don't ask for a FQDN, you're going to have problems if the same hostname can be legally resolved in different namespaces.

The "Devuan" Debian fork and the fuss about systemd

Posted Dec 3, 2014 4:08 UTC (Wed) by raven667 (subscriber, #5198) [Link]

> you're going to have problems if the same hostname can be legally resolved in different namespaces.

Not necessarily, there could be a conflict resolution mechanism, for example pick the name that has an address with the most specific route entry, so if you have split tunneling with your office that response will probably be more specific than the one coming through the default route. That isn't always guaranteed so you will need another level to be a tie breaker but a few simple rules will get it right most of the time, and have an option for manual config if you need it.

The "Devuan" Debian fork and the fuss about systemd

Posted Dec 3, 2014 4:36 UTC (Wed) by mgb (guest, #3226) [Link] (11 responses)

> How is a resolver supposed to know what names are "internal" vs "external"?

Wrong question. The resolver should use the the hosts files, DNS servers, and NIS servers specified by the sysadmin. The resolver should not query random servers or merge records from all servers.

BIND views can help somewhat to prevent systemd from giving wrong answers but why waste effort working around a systemd design that just doesn't understand DNS?

The "Devuan" Debian fork and the fuss about systemd

Posted Dec 3, 2014 5:51 UTC (Wed) by pizza (subscriber, #46) [Link] (10 responses)

> Wrong question. The resolver should use the the hosts files, DNS servers, and NIS servers specified by the sysadmin. The resolver should not query random servers or merge records from all servers.

Au contraire, that is absolutely the question, and you can't just handwave it away by regurgitating the status quo that demonstrably does the wrong thing in a dynamic network environment.

What if I'm in a coffee shop, and have two VPN tunnels up, one to my home systems and the other to the office? Which of the three completely legit sets of DNS servers (one set from the hotspot via DHCP, and one set from each of the VPN links) should the resolver use, given that using the wrong one will result in false NXDOMAIN results?

If you have a solution to this that doesn't require running a hand-tweaked DNS server on my laptop, I'm all ears -- besides, this half-baked solution won't work on many public hotspots due to restrictive firewall rules, and what happens if the VPN tunnel is down?

(And for the record, I have written DNS clients and servers, so I'm actually fairly clued in how DNS-the-protocol, DNS-the-system, and the glibc resolver works. You, on the other hand, appear to be lacking on all fronts)

The "Devuan" Debian fork and the fuss about systemd

Posted Dec 3, 2014 7:07 UTC (Wed) by mgb (guest, #3226) [Link] (9 responses)

> Which of the three ... DNS servers ... should the resolver use ... ?

Whichever the sysadmin specified.

Clients on our VPNs use our DNS servers for security reasons. Your sysadmin may have different but equally valid requirements.

The "Devuan" Debian fork and the fuss about systemd

Posted Dec 3, 2014 7:23 UTC (Wed) by Cyberax (✭ supporter ✭, #52523) [Link] (8 responses)

I'm connected to a VPN and I have a media-center in my home network. Which DNS server should resolve its name?

The "Devuan" Debian fork and the fuss about systemd

Posted Dec 3, 2014 8:26 UTC (Wed) by mgb (guest, #3226) [Link] (7 responses)

> I'm connected to a VPN and I have a media-center in my home network. Which DNS server should resolve its name?

If you were a client on one of our business VPNs the answer while you were connected would be that no DNS server should resolve the name of your media center for you.

Your sysadmin may have different requirements but it's unlikely he or she would want you to use possibly malicious DNS servers that systemd hears about from DHCP.

DNS server priority and VPNs (was: The "Devuan" Debian fork and the fuss about systemd)

Posted Dec 3, 2014 9:35 UTC (Wed) by cesarb (subscriber, #6266) [Link] (6 responses)

I don't know much about how VPNs are configured in the real world, and this seems like a good opportunity to learn. So far, I've only used "toy" VPNs with vtun, and I don't recall using alternate DNS servers with them.

How does a VPN server tell the client which DNS server to use? Is it DHCP over the virtual link? Is it IKEv2's configuration attributes? Is it PPP's negotiation? Something else?

In none of the options I just mentioned, AFAIK, there's a "override other DNS servers" flag (it wouldn't even make sense - what if the user were to connect to more than one VPN setting the same "override other DNS servers" flag?). So there must be some other mechanism by which the VPN server administrator tells the client to use the VPN's DNS servers and only the VPN's DNS servers. Do you know where I could read more about that mechanism?

Because without such a mechanism, the most logical response from the VPN client software would be to dump all learned DNS servers from all links in the /etc/resolv.conf file, where they would be queried either in random order or in sequential order. In the latter case, the ordering between "work" and "home" VPNs (pizza's and Cyberax's examples both have two VPNs) would depend on which one was connected to last.

DNS server priority and VPNs (was: The "Devuan" Debian fork and the fuss about systemd)

Posted Dec 3, 2014 9:58 UTC (Wed) by kleptog (subscriber, #1183) [Link] (5 responses)

Well, what used to happen is that the VPN servers/DHCP clients would dump all over the settings in resolv.conf and if you were lucky it would put them back after disconnect. The DNS settings are part of the setup packet, just like the routes and gateways. If you had multiple VPNs and/or DHCP your DNS would work about 50% of the time. Basically you had to configure it manually.

So instead a bit of glue called resolveconf was created and each program that wanted to setup DNS would dump its settings in a directory and another script would look at its priority list and select the one with the highest prio.

This mostly works, although it can in no way merge the results. You get one of the choices, but you have some control over the choice.

What happened in my case is that one of those files got created and had a high prio (NetworkManager is dead last in prio) but the DHCP client had gone. Hence broken DNS. Ofcourse, these files are stored in /var/run so a reboot would have fixed it but that's the lame solution. You can edit /etc/resolv.conf by hand, but it just gets overwritten again next time you start a VPN.

Once you have a daemon that knows the relationship between the DNS settings and the VPN server/DHCP client (like in systemd) it can make sure the settings are correct even if the server dies abnormally.

You could have done this by making resolv.conf smarter, but sysvinit doesn't provide a way to determine if something is still running. Note that NetworkManager has some smarts internally so if you're only using that it works better. But if you use stuff besides that you're left with the glory of resolveconf.

DNS server priority and VPNs (was: The "Devuan" Debian fork and the fuss about systemd)

Posted Dec 3, 2014 12:44 UTC (Wed) by mgb (guest, #3226) [Link] (4 responses)

> Once you have a daemon that knows the relationship between the DNS settings and the VPN server/DHCP client (like in systemd) it can make sure the settings are correct even if the server dies abnormally.

Except that systemd doesn't do that.

Poettering did propose an extension to handle the xhamster problem[1] but the existing Domains="..." option and the new Domains="*" syntax are the opposite of VPN DNS security. Systemd also lacks the dynamic reconfiguration which resolvconf provides.

Without a clean functional design systemd is forever adding more and more keywords to the systemd hairball and it's still not even close to implementing the functionality provided but existing trusted solutions.

[1] http://lists.freedesktop.org/archives/systemd-devel/2014-...

DNS server priority and VPNs (was: The "Devuan" Debian fork and the fuss about systemd)

Posted Dec 4, 2014 21:19 UTC (Thu) by paulj (subscriber, #341) [Link] (3 responses)

Yeah, the ever growing number of options for service/unit/etc. files are starting to make even the more complicated shell scripts in older init systems looksensible. :(

DNS server priority and VPNs (was: The "Devuan" Debian fork and the fuss about systemd)

Posted Dec 4, 2014 21:41 UTC (Thu) by anselm (subscriber, #2796) [Link] (2 responses)

At least the systemd options are documented in very visible man pages. Most of the clever hacks in the more complicated init shell scripts of the traditional setup aren't.

DNS server priority and VPNs (was: The "Devuan" Debian fork and the fuss about systemd)

Posted Dec 4, 2014 22:05 UTC (Thu) by mgb (guest, #3226) [Link] (1 responses)

> At least the systemd options are documented in very visible man pages. Most of the clever hacks in the more complicated init shell scripts of the traditional setup aren't.

To boot a traditional sysvinit server you just need to get the sequence numbers in order - something that your distro almost always gets right and you never need to change.

There's no more need for you to try to understand how shell scripts are written than there is for you to be able to disassemble ELF files in your head.

Systemd is much more complicated - and much more prone to random boot failure - because it is so much harder to express every one of the O(N^2) dependencies and it's not feasible to prove whether your dependency graph is complete.

DNS server priority and VPNs (was: The "Devuan" Debian fork and the fuss about systemd)

Posted Dec 5, 2014 0:07 UTC (Fri) by mchapman (subscriber, #66589) [Link]

> Systemd is much more complicated - and much more prone to random boot failure - because it is so much harder to express every one of the O(N^2) dependencies and it's not feasible to prove whether your dependency graph is complete.

Oh, puhlease. Very few units need inter-service dependencies (on my system, it appears to be about a fifth of them). Those that do are usually bundled together anyway (e.g. sshd.service wants sshd-keygen.service). The remaining dependencies are mostly along the lines of "I need the network" (and the service is not smart enough yet to work before the network has been brought up). Most dependencies are "wants" rather than "requires" anyway, which makes it very *hard* to break boot.

The sysadmin simply doesn't need to worry themselves about this stuff. A simple "systemctl list-dependencies multi-user.target" proves that systemd can solve this problem completely on its own.

The "Devuan" Debian fork and the fuss about systemd

Posted Dec 2, 2014 23:39 UTC (Tue) by cesarb (subscriber, #6266) [Link] (3 responses)

> Why do you have to run a complete NTP server daemon just to keep the system time accurate?

Because a complete NTP daemon disciplines the clock, so not only the time is correct, but also the frequency is correct, and because a complete NTP daemon has a selection algorithm which compares the time returned from all the servers and discards falsetickers, instead of trusting the first server which answers.

I will not use systemd-timesyncd on any of my systems until it becomes more than a dumb SNTP client. In the meantime, I'll use chrony or ntpd.

OTOH, systemd-resolved looks interesting, but can it work when the network is managed by NetworkManager instead of systemd-networkd? I don't think systemd-networkd can manage a laptop's wireless card as well as NetworkManager (i.e. choosing the SSID and entering the PSK from a GUI within KDE or Gnome), AFAIK it's more of a replacement for e.g. Debian's /etc/network/interfaces.

The "Devuan" Debian fork and the fuss about systemd

Posted Dec 3, 2014 10:15 UTC (Wed) by kleptog (subscriber, #1183) [Link]

> Because a complete NTP daemon disciplines the clock, so not only the time is correct, but also the frequency is correct, and because a complete NTP daemon has a selection algorithm which compares the time returned from all the servers and discards falsetickers, instead of trusting the first server which answers.

You do have a small point there, which is why I said "NTP server daemon". We just need a smarter client. I'm not sure if it's important enough for me though. What we need is something smarter than timesyncd but not as complicated as ntpd. Actually disciplining the clock is not hard, might fix that myself if it bugs me enough.

> I will not use systemd-timesyncd on any of my systems until it becomes more than a dumb SNTP client. In the meantime, I'll use chrony or ntpd.

Chrony looks interesting but appears to solve a different problem. It's still a server though.

The "Devuan" Debian fork and the fuss about systemd

Posted Dec 3, 2014 11:25 UTC (Wed) by anselm (subscriber, #2796) [Link] (1 responses)

Because a complete NTP daemon disciplines the clock, so not only the time is correct, but also the frequency is correct, and because a complete NTP daemon has a selection algorithm which compares the time returned from all the servers and discards falsetickers, instead of trusting the first server which answers.

Actually, systemd-timesyncd does discipline the clock. Right now it does talk only to one NTP server at a time, so it will work best syncing against a set of local time servers that run a full NTP server implementation.

I will not use systemd-timesyncd on any of my systems until it becomes more than a dumb SNTP client. In the meantime, I'll use chrony or ntpd.

And there is nothing wrong with that. In fact, systemd's documentation explains how to do this.

The "Devuan" Debian fork and the fuss about systemd

Posted Dec 3, 2014 13:29 UTC (Wed) by cesarb (subscriber, #6266) [Link]

> Actually, systemd-timesyncd does discipline the clock.

I took a quick peek at its source code, and it does not seem to use ADJ_FREQUENCY. Does it really adjust the clock's frequency?

> Right now it does talk only to one NTP server at a time, so it will work best syncing against a set of local time servers that run a full NTP server implementation.

That can work for a server or desktop usecase, but it will not work as well for a laptop or similar usecase, where a "local" time server might not exist at the moment.

And even on a controlled network, there's the risk that one server has gone insane; the recommendations I have seen is to have three or four NTP servers in your network, so a NTP client can detect and ignore the falseticker.

> And there is nothing wrong with that. In fact, systemd's documentation explains how to do this.

Does it even need documentation? Do a "systemctl disable systemd-timesyncd", a "systemctl enable chrony", and you're done.

The "Devuan" Debian fork and the fuss about systemd

Posted Dec 3, 2014 0:12 UTC (Wed) by mgb (guest, #3226) [Link] (17 responses)

> From my point of view systemd is finally providing correct solutions for problems that have been endlessly worked around.

From a sysadmin's point of view, systemd is providing *incorrect* answers - megabytes of config files with hundreds of poorly documented options, logging bottlenecks, incorrect DNS results, and time jumps.

What fraction of RHEL sysadmins have actually bought into the hype and deployed systemd in production servers? 1%? And how many of them are already regretting it?

The "Devuan" Debian fork and the fuss about systemd

Posted Dec 3, 2014 7:14 UTC (Wed) by Cyberax (✭ supporter ✭, #52523) [Link] (2 responses)

I have a simple question for you: are you a bash script?

The "Devuan" Debian fork and the fuss about systemd

Posted Dec 10, 2014 17:19 UTC (Wed) by nix (subscriber, #2304) [Link]

No, this is Serdar Argic, except someone's changed the trigger string to 'systemd' and altered the templates it sprays out when triggered.

The "Devuan" Debian fork and the fuss about systemd

Posted Dec 10, 2014 21:03 UTC (Wed) by mathstuf (subscriber, #69389) [Link]

Seeing as he pretty much evaporated since the discussion about him offering nothing new to the threads he comments in, the indication that he's basically got no standing from his declarations that he never has nor will try systemd personally, and the lack of a denial here, I wonder if a "trap" condition got triggered in his source code.

The "Devuan" Debian fork and the fuss about systemd

Posted Dec 3, 2014 11:11 UTC (Wed) by anselm (subscriber, #2796) [Link]

From a sysadmin's point of view, systemd is providing *incorrect* answers - megabytes of config files with hundreds of poorly documented options, logging bottlenecks, incorrect DNS results, and time jumps.

You must be talking about a different systemd than what most people are using. Most of the points you raise have been debunked over and over again here and elsewhere.

As far as systemd's time synchronisation service is concerned, there are two points worth noting:

  • systemd-timesyncd supports SNTP, which is a simplified version of NTP. This means that you should use it in a context where you have a set of local time servers that run a full-blown NTP server implementation, and you don't want to run an NTP server on every single machine. If you distribute the names of your NTP servers by DHCP, systemd-timesyncd does not require any local configuration at all.
  • Systemd makes it easy to deploy a different NTP implementation such as chrony or ntpd, which are safer on standalone machines without a local time server elsewhere on the LAN. This is documented in systemd's timedatectl(1) man page.

What fraction of RHEL sysadmins have actually bought into the hype and deployed systemd in production servers?

Those who have upgraded to RHEL 7, presumably.

The "Devuan" Debian fork and the fuss about systemd

Posted Dec 3, 2014 13:13 UTC (Wed) by cesarb (subscriber, #6266) [Link]

> [...] and time jumps.

In case you are referring to my complaint about systemd-timesyncd, you're wrong.

Like any decent NTP client, systemd-timesyncd *slews* the clock. The Linux kernel can be told "slew the clock by 10ms" and it will gradually shift the clock until it matches, without any jumps.

And yeah, if the difference is too large, every NTP client will step (i.e. jump) the clock. That includes chrony and ntpd.

The "Devuan" Debian fork and the fuss about systemd

Posted Dec 4, 2014 20:54 UTC (Thu) by sjj (guest, #2020) [Link] (11 responses)

Huh, we don't have megabytes of config files here:
$ cat /etc/redhat-release ; du -sh /usr/lib/systemd/system
CentOS Linux release 7.0.1406 (Core)
748K /usr/lib/systemd/system

What system has megabytes?

And poorly documented? How about apropos systemd; man systemd.unit; man systemd.service. I *wish* other parts of the system were so "poorly" documented!

As my first foray into systemd, I needed to run a special configuration script for openvpn server before it starts. Steps: copy service file from /usr/lib to /etc, add ExecStartPre=, and... done. Extra nice that since the config files are .ini format, and ansible knows how to edit those natively in-place, this is now automatic.

Sure, I could hack that into the openvpn startup script, or put in a new init.d script to run before openvpn, but that's brittle. And now I have a pattern - I can use the exact same pattern for other services instead of a service-specific hack (have you ever read an HP or Oracle etc "Enterprise" init script???).

Consistency and easy automation of changes in service initialization? This is a win-win-win for me as a sysadmin.

Please provide an example (preferably with reproducible test case or perfomance numbers) of logging bottleneck - I definitely would like to see if this could be problem.

The "Devuan" Debian fork and the fuss about systemd

Posted Dec 4, 2014 21:06 UTC (Thu) by dlang (guest, #313) [Link] (4 responses)

> Please provide an example (preferably with reproducible test case or perfomance numbers) of logging bottleneck - I definitely would like to see if this could be problem.

this again?

you want a test case, ok here's a simple test

take any largeish text file

run logger -f against that file and see how many messages per second you can process with systemd delivering the messages to syslog and going directly to syslog

to eliminate other possible distractions, I would suggest simplifying your syslog config to just write all logs to a single file. If you are using rsyslog, I would suggest using a template that has %timegenerated% in it so that you get the timestamp of when rsyslog sees the message as opposed to the timestamp that the journal puts on it.

While you do this, look at the time/cpu taken by logger to deliver the messages, and also the time/cpu used by the journal and syslog daemons to process the messages

The "Devuan" Debian fork and the fuss about systemd

Posted Dec 4, 2014 22:49 UTC (Thu) by sjj (guest, #2020) [Link] (3 responses)

This was an honest question. Since you've been banging this drum for weeks here, I would expect you to have some examples. Care to share?

I don't have time to setup much testing right now (maybe next week) - a quick test in a CentOS7 VM (KVM under Ubuntu latest on an MBAir) gives me about 12000 msgs/sec with /var/log on either tmpfs or xfs-on-KVM-on-ext4-on-SSD (this makes me wonder about the test setup...)

If a dinky little VM can do 12000 msg/sec, I'm fairly confident this isn't going to spoil my day. Even when I rebuild the central log server, but I'll be looking at the options at that time. Anybody have comparison numbers between stock RHEL/CentOS 6 vs 7 logging performance?

The "Devuan" Debian fork and the fuss about systemd

Posted Dec 8, 2014 19:21 UTC (Mon) by dlang (guest, #313) [Link] (2 responses)

a moderate VM should be able to do at least 10x the log volume that you are reporting (a couple hundred thousands of messages/sec), so I don't know what's going on with your test.

I don't have any systemd based systems to run tests on, so I can't give you a direct comparison from my own tests.

The "Devuan" Debian fork and the fuss about systemd

Posted Dec 9, 2014 2:57 UTC (Tue) by mathstuf (subscriber, #69389) [Link] (1 responses)

Just out of curiosity, what application(s) are pumping out that volume of data? What do you do with a fire hose of something like 10 megs a second (assuming 100 bytes per message)? What tools do you use to analyze the logs? Do you have a dedicated network interface for the logs? Eating up 10% of your gigabit bandwidth doesn't sound like the best use of it or the CPU work involved. Assuming that you have users which are generating the data interactively (and not batch jobs).

The "Devuan" Debian fork and the fuss about systemd

Posted Dec 9, 2014 3:25 UTC (Tue) by dlang (guest, #313) [Link]

I normally only see that sort of volume on my log aggregation boxes, not on individual boxes generating the logs. But you would be surprised at how much traffic a firewall or webserver can generate at a company that has multiple gigabit Internet connections. Yes, Gig-E throughput is a limiting factor on some of my systems (a limit I haven't hit outside of testing, yet. But it's in sight)

As far as best use of the CPU goes, it's better spent getting the logs off the box so that other systems can analyze them than trying to do all that analysis locally (not to mention that some things require analysis on logs across systems)

> Assuming that you have users which are generating the data interactively (and not batch jobs).

when you have 10's of millions of users using your services interactively, you can generate a LOT of log data.

for what it's worth, the reported rsyslog record is 1 million logs/sec processed by a single VM (on a 10G network with a good disk subsystem, but I think it was a 2-core VM)

The "Devuan" Debian fork and the fuss about systemd

Posted Dec 4, 2014 22:45 UTC (Thu) by rodgerd (guest, #58896) [Link] (2 responses)

> copy service file from /usr/lib to /etc, add ExecStartPre=, and... done.

Even better: source it and add the ExecStartPre= and not worry that upgrades will skew the source and your copy.

The "Devuan" Debian fork and the fuss about systemd

Posted Dec 4, 2014 23:08 UTC (Thu) by cortana (subscriber, #24596) [Link] (1 responses)

Oblig. even better again... create /etc/systemd/foo.service.d/local.conf in which you can put _just_ the ExecStartPre= line. :)

The "Devuan" Debian fork and the fuss about systemd

Posted Dec 5, 2014 3:09 UTC (Fri) by sjj (guest, #2020) [Link]

D'oh, of course, nice. Thanks!

The "Devuan" Debian fork and the fuss about systemd

Posted Dec 5, 2014 0:00 UTC (Fri) by mchapman (subscriber, #66589) [Link] (2 responses)

> $ cat /etc/redhat-release ; du -sh /usr/lib/systemd/system
CentOS Linux release 7.0.1406 (Core)
748K /usr/lib/systemd/system

And if you stick an --apparent-size in there as well, so you get the size of the content only, it drops by a factor of five.

That's what you get when you have lots of very small files. I'd much rather have that than a few large ones.

The "Devuan" Debian fork and the fuss about systemd

Posted Dec 5, 2014 3:13 UTC (Fri) by sjj (guest, #2020) [Link] (1 responses)

Thanks for the clarification. I had this small insistent voice at the back of my head during the drive home that something still wasn't right since this was only 200+ files.

The "Devuan" Debian fork and the fuss about systemd

Posted Dec 5, 2014 10:22 UTC (Fri) by cortana (subscriber, #24596) [Link]

You can make it even more accurate with something like:

find /lib/systemd/system /etc/systemd/system -type f -exec du --apparent-size -hc {} + | sort -h

Which comes to 107k on my system.

The "Devuan" Debian fork and the fuss about systemd

Posted Dec 3, 2014 9:16 UTC (Wed) by paulj (subscriber, #341) [Link] (2 responses)

I wouldn't dispute that things could be improved. I am not saying there should be no progress.

The point is purely about how systemd has a goal of moving core Linux user-space into a single project. That doesn't make me feel good. I'll be honest, for me that's not so much about the single project aspect, but more about the benevolent dictator in charge of it. I fear his attitude on compatibility and bugs is likely to lead to even more pain for me than it already has (on other, less important projects).

I just don't like the idea of core Linux user-space becoming tightly coupled with lots of interdependencies, and requiring very specific kernel versions that mean you need flag days for upgrades (that aren't documented very well!) where you can't go back to the previous kernel.

Then there's the tendency to re-implement stuff. Or sometimes base those re-implementations on new crypto schemes that havn't been published, never mind peer-reviewed (but hey, it's his brother, so it must be ok!). That kind of thing doesn't fill me with confidence.

Nor does the kind of coding methodology the project is happy to accept for highly-security sensitive parsing of network input inspire confidence. That's one remote-exploit CVE already. The code concerned, even after that CVE, will not leave anyone with confidence in that projects code review practices on any highly sensitive code.

The "Devuan" Debian fork and the fuss about systemd

Posted Dec 3, 2014 9:50 UTC (Wed) by niner (subscriber, #26151) [Link]

" I'll be honest, for me that's not so much about the single project aspect, but more about the benevolent dictator in charge of it."

What makes you think that there's a dictator in the systemd project? Looking at http://cgit.freedesktop.org/systemd/systemd/log/ I find at least 6 differenct committers in the past few days. The highest number of commits was by Zbigniew Jędrzejewski-Szmek, who to the best of my knowledge has never been mentioned in any of these systemd discussions.

"and requiring very specific kernel versions that mean you need flag days for upgrades (that aren't documented very well!) where you can't go back to the previous kernel."

Not very specific kernel versions. Just new enough kernels. And you don't need flag days, you just have to make sure, you have the newer kernel before the systemd version that depends on this kernel. Really just like with any other software and its dependencies.

The "Devuan" Debian fork and the fuss about systemd

Posted Dec 3, 2014 13:37 UTC (Wed) by johannbg (guest, #65743) [Link]

" I'll be honest, for me that's not so much about the single project aspect, but more about the benevolent dictator in charge of it. "

Lennart is not an benevolent dictator of the project, he is however an lead developer along with Kay, Tom, Zbyszek and others and there are certain areas he is better qualified to make "judgment calls" about just like Kay, Tom, Zbyszek and others are as well.

I however dont understand where this perception is coming from since things are being openly discussed on the mailinglist, hackfests etc. and atleast up to this point the most technical sound solution always has prevailed regardless if Lennart has been with it to begin with or against it.

The "Devuan" Debian fork and the fuss about systemd

Posted Dec 3, 2014 17:30 UTC (Wed) by Cyberax (✭ supporter ✭, #52523) [Link] (15 responses)

> Service files today often contain a number of hard-coded dependencies on other services, and on things that must be run before or after the running of the service itself.
Yes, just like any other init system. Dependencies are actually NOT hardcoded - you can override them (and only them!) using custom units in /etc.

>Indeed, systemd even has directories of symlinks to encode dependencies
Incorrect. Systemd does not use symlinks to encode dependencies in any meaningful way.

> - Decrying hard-coded dependencies and sets of symlink directories, only to replace it with another set of the same but different: Hmmm...
BS.

The "Devuan" Debian fork and the fuss about systemd

Posted Dec 3, 2014 23:56 UTC (Wed) by mchapman (subscriber, #66589) [Link] (14 responses)

> Incorrect. Systemd does not use symlinks to encode dependencies in any meaningful way.

I think you'll find the wants.d/ and requires.d/ directories that "systemctl enable/disable" manages use symlinks to represent dependencies. Each symlink is exactly equivalent to a Wants or Requires directive in the corresponding unit's configuration file.

The "Devuan" Debian fork and the fuss about systemd

Posted Dec 4, 2014 3:17 UTC (Thu) by raven667 (subscriber, #5198) [Link] (2 responses)

I'm looking at a system and the only thing I see are target.wants directories which correspond to which services are enabled at each run target, I don't see any symlinks encoding what services depend on each other, service dependencies are dynamically generated at runtime as far as I know.

The "Devuan" Debian fork and the fuss about systemd

Posted Dec 4, 2014 6:21 UTC (Thu) by mchapman (subscriber, #66589) [Link] (1 responses)

You certainly can have some.service.wants/ directories. They work exactly the same as some.target.wants/ directories.

In other words, just as having a "multi-user.target.wants/foo.service" symlink means "in order to start multi-user.target, foo.service must also be started", you can also have a "foo.service.wants/bar.service" symlink to mean "in order to start foo.service, bar.service must also be started".

There's a few reasons why you're probably not seeing this on your system.

First, most service-to-service dependencies are static, so there's no need for the dynamism that symlinks provides. The author of the unit file just defines the dependencies when they're writing it. Using symlinks for dependencies in the {/usr,}/lib/systemd directory is discouraged.

Second, symlinks can only be used to define Wants and Requires directives. When you have service-to-service dependencies, you often want After as well.

Finally, the symlinks managed by "systemctl enable/disable" ultimately come from the [Install] sections in unit files, and most of the time "enabling" a unit only involves having it depended upon by a target.

For these reasons, it is quite likely you only have .wants/ and .requires/ directories for target units.

The "Devuan" Debian fork and the fuss about systemd

Posted Dec 4, 2014 16:56 UTC (Thu) by raven667 (subscriber, #5198) [Link]

Right but the original statement which you were disagreeing with was

> Systemd does not use symlinks to encode dependencies in any meaningful way.

Which I think you are now agreeing with, the inter-service dependancies are not statically defined by symlinks by the admin before the system boots (like with S## and K## scripts), service dependancies are calculated at runtime by reading config files for explicit Wants/Requires/After statements, socket activation, udev and dbus events, etc. in an attempt to reach a particular target which is statically defined by the admin using symlinks before the system boots. While you can define Wants and Requires using symlinks as well that is not a common case as my running system doesn't have any service dependancies defined that way.

Maybe we are just talking around each other and don't actually disagree?

The "Devuan" Debian fork and the fuss about systemd

Posted Dec 4, 2014 18:54 UTC (Thu) by paulj (subscriber, #341) [Link] (10 responses)

and chkconfig used to read init scripts to determine which SysV init runlevel links to create for services.

I don't have a problem with this.

I'm just noting we have ended up with somewhat the same but different means of hard-coded services dependencies. Somewhat counter to some of the arguments as to why systemd was so necessary in earlier days.

The "Devuan" Debian fork and the fuss about systemd

Posted Dec 4, 2014 21:36 UTC (Thu) by anselm (subscriber, #2796) [Link] (9 responses)

With sysvinit, there are either no dependencies at all (and the distributor and/or local admin must figure out a working order when they're setting up the rc?.d symlinks by hand) or else the dependencies are encoded in the LSB headers of the various init scripts, where they are a hassle to change – especially in the face of upgrades by the distribution. The dependencies you can express are also quite limited.

Systemd to a large degree gets by without explicit dependencies, and it offers a mechanism that allows a local administrator to override those explicit dependencies that do exist, without having to tweak any files that are provided by the distribution. This makes updates a lot easier. It also supports command line tools to enact changes, which is useful for shell scripts (sysvinit requires the administrator to actually edit the init scripts, which is considerably less convenient).

From a system maintenance POV, systemd is way ahead of sysvinit in this respect.

The "Devuan" Debian fork and the fuss about systemd

Posted Dec 4, 2014 22:00 UTC (Thu) by mgb (guest, #3226) [Link] (8 responses)

> From a system maintenance POV, systemd is way ahead of sysvinit in this respect.

Occasional random boot failures due to O(N^2) missing dependencies?

No thanks.

The "Devuan" Debian fork and the fuss about systemd

Posted Dec 4, 2014 22:08 UTC (Thu) by anselm (subscriber, #2796) [Link] (6 responses)

Hasn't happened to me yet, on a variety of systems. Systemd happens to handle that sort of thing really well as far as I'm concerned – certainly a lot better than the traditional setup, which has no notion of a successfully started service in the first place. (It can see when an init script exits, but will then blithely continue trying to start stuff that depends on that service regardless of what happened with the init script, not to mention the service itself.)

In the absence of concrete evidence to the contrary I'll consider your claim FUD.

The "Devuan" Debian fork and the fuss about systemd

Posted Dec 4, 2014 22:14 UTC (Thu) by dlang (guest, #313) [Link] (5 responses)

so, rephrasing it "I haven't seen that problem so I don't believe it exists"

haven't we just seen the systemd opponents accused of holding this belief? (when they don't question that the problems exist for some people, they just disagree on it being enough to require it to be a default)

The "Devuan" Debian fork and the fuss about systemd

Posted Dec 4, 2014 23:36 UTC (Thu) by mathstuf (subscriber, #69389) [Link] (4 responses)

No, because here, anselm is asking for proof-positive of a claimed issue. The responses you get for your claims are for the non-existence of issues you don't see (and others, presumably, have had personal experience with such issues, so they don't believe that you have evidence to say they're wrong). Now, you can argue how *important* the issues are, but that's a different discussion.

Here, I basically discount anything mgb claims without evidence because there hasn't been much to indicate that he has actually tried systemd and instead just states the same FUD over and over.

The "Devuan" Debian fork and the fuss about systemd

Posted Dec 5, 2014 11:59 UTC (Fri) by mpr22 (subscriber, #60784) [Link] (3 responses)

there hasn't been much to indicate that he has actually tried systemd

Even better, mgb has in fact clearly indicated in comments on this very site that they have no intention of ever running systemd under any circumstances.

The "Devuan" Debian fork and the fuss about systemd

Posted Dec 5, 2014 15:47 UTC (Fri) by raven667 (subscriber, #5198) [Link] (2 responses)

> Even better, mgb has in fact clearly indicated in comments on this very site that they have no intention of ever running systemd under any circumstances.

That's so weird, maybe not the most effective way to evaluate technology choices, and more similar to Ford vs. Chevy fanboisim or sports team loyalty, or religion.

Also, the Chicago Bears still suck. 8-)

The "Devuan" Debian fork and the fuss about systemd

Posted Dec 5, 2014 17:30 UTC (Fri) by anselm (subscriber, #2796) [Link] (1 responses)

The real danger for somebody like mgb is that they become so invested in their crusade against systemd that they end up literally afraid to actually try systemd, or to learn anything factual about it at all, because they might find out that it is really not that bad, and the cognitive dissonance would be too much to bear. It is a lot less dangerous (to their own sanity, anyway) to keep repeating the FUD with increased zeal, and so they just continue doing that instead.

This type of psychology is otherwise often seen, for example, in many young-Earth creationists, who will actively resist looking at evidence for evolution because they are scared that it might shake their faith in the literal truth of the biblical creation myth that is central to their religion.

The "Devuan" Debian fork and the fuss about systemd

Posted Dec 5, 2014 17:35 UTC (Fri) by raven667 (subscriber, #5198) [Link]

I suppose what you describe is a fundamentally very weak faith, or ego, if it needs to be protected so strongly.

The "Devuan" Debian fork and the fuss about systemd

Posted Dec 5, 2014 20:56 UTC (Fri) by flussence (guest, #85566) [Link]

That, somewhat ironically, describes most people's experience with OpenRC in parallel mode.

OT: It's a bike shed

Posted Nov 29, 2014 10:29 UTC (Sat) by cesarb (subscriber, #6266) [Link] (9 responses)

I've been trying to grok why the debate has become so heated for a while, and I think I finally understood it yesterday.

An init system is not a nuclear power plant.

Everybody (on the Unix world) understands (or thinks can understand) how an init system works. It's something so simple that it could be implemented as a set of shell scripts (and on traditional sysvinit without an initrd, it actually is). Therefore, everyone has its own strongly-held opinion on how things should be done.

That wouldn't happen with for instance a new register allocator for a compiler, which is the sort of esoteric subject few feel qualified to have an opinion about.

Now combine this with strong personalities, and a few trolls fanning the flames for the lulz, and one can see how the discussion got so heated.

OT: It's a bike shed

Posted Nov 29, 2014 20:27 UTC (Sat) by deepfire (guest, #26138) [Link] (8 responses)

You are mistaken in a fairly trivial way -- systemd is far beyond being just an init system.

OT: It's a bike shed

Posted Nov 29, 2014 22:10 UTC (Sat) by cesarb (subscriber, #6266) [Link] (7 responses)

> You are mistaken in a fairly trivial way -- systemd is far beyond being just an init system.

At its core, it's an init system. An init system, not an init daemon. Most of its extra functionality is replacing what used to be provided by the "early boot" scripts (rcS.d on Debian-style distributions), or the core parts of the "late boot" scripts (at rc[2345].d on Debian-style distributions) like filesystem mounting or networking.

Other parts of its extra functionality are things which are required for its functionality (cgroup management), which augment its functionality (like journald, which as some might remember started as the "stdio bridge" to capture a daemon's stdout/stderr output), or which work better as part of PID 1 (I believe that's the case for kdbus management).

Finally, there are the parts which just share its internal libraries of utility functions but are otherwise separate; udev is the main example (it's still separate, only the code was simplified by porting it to systemd's internal libraries), and I believe the future "userspace console" work will also be an example. These are not a concern; they are using the same git repository just for development convenience.

Other than that last category, it all can elicit the reaction "I could do that with shell scripts" (pulling things like syslog and udev from external projects, and managing them with shell scripts); in fact, that's how it was done before systemd. Thus my point stands:

> Everybody (on the Unix world) understands (or thinks can understand) how an init system works. It's something so simple that it could be implemented as a set of shell scripts (and on traditional sysvinit without an initrd, it actually is). Therefore, everyone has its own strongly-held opinion on how things should be done.

OT: It's a bike shed

Posted Dec 1, 2014 2:09 UTC (Mon) by ras (subscriber, #33059) [Link] (6 responses)

> At its core, it's an init system. An init system, not an init daemon.

It depends on how you define an "init system". To those of us who are familiar with SysV, an init system is something that starts and stops processes. This mostly happens during booting and software upgrades, and for all the criticism of SysV it does a serviceable job of it. That's hardly surprising, as it isn't a very big or complex job.

Systemd goes well beyond that definition. Yes, the starting point was an init system. But then they decided the init system provide containers for the sub-systems it's starting and stopping. This has multiple benefits. Security wise it isolates the subsystems, and this isolation makes dependencies between them explicit, which hopefully simplifying things and making them more reliable. I think it moved from there to "oh, lets put the users in their own containers too", for the same reasons.

But just putting everything inside turned out to be both fragile and complex, I think mainly because the existing utilities like pid 1(!), cron, network configuration (plus DHCP, DNS, nssswitch) and were designed for managing an entire LAN, not a set of containers. Done properly these would be split into client and server side, with the server realising it was managing a host and the client tailored to running in a container on that host. The solution was to write their own replacements for all these, which they have done. As part of that taking over udev was necessary because that is what makes resources (like tty's and networks) available to containers. They also need a way to communicate between all those containers securely. (It's a big issue, because whatever mechanism is chosen is also the first mechanism an attacker will look at for escaping the container.) DBus is apparently the chosen way. KDBus makes it more suitable for this task - in particular it brings security enhancements only the kernel can provide.

In short, they are trying to move from a world where we run a whole pile of services on one system which necessarily means everything is visible to everything else, to a system that isolates every individual service and user to its own virtual container and so the default becomes it can see nothing else the box is doing, unless someone explicitly arranges for it.

So now goal posts have moved from "init system" to containerisation system. Once you view yourself as providing a universal container, it's natural to also provide all the tools needed by your average container : network devices, mounted file systems, time, logging, setting host name, cron like services, providing mechanism via which the containers can communicate and cooperate, yada yada - there are a lot of them, which is why systemd re-implements world+dog. And there is a surprising one: managing what software packages are visible in the container, so for example only containers that need a setuid sudo have the sudo package. So claims that systemd aims to provide all of the next layer above the kernel aren't too far from the truth, although typical of all spin such claims don't tell you the underlying reason.

To me with my software engineer hat on, it's an inspirational vision. It reminds me of the developments in programming languages 50 years ago, when we went from one big program to deliberating providing well defined interfaces, and hiding everything else by default. It also addresses a frustration I have felt for the last decade or so - that we now rely on machine visualisation to isolate our systems. This is absurd. For a start it's hugely inefficient. That's obvious from one simple metric - the number of containers something like OpenVZ can support vs VMWare. But worse, it's a demarcation dispute that cuts deep into our terrority. We software guys are supposed to be kings of layers of abstraction - but here we are using the abstraction layers provided the hardware guys over own.

On the other hand to me, a sysadmin responsible for ensuring hundreds of machines runs smoothly - it is scary stuff. Just learning a new init system is a big enough chore, but tossing out my current expertise in configuring boxes for a new paradigm is going to be a metric fuckton of work. I am absolutely not going to contemplate doing that work until it there is proof the vision the software engineer is getting so excited about yields a better result, proof in the form of systems that are easier to set up, and have been deployed and stable for a long while. If Debian were to force me along that path before it is in my professional opinion prudent to do so, I would abandon Debian, even though I am a DD. I think this is what underlies a lot of the angst I see on the Debian lists. For jessie that's undeserved as Debian is only adopting this bits of the systemd init system that replicate what SvsV is doing. It's a fairly small step.

However there is no denying where the systemd developers want to take us. Once they succeed in enticing us to take this first inch, they fully expect us to walk with them along the full mile. I can't fault their strategy - it's the tried and true embrace, extend, control. Getting every distro to use the systemd init system is the embrace step, and it has been done amazingly well. It is indeed far better SysV init system that SysV ever was, and the work they have done on backwards compatibility is awesome. If they pull the rest off with the same competence, they may well have a hope of taking the entire Linix eco system with them.

And finally we get to the relevance of the sentence I quoted at the start - charactering this as merely a changing from an "init daemon" to an "init system" is missing the point. In fact you've missed the entire barn.

OT: It's a bike shed

Posted Dec 1, 2014 6:42 UTC (Mon) by dlang (guest, #313) [Link] (1 responses)

> Once they succeed in enticing us to take this first inch, they fully expect us to walk with them along the full mile. I can't fault their strategy - it's the tried and true embrace, extend, control.

this is where I disagree with you. In FOSS we are supposed to be informed users and admins, with the expectation that we have full control over our systems. This is exactly the opposite of the trickery that you are describing.

OT: It's a bike shed

Posted Dec 1, 2014 7:34 UTC (Mon) by ras (subscriber, #33059) [Link]

> In FOSS we are supposed to be informed users and admins, with the expectation that we have full control over our systems. This is exactly the opposite of the trickery that you are describing.

I didn't intend to make a statement about the morality of it one way or the other. Lots of people have commented on the merits of their ambitions, yet when push comes to shove it seems those tasked with making a decision on whether to adopt systemd based it solely on the technical merits of what they saw before them. Debian certainly did. Why continue bash on a topic that ended up being irrelevant to the decision making process?

Now I think about why it is this way, it's probably because we all know it doesn't matter. It boils down to one thing: is this new scheme an improvement? If it is the end justified the means. If it isn't all this visualisation stuff becomes useless bloat that no one will have the patience to maintain, so it will be pruned down to just the init system - uselessd or something that looks like it.

All that said, it may be true my tone betrayed a sneaking admiration for way they have pulled this first stage off. They make the politicians in my country look like rank amateurs.

OT: It's a bike shed

Posted Dec 1, 2014 12:00 UTC (Mon) by vonbrand (subscriber, #4458) [Link] (3 responses)

SysVinit does do an extremely lousy job at "being just an init system" as you describe it. Yes, its numerous shortcommings can be worked around by ever more complex scripts for doing the actual starting and stopping, by having a seasoned sysadmin at hand for moving things along when some snag manifests itself, and an expert to find out how it wedged (yet again) and how to paper over said misfeature by waiting a while for things to settle.

Please get over it, init's job is not simple. The fact that init scripts grew like cancer, had to be refactored several times, and are still a gigantic mess should be a clue. No, "they could be written simply, the people who made the mess are just incompetent" doesn't cut it, check out why and how they grew, step by painful step. Besides, each distribution has its own version of the mess, thet can't all be completely clueless.

The fact that there grew a complete zoo of "start a process"-style services (inittab, init scripts, inetd, cron, specialized user session startup handling) should be a red flag that there is something amiss. Consider that daemon has two man pages here (Fedora 20), in section 7 listing 15 steps to be done rigurously (and saying that the daemon(3) function should not be used) for "SysV style", 10 different steps for "New style" (but mostly simplifying steps, or explaining why they aren't needed anymore). The 6 steps for systemd are just recommendations on how to write the service file, no special code in the daemon itself is mandated. The day you can write a simple daemon in nothing more than a dozen lines of, say, shell and have the whole startup/stop/restart/logging dance handled consistently by general infrastructure is near (if not already arrived) with systemd.

There have been several attempts to clean up this mess, and provide a consistent, common plumbing infrastructure for Linux. The first one to get real traction (as in not "just runs the legacy sysvinit scripts") across distributions is systemd. It isn't perfect now, and it will turn out to have its own warts. But it is a definite step forward, on almost the whole range of Linux use, from small embedded through desktop to large servers.

For perspective, I still remember the painful transitions from BSD init on SunOS to SysV on Solaris; then the pre-sysvinit handling on Linux to sysvinit, and finally the migration from that (upstart didn't count, it was just a "somewhat better sysvinit" here on Fedora) to systemd. The pain was worth it each time.

OT: It's a bike shed

Posted Dec 1, 2014 23:51 UTC (Mon) by flussence (guest, #85566) [Link] (2 responses)

> Please get over it, init's job is not simple.

Init's job is to serve as an entry point to the OS's rc system, reap exited processes, and halt the system on command.

Once you learn to stop conflating init with the rc layer (which may be Upstart, OpenRC, runit, s6, many other things, or as you so eloquently put it the "cancer" of RHEL/Debian shell scripts), you'll agree how simple it is.

OT: It's a bike shed

Posted Dec 2, 2014 0:19 UTC (Tue) by mpr22 (subscriber, #60784) [Link] (1 responses)

Observation: by your definition, sysvinit overreaches.

OT: It's a bike shed

Posted Dec 2, 2014 15:54 UTC (Tue) by flussence (guest, #85566) [Link]

It does! A lot of sysvinit doesn't need to be in PID 1 either.

The "Devuan" Debian fork and the fuss about systemd

Posted Nov 29, 2014 10:34 UTC (Sat) by cesarb (subscriber, #6266) [Link]

> is there a good write-up about the pros and cons?

The best one I've seen so far is the one written during the Debian "default init system" debate: https://wiki.debian.org/Debate/initsystem. It's highly detailed, and lists many pros and cons, not only for systemd but also for its alternatives.

If you have a lot of time to spare, you can also read the full discussion which led Debian to choose systemd by default: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=727708.

The "Devuan" Debian fork and the fuss about systemd

Posted Nov 29, 2014 11:02 UTC (Sat) by drago01 (subscriber, #50715) [Link] (1 responses)

There is no really issue really.

Desktop user: Init system does not really matter .. the only thing that they will notice is faster bootup.

Developers/ISVs: Can write a simple unit file instead of having to maintain hacky and crappy scripts for every distro or have each distro maintain its own "init script fork" ... and higher up they can really on standardized interfaces instead of per distro hacks too.

Sysadmins: It makes their work a lot easier by not having to mess with cruft like ancient init scripts and have way better ways to check the status of a specific service etc.

Greybeards aka "sysadmins frozen in time": Those people are just opposed to change because they fear that there knowledge of sysvinit quirks will become obsolete and feel "powerless".

Pulseaudio trolls: Some people simply don't like systemd because it was written by the author of pulseaudio ...

Random trolls: People that for some reason enjoy trolling.

The "Devuan" Debian fork and the fuss about systemd

Posted Nov 29, 2014 11:18 UTC (Sat) by Wol (subscriber, #4433) [Link]

> Desktop user: Init system does not really matter .. the only thing that they will notice is faster bootup.

Oh yes we'll notice ... something I want is multi-seat, but I don't want to break my home server migrating my gentoo system to systemd ...

And as soon as you start to do anything complicated with your home server, sysvinit will start having quirky corner cases and race conditions.

Basically, the difference between sysvinit and systemd is that sysvinit, like Topsy, "just growed" (and you can tell). systemd was designed from the ground up, which is why it keeps on grabbing new territory - this stuff "just seems to fit" so they make it fit. Like hostname can be easily set in a .service file, so why not? Upsetting a load of people in the process...

Cheers,
Wol

The "Devuan" Debian fork and the fuss about systemd

Posted Nov 29, 2014 13:18 UTC (Sat) by hubcapsc (subscriber, #98078) [Link] (4 responses)


* Perhaps those of you with more insight could take my ignorance as a
* challenge and englighten me?

It is different. After we get used to it, it will probably be
fine, maybe even awesome.

Last Monday was the start of a seemingly quiet week for me, so
I finally took my new desktop out of its box, hooked it all together,
and installed Fedora 20 on it. While trying to figure out why it
was acting weird (probably something related to the Nouveau
nvidia driver) I found that I could no longer
tail -f /var/log/messages and needed to go learn how to use
something called journalctl... I didn't want to learn something
new, I wanted my computer to turn on <g>...

Change is sometimes annoying, but is the way of the world...

-Mike

The "Devuan" Debian fork and the fuss about systemd

Posted Nov 29, 2014 13:49 UTC (Sat) by misc (subscriber, #73730) [Link] (3 responses)

It should be noted that this is a fedora change, and this can be changed with a simple yum install. Others distributions can and do make differents choices regarding journald default configuration, and Centos7 for example still have a more traditional setup out of the box.

Also, what you are looking for is "journalctl -f", I guess.

The "Devuan" Debian fork and the fuss about systemd

Posted Nov 29, 2014 14:20 UTC (Sat) by cesarb (subscriber, #6266) [Link] (2 responses)

> Also, what you are looking for is "journalctl -f", I guess.

I'd say "journalctl -fa" is a better answer. Using just "journalctl -f" truncates log lines to fit the screen; "journalctl -fa" displays them untruncated and without filtering unprintable characters, just like "tail -f" would do.

The "Devuan" Debian fork and the fuss about systemd

Posted Nov 30, 2014 18:51 UTC (Sun) by njs (guest, #40338) [Link] (1 responses)

They switched that default some time ago -- lines are now only truncated to fit the screen if you pass "--no-full". There is some more lenient truncation that's still applied (to fields that "contain unprintable characters or are very long", according to the man page); using "-a" disables this lenient truncation. So you can probably get away without using "-a" most of the time.

The "Devuan" Debian fork and the fuss about systemd

Posted Nov 30, 2014 21:06 UTC (Sun) by cesarb (subscriber, #6266) [Link]

> They switched that default some time ago -- lines are now only truncated to fit the screen if you pass "--no-full".

Awesome! That doesn't seem to be the case on this Fedora 20, however... <checks git> Yup, v209, Fedora 20 seems to be using v208.

The "Devuan" Debian fork and the fuss about systemd

Posted Nov 29, 2014 14:33 UTC (Sat) by jch (guest, #51929) [Link]

> is there a good write-up about the pros and cons?

I've tried my best:

http://lwn.net/Articles/453004/

Almost three years later, I still stand by what I wrote at the time, although I'm somewhat more critical now of both the software and the community.

Overview of the systemd arguments

Posted Nov 29, 2014 14:59 UTC (Sat) by sdalley (subscriber, #18550) [Link]

> I'm not really interested in a rant about what somebody regards as freedom and fundamental rights, just a level-headed, pragmatic, technical discussion, if there is any such thing.

Well, the best in this line I've come across was two statement-of-position posts, one from Ian Jackson[1] and the other from Russ Allbery[2], back last December before things started getting embroiled in egos and personalities.

[1] http://lwn.net/Articles/578209/

[2] http://lwn.net/Articles/578210/

The "Devuan" Debian fork

Posted Nov 29, 2014 9:24 UTC (Sat) by mvar (guest, #82051) [Link]

As a desktop user i find this a bit redundant, Debian works just fine without systemd and this whole devuan effort would be better spent in keeping debian that way. I can't see anyone benefiting from this. In every systemd discussion i've read so far the single common thing that people mention is the upstream attitude. So if there was a change in that and/or if everyone involved had read this https://lwn.net/Articles/619330/ , i believe we could just shake hands and move on.

The "Devuan" Debian fork

Posted Nov 29, 2014 10:53 UTC (Sat) by Lionel_Debroux (subscriber, #30014) [Link] (26 responses)

I had hoped that the so-called veteran Unix admins wouldn't be so counter-productive as to fork Debian outright for limited valid reason.
However, it appears that they're actively willing to duplicate, fracture, weaken and otherwise damage one of the most important projects for open source, upstream of many derivatives, directly used by tens of millions of persons in the world, instead of working with others as part of one, stronger Debian project...
Competitors weakening themselves through internal wars... Microsoft - even the new flavour thereof, more open towards Linux - must be overjoyed :)

Oh well. Hopefully, users will keep seeing the light, stick to the feature and use cases of the present and future provided by systemd in Debian and most other distros (*), and send that fork where it belongs, into oblivion...
Past discussions about init systems on LWN have shown that other init systems are no longer up to the task, let them rest in peace.

The "Devuan" Debian fork

Posted Nov 29, 2014 11:20 UTC (Sat) by Wol (subscriber, #4433) [Link] (1 responses)

How many of these trolls are Microsofties taking advantage of discontent to fan the flames?

On past form quite probably a fair few "black ops" guys, I expect ...

Cheers,
Wol

The "Devuan" Debian fork

Posted Nov 29, 2014 11:45 UTC (Sat) by Lionel_Debroux (subscriber, #30014) [Link]

Good question, but probably nonzero. We're on the same line :)

At work, I still have to deal with the combination of a custom System V init script, and restartd (to monitor and restart a daemon automatically), because of several x86_64 LMDE boxes, and also ARM boxes with such outdated, unmaintained kernels that they can't run systemd.
When the Jessie boat has sailed and been propagated in LMDE, and newer kernels have been provided by the manufacturer for the ARM boxes, no more System V script, no more custom postinst to add/update entries in restartd's conf... just a trivial systemd service.

The "Devuan" Debian fork

Posted Nov 29, 2014 13:46 UTC (Sat) by philomelus (guest, #96366) [Link] (16 responses)

The problem here is that THEY WERE TOLD TO FORK. Read all the messages, and in almost every case they were told that if they don't like it, fork.

Now that they are doing what they were told was the only option, people are up in arms about that too!

To paraphrase, "We are changing the way the entire OS starts up. If you don't like it, fork and continue to do it the old way."

"What is the matter with you people? Why are you forking over such a silly thing as the WAY THE OS BOOTS? Stupid greybeards. The majority voted and you lost, live with it!"

The "Devuan" Debian fork

Posted Nov 29, 2014 14:31 UTC (Sat) by thumperward (guest, #34368) [Link] (1 responses)

Taken in isolation, this is perfectly correct. However, given that a) the press-release:code ratio here is so high, and b) nobody with any public "veteran Unix admin" credentials is willing to put more than a pseudonym towards said fork (with most of those being obvious trolls like LWN's own "mgb"), the community is perfectly right to be sceptical about the long-term feasibility of this particular revolution.

If this takes off, and the dozen or so sociopaths who have made Debian's mailing lists such a cesspool for the last eighteen months or so all shuffle off to use it, then we'll all look back on it as a fabulous success. But I wouldn't hold my breath waiting for that outcome.

The "Devuan" Debian fork

Posted Dec 2, 2014 12:01 UTC (Tue) by nix (subscriber, #2304) [Link]

the dozen or so sociopaths who have made Debian's mailing lists such a cesspool for the last eighteen months or so all shuffle off to use it
You really think they'd leave? They'd just find something else to be abominable about. It's the offense and the reaction and the sense of self-importance they care about, not the topic. (Most of them appear barely to know a thing about the topic.)

The "Devuan" Debian fork

Posted Nov 29, 2014 14:40 UTC (Sat) by jwakely (subscriber, #60262) [Link]

> Now that they are doing what they were told was the only option, people are up in arms about that too!

No they're not. Ignoring the sub-thread about corbet justifiably muting a troll account, the comments above seem to be mostly "I don't see the point in a fork" or "haha, whatever".

So your paraphrasing is wildly inaccurate.

The "Devuan" Debian fork

Posted Nov 29, 2014 16:17 UTC (Sat) by Lionel_Debroux (subscriber, #30014) [Link] (12 responses)

The VUA could have attempted to live with their times, instead of forking.
Have you seen that some people in the FreeBSD community, among whom one of the co-founders of FreeBSD, would very much like to see functionality and unification improvements in FreeBSD's init system, effectively making it more similar to systemd ?

The "Devuan" Debian fork

Posted Nov 29, 2014 16:34 UTC (Sat) by mgb (guest, #3226) [Link] (8 responses)

> improvements in FreeBSD's init system, effectively making it more similar to systemd

There are already plenty of dependency-based boot managers. Technically systemd is nothing new, just NIH. And monolithic non-portable code can be found all the way back to the software stone age.

Nor is Embrace, Extend, and Extinguish new. Microsoft started using EEE decades ago.

FreeBSD may well implement an init system with similar functionality to systemd, but with modularity and without EEE it will not be at all similar to systemd.

The "Devuan" Debian fork

Posted Nov 30, 2014 17:12 UTC (Sun) by patrakov (subscriber, #97174) [Link] (7 responses)

Well, technically, systemd (even before it was transformed into a hungry hippo) contains one new semi-technical idea which does put it well above any other dependency-based boot manager. The idea is to tell people to start eliminating dependencies instead of (often incorrectly) expressing them. Here I am talking about such things as automounting filesystems (which can be potentially used to eliminate dependencies on "/var being mounted"), IP_FREEBIND, socket activation (to eliminate the dependency on the network being up) and so on. Very good ideas, but, unfortunately, some of them are not portable to non-C languages.

The "Devuan" Debian fork

Posted Nov 30, 2014 18:39 UTC (Sun) by gracinet (guest, #89400) [Link] (4 responses)

Out of curiosity, are you thinking of a specific non-C language ?

The "Devuan" Debian fork

Posted Nov 30, 2014 19:12 UTC (Sun) by patrakov (subscriber, #97174) [Link]

Actually about several.

Node.js is so far the biggest offender, because it is plain impossible to write a correct UDP-based server in it that works on a multihomed system without resorting to timer-based polling of os.networkInterfaces(). Here "correct" means the following:

1. It must reply from the same of the several IPs belonging to a host where the UDP request came in.
2. It must deal with interfaces going up and down, appearing and disappearing, and the same for their IP addresses. In particular, it must not demand that all "interesting" IP addresses exist on the interfaces at startup time. Bonus points for not requiring to list all potentially-interesting IP addresses explicitly.

I have expressed the issue in one of the comments to https://github.com/joyent/node/issues/8788 (no IP_FREEBIND, no IP_PKTINFO, no revcmsg/sendmsg (required to actually use IP_PKTINFO), no way to get notified about network configuration changes).

The second, smaller, offender is Python 2.7. It is possible to hack IP_FREEBIND into it (and bind to all "interesting" addresses in advance, even before they appear on interfaces), but not IP_PKTINFO (because of no recvmsg/sendmsg). Also good is that unofficial netlink bindings exist, so one can watch interfaces and IP addresses coming and going without resorting to timer-based polling.

Python 3.3 does have recvmsg/sendmsg support, and IP_PKTINFO can thus be hacked in. Ruby even has ip_pktinfo support out of the box.

The "Devuan" Debian fork

Posted Nov 30, 2014 20:20 UTC (Sun) by cortana (subscriber, #24596) [Link] (2 responses)

There's no IP_FREEBIND, or (easy) way to do socket activation/monitoring of available network interfaces available in Java.

The "Devuan" Debian fork

Posted Dec 1, 2014 1:07 UTC (Mon) by lsl (subscriber, #86508) [Link] (1 responses)

What's the problem with socket activation, i.e. letting systemd pass your program the listening socket(s)?

That should be trivial to do in any programming language, as the file descriptors are just inherited from the parent process. It's there without you doing anything. The count of inherited FDs is passed in the environment (as LISTEN_FDS) and they start at 3.

Sure, there's the sd_listen_fds(3) C API but you don't actually have to use that. Especially not if calling into C involves unholy things like JNI.

Am I missing something?

The "Devuan" Debian fork

Posted Dec 1, 2014 4:42 UTC (Mon) by patrakov (subscriber, #97174) [Link]

You are missing the fact that it is impossible (no API) to properly import already-opened file descriptors into node.js event loop as UDP sockets.

For TCP client sockets, this functionality does exist (new net.Socket([options])), but you can't import an already-existing listening TCP socket by fd. So even for TCP, supportable socket-activation functionality is limited to inetd-style daemons that are executed anew for each incoming connection.

The "Devuan" Debian fork

Posted Nov 30, 2014 19:31 UTC (Sun) by mgb (guest, #3226) [Link] (1 responses)

> The [systemd] idea is to tell people to start eliminating dependencies ...

A well-designed dependency-based boot manager might have some value on a laptop but production servers cannot rely on trying to guess all the O(N*2) dependencies between components.

Incidentally, all of our systems - servers, VPSs, laptops, and desktops - have one or more inittab entries to bring up serial consoles, maintenance networks, maintenance sshd, etc. Sysvinit tries them and if something fails it waits and tries again.

They work perfectly precisely because they don't rely on systemd-ish human-error-filled notions of trying to specify exactly which network interfaces and file systems need to be up and mounted.

The "Devuan" Debian fork

Posted Nov 30, 2014 19:41 UTC (Sun) by patrakov (subscriber, #97174) [Link]

In general I agree with your comment, except for the fact that you call the idea of specifying the exact dependencies "systemd-ish". It isn't. It (in the form of LSB headers) predates both systemd and upstart.

And in many contexts (in particular, in clusters where the service depends on something remote) trying and retrying until success is indeed the only working solution. The only possible disagreement here is whether such retrying should be done by the service or by the service manager, but I don't have a strong opinion here.

The "Devuan" Debian fork

Posted Nov 29, 2014 17:23 UTC (Sat) by rleigh (guest, #14622) [Link] (1 responses)

You're mischaracterising people with a very broad brush here. Merely being of the opinion that systemd is badly designed and implemented does not automatically mean one is a backward luddite who won't "live with the times". This unnecessary personalisation of the discussion is one of the factors which have reduced the debate to a low level and made this sorry mess in the first place. It's one of the reasons I unsubscribed from the main lists a year back and greatly reduced my involvement (RSI was the other); I'm a volunteer who chooses to dedicate a significant portion of my life to making Debian, and being subject to continued abuse over a multi-year period is just not acceptable. I've got other free software projects I can work on instead which also provide me pleasure and accomplishment without involving disrespectful and rude behaviour and the resulting high levels of stress and upset. Looking occasionally at the list archives, the tone of the discussion has only become worse.

As one of the sysvinit/initscripts maintainers, I'd say that we were well aware that while they had served us well for decades they did have certain shortcomings and that a replacement which solved these would have been well received. We were in no way opposed to a quality replacement so long as it was backward-compatible to allow upgrades without loss of function or configuration. Three years ago, I was hopeful that systemd had the potential to be that replacement, and spent some time investigating it. For reasons which have been tirelessly debated and which I will not reiterate here, I did not ultimately feel that systemd was suitable as a replacement, and in the three years since then the course of systemd development has not changed my opinion on the matter; if anything it has further reinforced it.

The need for this fork could have been avoided entirely if certain developers were willing to accommodate continued use of the old init. But willing cooperation is not part of some developers' agendas, and that is a great shame since it is that which allowed us to build such a high quality and comprehensive integrated software distribution in the first place.
[To put this into perspective, I spent many man days of effort in the wheezy release making sysvinit align better with systemd to aid migrations and interoperability both ways; that's what you do when the goal is a well integrated distribution. I spent several solid days just making sure that hwclock timezone settings worked in every possible scenario. I think it's fair to say in retrospect that this was ultimately a fairly one-sided effort.]

While I still use Debian daily at both work and home, most of my systems have been running FreeBSD since February. I've needed to evaluate what the post-jessie migration paths might need to be. My plan is to switch over to Devuan once the dak instance and archive is set up, and participate in development at some level, though I don't know what the extent of that will be at this point. If it is small and focussed upon correcting this single major problem with Debian, I think it has a good chance of success, and we can hope that maybe the differences between the two distributions can be resolved at some point in the future. I'll continue to maintain stuff in Debian alongside this work.

Regards,
Roger

The "Devuan" Debian fork

Posted Nov 29, 2014 18:18 UTC (Sat) by Lionel_Debroux (subscriber, #30014) [Link]

My three previous posts in this topic don't mention systemd's implementation and design :)
I only mentioned functionality (I meant, use cases that are better fulfilled by a systemd foundation than by a sysvinit foundation, in my own experience and that of many other people), and unification (*).
As we all know, systemd and sysvinit scripts are not even exclusive. AFAICT from watching the many sysvinit scripts involved in my Debian jessie/sid systems' boot process, including the $DAYJOB software whose init script I made in 2012, systemd's backwards compatibility with sysvinit scripts just does the job, in the meantime.

systemd clearly isn't perfect (some of its embarrassing holes have made it to oss-sec), the attitude of its maintainers doesn't shine, etc. However, in the big picture, the alternatives (mainly, according to the Debian init system discussion, sticking to sysvinit or switching to upstart) are worse in the short, mid and long term...

With both sides' abuse (there are casualties in the systemd packaging camp, too) and unwillingness to work with each other, the only way to resolve the differences between the two distributions, without burdening Debian and marginalizing it from the bulk of other Linux distros, shall probably be the fork disappearing. "Disappearing" means that it manages to appear in the first place, but in the short term, there are probably enough systemd haters out there for that to happen.

I'm not aware of die-hard sysvinit fans at my work place, thankfully. Most people are on Windows to begin with, and among Linux people, most are on RHEL / CentOS. Most of the few Debian-ers among us are already convinced that systemd is the path forward, due to its functionality and reach among distros. Good luck having uselessd, or suchlike works (I'm not saying that they're completely uninteresting), widely adopted.

*: that much-delayed and much-needed unification of Linux distros, to reduce duplication of effort and portability hurdles across distros in lower-level plumbery, and make Linux an even stronger competitor to Windows and MacOS X, across all platforms. Many other portability hurdles across distros will remain, but reducing one of them is a step in the right direction.

The "Devuan" Debian fork

Posted Dec 2, 2014 18:39 UTC (Tue) by rhawkins (guest, #100068) [Link]

If you'll excuse the cliché, there's room for everyone at the party. Nobody's views or wishes need be excluded.

There's no need for the VUAs to "live with their times", as you put it, and likewise there's no reason for systemd proponents to not adopt systemd. The Devuan fork is not going to harm Debian, and may even be beneficial to Debian in the long term, as someone pointed out in another comment. There has already been a long history of Debian derivatives.

The majority of distributions have already switched to systemd. Surely having a selection of quality distributions which offer an alternative is a good thing? Why is choice suddenly bad?

The "Devuan" Debian fork

Posted Nov 29, 2014 15:04 UTC (Sat) by jb.1234abcd (guest, #95827) [Link] (6 responses)

"However, it appears that they're actively willing to duplicate, fracture, weaken and otherwise damage one of the most important projects for open source, upstream of many derivatives, directly used by tens of millions of persons in the world, instead of working with others as part of one, stronger Debian project..."

Are you talking about systemd ?
Add intrusiveness, lack of interoperability, etc ...

You would be interested in this eye opener about systemd-resolved:
http://lwn.net/Articles/620879/
Posted Nov 17, 2014 18:36 UTC (Mon) by jb.1234abcd
Follow it thru to the end.
You will understand why so many people resist this and other parts of systemd.

"Competitors weakening themselves through internal wars... Microsoft - even the new flavour thereof, more open towards Linux - must be overjoyed :)"

No wonder ! Some people think that systemd does a "god's work" right out of
an ops book by MS ...

"Oh well. Hopefully, users will keep seeing the light, stick to the feature and use cases of the present and future provided by systemd in Debian and most other distros (*), and send that fork where it belongs, into oblivion..."

When uselessd sys init appeared on the scene they said that too.
http://uselessd.darknedgy.net/
An interesting overview too:
http://uselessd.darknedgy.net/ProSystemdAntiSystemd/
By now, many already hope and openly admit that it has a chance to be
an alternative to systemd as we know it (and do know it or understand it
yet...).

Btw, there is an interesting view coming from InfoWorld that matches that of "graybeard" sysadmins:
http://www.infoworld.com/article/2608973/linux/it-s-time-...
At the bottom are more articles from "The systemd debate" series.

That's all by being blessed by systemd !
jb

The "Devuan" Debian fork

Posted Nov 29, 2014 23:30 UTC (Sat) by sjj (guest, #2020) [Link] (5 responses)

The Evil Empire Strikes Back! Let's all fear the mighty Microsoft, I hear 90's fashions are fashionable again.

The "Devuan" Debian fork

Posted Nov 30, 2014 11:39 UTC (Sun) by misc (subscriber, #73730) [Link] (4 responses)

I think there is indeed a part of the opposition having some kind of trauma with regards to Microsoft and their previous computing experiences. Reference to journald being "microsoft-like" due to binary format are common, and we can see reference at svchost.exe , conspiracy about companies trying to create a monopoly, etc.

I guess that for some people, the Microsoft hatred is a fundational brick of their free software involvement, and suddenly discovering that things are more complex than the binary manichean division of the world they had in mind shattered their views of the world, who had to be readjusted to the new changes, and readjusted using schemas of the past. They maybe are trying to make sense on what they didn't like without knowing why, being fueled by the fears of their pasts, about frustrating experiences they didn't fully grasp.

So I am not sure what they need exactly, besides people to spend time to hear them and try to understand what they really fear. The kind of customer services jobs that the free software have always been good at avoiding, by not caring and chasing people who would be good for that, by showing that only technical contributions matters, forgetting all the others.

The "Devuan" Debian fork

Posted Nov 30, 2014 20:31 UTC (Sun) by dlang (guest, #313) [Link] (3 responses)

there's more in common between the journal and microsoft logging than just the binary format.

as for talk of trying to create a monopoly, it's the systemd advocates/developers who say that the goal is to take over the entire linux plumbing layer so that they can make changes to every distro by just changing systemd

none of this takes a hatred of microsoft.

The "Devuan" Debian fork

Posted Nov 30, 2014 23:32 UTC (Sun) by misc (subscriber, #73730) [Link] (2 responses)

That's why i took precautions to say "some people". Because I definitely seen this kind of behavior, and I cannot be less precise than "some", because I have no idea how much out of the few people that express themselves have this hatred.

The "Devuan" Debian fork

Posted Dec 1, 2014 0:04 UTC (Mon) by viro (subscriber, #7872) [Link] (1 responses)

Take a dictionary and look up "insinuations". Some people are downright pathetic, so you can't be sure if any given person isn't just that. Cover your arse with "some", then proceed to describe the nastiness and imply that this is what drives those whom you want to smear - after all _some_ are like that, aren't they? Sheesh...

The "Devuan" Debian fork

Posted Dec 1, 2014 0:37 UTC (Mon) by ovitters (guest, #27950) [Link]

This is a bit related to what you said but not a response to what you said.

If you read the "dng" mailing list, there is a high amount of what "misc" described going on. Just read it for yourself: https://lists.dyne.org/lurker/list/dng.en.html. It's only like 10 people though. It should be doable to have a good distribution when you have around 20-25 more-or-less active people. But if you read the mailing list it seems to be overly negative and a lot of strange suggestions/accusations/etc. Mainly hate and so on. A small amount of help by people not liking systemd and having the knowledge to do something about it and the distribution will thrive enough. Hopefully the atmosphere there will soon change for the better.

This whole debate saddens me

Posted Nov 29, 2014 18:27 UTC (Sat) by petermogensen (guest, #100031) [Link] (115 responses)

I don't get it... where are the sound technical arguments for an alternative solution to systemd?
I mean... There's lots of criticism. But where are the alternative solutions which really addresses the technical arguments *for* systemd?

I fully understand the wish for "UNIX philosophy" and that PID 1 needs to be as simple as possible.
I also don't really like what can some times look like feature-creap in systemd.
BUT ... all I see is criticism. Often misguided. (like the idea that the journal replaces syslog). I see no concrete alternative proposals to actually solve the problems systemd solves, given that the kernel requires there to be only one cgroup-manager. Once that's given suddenly a lot of things becomes much simpler if that's PID 1.

I think stuff like "uselessd" is stupid as it seems to not really try to solve those problems, but only aim to remove stuff from systemd (like the journal?!?! - what prevents then from forwarding data to syslog?)

So, given that I'm seriously interested in hearing about sound technical alternative solutions/arguments, but can't find them and I haven't found a forum where such a question wouldn't just be more noise in an already wast sea of emotional noise...

... could someone point me to how serious people have actually imagined providing the features of systemd in an alternative way and not just being emotional?

This whole debate saddens me

Posted Nov 29, 2014 19:13 UTC (Sat) by jgg (subscriber, #55211) [Link] (60 responses)

I suspect that answer is because this is actually fairly hard, the early comment that people love to bikeshed init because it is superficially easy is bang on.

For instance 10 years ago I built a shell-less init scheme for embedded that has many of the systemd concepts, in a micro scale: dependencies, sandboxing (capability mask control), monitoring, logging and automatic restart. We've beat the crap out of this thing for 10 years now and it really does work well - but it isn't simple by any means.

Even something superficially simple like setting up the network is hard if you assume the process doing it can fail at any moment and must recover from scratch (which is what we did). It changes the whole design from a simple imperative sequence of ip commands to a complex state synchronization problem.

I saw well referenced systemd criticism about how crashing PID 1 kills you system and woe be unto us. For my embedded world we forsaw exactly this risk as well so I designed a precaution: PID 1 started 4 crucial daemons, one of which was responsible for starting the rest of the system. At the design phase this seemed like a good idea for all the same reasons you hear people complain about systemd.

But in the end? It didn't really matter. Loss of the second daemon could not be recovered trivially. Restarting means it losses its internal state. It doesn't know what is running, it has no way to resume process monitoring duties (the children get re parented to init), and thus it can't start/restart anything. Basically - the system becomes critically broken. The recovery protocol was to kill everything it was managing then restart as though a fresh boot. From a user perspective this is just a faster reboot. Considering that 2nd daemon failure has not been an issue we would have been better off avoiding the complexity of doing it.

The restart issue has nothing to do with being PID 1, it would be trivial to patch the kernel to restart systemd as PID 1 if it failed. It has everything to do with including *state* in your service description. Once you do that the state must be tracked and must not be lost. That is a super hard problem to solve if you assume your software can crash at any moment. Of course adding state is exactly what is making systemd so appealing!

Even with good old classic sysvint does not solve this problem. init delegates to inetd starting internet services. Sounds like a great idea! So modular! But what happens if inetd crashes? Well, you can't actually restart it. The crashed inetd may have passed listening sockets over to still-running daemons. The new inetd can't recover those sockets, can't re-parent the old daemons to itself so it can see when they exit, all it can do is fail to create listening sockets and be non-functional. The recovery is to kill all leftover internet services before restarting inetd. For an internet server that is not really that much worse than panic followed by auto-reboot.

This whole debate saddens me

Posted Nov 29, 2014 20:35 UTC (Sat) by deepfire (guest, #26138) [Link] (59 responses)

> I suspect that answer is because this is actually fairly hard,
> the early comment that people love to bikeshed init because
> it is superficially easy is bang on.

Again, you make the wrong assumption that systemd is just an init system.

It's far beyond one, and aims for still more.

Systemd is not (just) an init system!

This whole debate saddens me

Posted Nov 29, 2014 23:07 UTC (Sat) by bronson (subscriber, #4806) [Link] (58 responses)

Wow. Did you actually read jgg's post before copy-n-pasting your reply? He covers that.

This whole debate saddens me

Posted Nov 30, 2014 2:13 UTC (Sun) by dlang (guest, #313) [Link] (57 responses)

> He covers that.

not really.

why is logging required to be part of systemd?

why is name resolution required to be part of systemd?

why is cron required to be part of systemd?

why is network configuration required to be part of systemd?

all of these things work perfectly fine when run as something other than pid 1, and all of them have a long history of functioning when they are restarted. In fact, the system can frequently run quite well for a while without them running at all.

If systemd wasn't trying to replace all plumbing for a linux system there would be far fewer people opposed to it.

This whole debate saddens me

Posted Nov 30, 2014 2:30 UTC (Sun) by Cyberax (✭ supporter ✭, #52523) [Link]

> why is logging required to be part of systemd?
Because it is.

> why is name resolution required to be part of systemd?
It's not.

> why is cron required to be part of systemd?
It's not.

> why is network configuration required to be part of systemd?
It's not.

> all of these things work perfectly fine when run as something other than pid 1
_Neither_ of these things work as PID 1.

This whole debate saddens me

Posted Nov 30, 2014 2:31 UTC (Sun) by mpr22 (subscriber, #60784) [Link] (30 responses)

all of these things work perfectly fine when run as something other than pid 1

systemd-journald is not PID 1.

systemd-resolved is not PID 1.

The systemd PID 1 program does not to my knowledge prevent the use of a traditional cron daemon.

systemd-networkd is not PID 1.

This whole debate saddens me

Posted Nov 30, 2014 3:01 UTC (Sun) by dlang (guest, #313) [Link] (29 responses)

putting it another way, why do those things need to be reimplemented inside systemd rather than continuing to be init (and kernel) agnostic?

This whole debate saddens me

Posted Nov 30, 2014 5:03 UTC (Sun) by mchapman (subscriber, #66589) [Link] (27 responses)

> putting it another way, why do those things need to be reimplemented inside systemd rather than continuing to be init (and kernel) agnostic?

resolved and networkd *are*, as far as I can tell, init-agnostic. networkd makes use of hostnamed's public API in order to set the system hostname. I think that's literally the only thing that links these utilities with the other systemd components.

As for why they should be in the same tree? One good reason is that they can share code easily. A large part of systemd is its "shared" directory, which acts as a source library that is linked into its various binaries. This provides a degree of consistency across the various systemd components.

This whole debate saddens me

Posted Dec 2, 2014 12:10 UTC (Tue) by nix (subscriber, #2304) [Link] (26 responses)

As for why they should be in the same tree? One good reason is that they can share code easily. A large part of systemd is its "shared" directory, which acts as a source library that is linked into its various binaries. This provides a degree of consistency across the various systemd components.
So... almost all this stupid, tiresome systemd arguing could have been avoided if the systemd people had created a shared library (like anyone else would have) and set up more than one git repo? You'd think that would have been the default course of action anyway, but maybe they're scared of library API design. (Surely not: the internal library has an API just as surely.)

So, I am at a loss...

This whole debate saddens me

Posted Dec 2, 2014 12:56 UTC (Tue) by mchapman (subscriber, #66589) [Link] (5 responses)

> So... almost all this stupid, tiresome systemd arguing could have been avoided if the systemd people had created a shared library (like anyone else would have) and set up more than one git repo?

Possibly, possibly not. It might be worthwhile considering what the trade-offs there are. Distributions are already shipping networkd and resolved in separate packages from systemd-the-init, so there has to be a compelling reason why you'd add an additional shared library for these components to use.

One advantage to having everything in the one Git tree is that code can be moved in and out of the shared directory at will. If you have things in separate trees then this becomes a lot more difficult -- suddenly you have to *version* your internal APIs, not just your external ones.

Also, just in case you're wondering, while there is some overhead in having multiple binaries linking the same set of shared source files, it isn't too much. systemd is compiled with function section (or with link-time optimisation), which means unused code is completely dropped. Each binary gets only the shared functions it actually *uses*.

This whole debate saddens me

Posted Dec 2, 2014 17:00 UTC (Tue) by johannbg (guest, #65743) [Link] (4 responses)

"Distributions are already shipping networkd and resolved in separate packages from systemd-the-init"

Which distribution are that?

This whole debate saddens me

Posted Dec 3, 2014 0:17 UTC (Wed) by mchapman (subscriber, #66589) [Link] (3 responses)

> Which distribution are that?

Ah, you got me.

I was getting confused. I actually had a particular Fedora COPR repository for RHEL 7 in mind: https://copr.fedoraproject.org/coprs/lnykryn/systemd/ . It's currently got networkd in a subpackage. resolved is currently disabled, though as far as I can see there shouldn't be anything stopping it from being put in a subpackage.

This whole debate saddens me

Posted Dec 3, 2014 13:56 UTC (Wed) by johannbg (guest, #65743) [Link] (2 responses)

Zbyszek decides how he indents to maintain systemd in Fedora until someone escalates the packagesplit ( which at is point,after all this time would be a bit silly from my pov ) to FESCo, which in turn would most likely request input from BaseWG ( which probably would go for the smallest core/base footprint which means not split it ) followed by FESCo rule based upon that and his maintainership being overruled and then each WG overule the overule and decide for themselves if they want to split it ( or not ).

Lukáš RHEL 7 and derivatives corp repo that you refer to is only intended to be testing repository of new systemd releases ( I think he's already drowning in backporting patches for the release being shipped in RHEL 7 with RHEL 7 being bound to be stuck on that release for the next 10 years or so ).

This whole debate saddens me

Posted Dec 3, 2014 23:48 UTC (Wed) by mchapman (subscriber, #66589) [Link] (1 responses)

Sure, but that's all kind of irrelevant to this thread.

The context of my earlier post was about the modularisation of systemd, and whether having a shared library for its internal APIs (rather than a source library) would be worth it. The existence of this repository indicates that a shared library isn't even necessary to package systemd's components separately.

This whole debate saddens me

Posted Dec 4, 2014 0:39 UTC (Thu) by rahulsundaram (subscriber, #21946) [Link]

True. Somebody who is interested in it could talk to Fedora maintainer for example and submit a spec file patch. It shouldn't too hard.

This whole debate saddens me

Posted Dec 2, 2014 13:39 UTC (Tue) by cesarb (subscriber, #6266) [Link] (19 responses)

> So... almost all this stupid, tiresome systemd arguing could have been avoided if the systemd people had created a shared library (like anyone else would have) and set up more than one git repo?

They use a single repository for the same reason the Linux kernel is developed as one single, monolithic repository: it makes it *much* easier to make tree-wide changes which impact shared code.

> Surely not: the internal library has an API just as surely.

Of course it has. But, like the Linux kernel internal API, it's fluid and can change from one commit to the other. As long as the corresponding changes are made to all the API consumers at the same time (easy when your version control system has atomic commits), nothing will break.

This whole debate saddens me

Posted Dec 2, 2014 17:58 UTC (Tue) by dlang (guest, #313) [Link] (1 responses)

so if the systemd API between components is "fluid and can change from one commit to the other" then it's not really something that anyone is free to replace components of because there is not stability in what the component is supposed to do.

That's a monolithic entity (like the kernel is), which systemd claims it isn't.

This whole debate saddens me

Posted Dec 2, 2014 18:07 UTC (Tue) by niner (subscriber, #26151) [Link]

You are mixing APIs between components and the API of the common library these components currently use. The API between components can be perfectly stable and public while the library can change any time.

Exactly the same as the API the Linux kernel offers to user space is absolutely stable while internally everything is fluid.

This whole debate saddens me

Posted Dec 10, 2014 17:55 UTC (Wed) by nix (subscriber, #2304) [Link] (16 responses)

Of course it has. But, like the Linux kernel internal API, it's fluid and can change from one commit to the other.
To me that's a sign of developer laziness: they can't be bothered to design APIs right the first time, and they're making everyone else pay for that. (It *can* be done, though it is a lot harder than just guessing and constantly chopping and changing them.)

This whole debate saddens me

Posted Dec 10, 2014 18:41 UTC (Wed) by peter-b (subscriber, #66996) [Link]

>> Of course it has. But, like the Linux kernel internal API, it's fluid and can change from one commit to the other.

> To me that's a sign of developer laziness: they can't be bothered to design APIs right the first time, and they're making everyone else pay for that. (It *can* be done, though it is a lot harder than just guessing and constantly chopping and changing them.)

Designing good, future-proof APIs is extremely difficult, as you acknowledge. Maintaining APIs in a bug-compatible manner is much more difficult still. It's totally reasonable for developers to define a small, stable, external API, while maintaining flexibility within their software to modify internal implementation details. It enables improvements to the efficiency, reliability, or features of the implementation. In fact, this approach is evidence of a robust development process and a sustainable project.

By contrast, it is completely *unreasonable* to expect people to only ever design, write and release perfect, flawless, future-proof code, and accuse people who have realistic expectations of what is achievable of "laziness". It is, in fact, arrogant and insulting.

What's going on here is that the systemd developers defined some public APIs that they wanted to provide, and went ahead and implemented a system that provided those APIs. You're now nitpicking their implementation. systemd's public APIs are fully documented, with stability guarantees, and that makes the project a heck of a lot more professionally developed than 99.9% of FOSS software projects.

I invite you to: 1. "improve" systemd to match your expectations (or pay someone else to), 2. fork systemd and "fix" it to your satisfaction, or 3. produce a plumbing suite that solves the same key problems in a "better" way. Until then, perhaps you should consider *not* wantonly slinging dismissive insults around. They're not going to get you whatever it is that you think that you want.

This whole debate saddens me

Posted Dec 11, 2014 0:02 UTC (Thu) by mchapman (subscriber, #66589) [Link] (14 responses)

> To me that's a sign of developer laziness: they can't be bothered to design APIs right the first time, and they're making everyone else pay for that.

Did you completely miss the word "internal"?

These APIs are *not* public APIs. They are *not* used by other software. They are merely the internal function calls from one part of a binary to another. They aren't even visible to or accessible by end-users.

This whole debate saddens me

Posted Dec 11, 2014 0:41 UTC (Thu) by dlang (guest, #313) [Link] (13 responses)

but the systemd folks keep claiming that systemd isn't monolithic, that anyone is free to replace any component, they just need to implement the same functions.

but if the API of those functions is "internal" then it is monolithic in design (even if implemented in multiple binaries)

This whole debate saddens me

Posted Dec 11, 2014 0:49 UTC (Thu) by pizza (subscriber, #46) [Link]

> but if the API of those functions is "internal" then it is monolithic in design (even if implemented in multiple binaries)

The API *between* components is a published, stable DBUS (and/or command-line) interface.

The implementation details, ie the C functions, are internal, private. You know, not unlike Linux's published userspace API, vs the internal implementation details that are changing all the time?

This whole debate saddens me

Posted Dec 11, 2014 3:11 UTC (Thu) by mchapman (subscriber, #66589) [Link] (11 responses)

> but the systemd folks keep claiming that systemd isn't monolithic, that anyone is free to replace any component, they just need to implement the same functions.

Oh criminy. Let's take this from the top again.

You asked why the different systemd components are in the one tree. I said that one likely reason is so that they can share code. nix wondered why they didn't just use a shared library for that. I said that it might be because the shared code isn't part of the *public* interface of systemd, so there is no compelling reason to make it a dynamically-linkable library.

Got it yet? We're talking about code that is statically linked into multiple, separate, independently-reimplementable binaries. This has *absolutely nothing* to do with their public APIs (i.e. a set of D-Bus interfaces) provided by those binaries.

This whole debate saddens me

Posted Dec 11, 2014 17:22 UTC (Thu) by nix (subscriber, #2304) [Link] (10 responses)

Quite. I happen to think this is shoddy design, unless (like, say, gnulib) there are very good reasons for it (in gnulib's case, that a lot of the horrifically evil dark magic it does happens before compile time, at the configure stage, and that it's only trying to fix up holes in already-public APIs anyway). It was a bad idea when GNOME did it with its 'cut-n-paste-code' directories, it was a bad idea when people embedded dozens of copies of libpng and zlib, and it's a bad idea now. Yes, doing it right is more work. Doing it right often is.

And no, I'm not going to go away and fork or reimplement systemd or shut up as peter-b so charmingly suggested. I don't have infinite time. I am, in fact, permitted to say 'this is bad design, other projects don't do this, it has been done this way before and every time turned out to be a bad idea' without simultaneously being obligated to fix every single instance of bad design I see. Nobody could ever have enough time to do that.

This is a classic systemd proponents' attack: if you criticise the holy project in any way you should shut up unless you have personally implemented something better. Sorry, it doesn't work that way, and repeatedly attempting to shut down any and all criticism this way does *not* make me feel better about the project as a whole.

This whole debate saddens me

Posted Dec 11, 2014 19:30 UTC (Thu) by peter-b (subscriber, #66996) [Link] (4 responses)

Well, you can think it's shoddy design all you like. But that's your opinion. It's completely unreasonable to expect any software project to go to the trouble of maintaining bug-compatible stability of internal interfaces that are explicitly labeled as not for public use.

Show me a free software project that has such a ridiculous policy.

This whole debate saddens me

Posted Dec 13, 2014 2:49 UTC (Sat) by flussence (guest, #85566) [Link] (2 responses)

Does Wine count?

This whole debate saddens me

Posted Dec 13, 2014 3:30 UTC (Sat) by rahulsundaram (subscriber, #21946) [Link]

Not really. They had no choice given the purpose of their project.

This whole debate saddens me

Posted Dec 13, 2014 12:39 UTC (Sat) by cesarb (subscriber, #6266) [Link]

> > But that's your opinion. It's completely unreasonable to expect any software project to go to the trouble of maintaining bug-compatible stability of internal interfaces that are explicitly labeled as not for public use.
> >
> > Show me a free software project that has such a ridiculous policy.

> Does Wine count?

Wine's main internal, not-for-public-use interface is the server protocol, which is the RPC between the lower-level Wine DLLs and the shared wineserver process.

They don't maintain bug-compatible stability of that interface. Every time they feel the need, they add, remove, or change its methods and structures. The only concession to compatibility is a single version number, which is increased ever time they make a change, and used to detect version mismatches between the server and the DLL. That version number is already over 450, meaning there were over four hundred times that interface was changed in an incompatible manner.

So no, Wine doesn't count.

This whole debate saddens me

Posted Dec 14, 2014 17:21 UTC (Sun) by nix (subscriber, #2304) [Link]

Projects at the same layer: glibc. libgcc. libstdc++. Projects at a different layer: kdelibs (yes, really, right down to internal functions). libX11.

There is a certain degree of conservatism that should come with writing software at the kernel/userspace boundary, or at the 'everyone has lots of dependencies on me' level. glibc has it. systemd (like libpng) doesn't.

This whole debate saddens me

Posted Dec 11, 2014 23:49 UTC (Thu) by mchapman (subscriber, #66589) [Link] (3 responses)

> I happen to think this is shoddy design

This the first time I've heard of "calling a function in a different compilation unit" shoddy design. If that's what you really think, then all software is shoddy.

This whole debate saddens me

Posted Dec 14, 2014 17:24 UTC (Sun) by nix (subscriber, #2304) [Link] (2 responses)

It's not shoddy design unless you then turn around and say that things that use said functions in those compilation units are not really part of that software at all, they're just bundled into the same source tree so they can use that library interface! That position implies very strongly that that interface is actually an external interface, since things can call it that are not 'really' part of the project.

As far as can see, there are two possibilities here:

- Either those interfaces are external interfaces, and they should be a stable shared library API, and the systemd developers are doing shoddy work by not making them stable, or

- those interfaces are internal interfaces, subject to change as and when needed, and those things in the systemd source tree that use them are *part of systemd* and claims that oh no they just share a source tree and are not really part of it at all are, not to put too fine a point on it, lies.

I don't see a third option, and neither of these are particularly pleasant.

This whole debate saddens me

Posted Dec 14, 2014 20:15 UTC (Sun) by anselm (subscriber, #2796) [Link] (1 responses)

I don't know whether explaining this to you once more will make any difference or if you're deliberately trying to be obtuse, but here goes:

systemd as a whole consists of a number of modules that communicate via documented external interfaces. There is a stability promise that covers most of these interfaces. It is possible to replace most of those modules by independent implementations that are otherwise unrelated to the systemd code base as long as one sticks to the documented interfaces.

In the interest of saving work, various modules avail themselves of common subroutines in a separate directory in the source tree. Since all of systemd is released together and nothing outside of systemd uses these subroutines, there is little point in making these into a shared library (especially since then invariably somebody outside the project would want to to use that, and that would impact the systemd developers' freedom to change things around as needed to suit the implementation), and systemd uses linker features to ensure that every systemd modules contains only the code it actually uses.

Therefore systemd's "library API" is an internal implementation detail similar to the internal APIs of the Linux kernel. It only exists to make the systemd developers' life easier. Whether systemd consists of separate modules (it does) is of no consequence to this, because it is still possible to reimplement many of these separate systemd modules independently based on the documented external interfaces and the API stability promise.

This whole debate saddens me

Posted Dec 14, 2014 21:05 UTC (Sun) by deepfire (guest, #26138) [Link]

It should be a FAQ entry somewhere. You've written it up quite well..

This whole debate saddens me

Posted Dec 13, 2014 0:29 UTC (Sat) by njs (guest, #40338) [Link]

I don't see the comparison to the cut-and-paste code or libpng/zlib issues. The problems there are that you end up with multiple copies of the same source code, which then diverge.

In the systemd case, there's exactly one copy of the source code, and it always gets updated in sync with its reverse-dependencies. You do end up with multiple copies of the *compiled* code, but I don't see how this can cause problems beyond a miniscule waste of space. It's not really any different from how macros or inline functions or C++ templates work. Plus it almost certainly increases reliability to avoid adding another .so dependency to your early boot stack, esp. once you take into the account the possibility of version skew etc.

This whole debate saddens me

Posted Nov 30, 2014 18:23 UTC (Sun) by anselm (subscriber, #2796) [Link]

They don't "need" to be implemented in systemd, and you don't need to run them even if your system is otherwise based on systemd. Nothing prevents you from running, say, NetworkManager if systemd-networkd doesn't float your boat.

It just makes reasonable technical sense to offer these tools in conjunction with systemd, as a common baseline for systemd-based systems. They get to share a lot of the basic infrastructure of systemd, which means that the code in question needs to be implemented, debugged, and documented only once rather than over and over again. Remember also that one considerable advantage of systemd is that it unifies configuration methods across different Linux distributions, and distributions would otherwise have to implement and maintain their own versions of basic tools for network configuration and so on. Getting these for free from systemd is not just good for consistency but also frees distribution resources for work on other things.

As far as cron is concerned, in the traditional setup it is part of a whole zoo of different tools whose collective job it is to start processes given certain conditions (this zoo also includes the rc mechanism, at, inetd/xinetd, and the init process itself via /etc/inittab, among other things). Considering that systemd's main business as an init system is starting processes given certain conditions, and that it tends to do it a lot better than the traditional zoo used to and with a consistent, well-designed configuration interface, it does make sense to let systemd do cron's job because it contains all the required infrastructure already. This saves us from having to maintain the same sort of infrastructure over again as part of cron, especially since systemd does all sorts of useful things that cron doesn't support and, being essentially in a coma upstream, is unlikely to get anytime soon. In addition, it's not as if it were impossible to generate the requisite systemd units on the fly from existing crontabs, so you even get to keep your traditional configuration if you want to.

This whole debate saddens me

Posted Dec 2, 2014 1:05 UTC (Tue) by Wol (subscriber, #4433) [Link] (16 responses)

> why is logging required to be part of systemd?

> all of these things work perfectly fine when run as something other than pid 1, and all of them have a long history of functioning when they are restarted. In fact, the system can frequently run quite well for a while without them running at all.

Except that logging DOESN'T work perfectly fine. That's a common complaint, that early boot log messages *regularly* get lost, and when you have a failure, all too often the cascade of messages means that the ones you need are precisely the ones that get lost. Good luck spotting them on the console as they scroll past - tough luck if your system is headless.

Cheers,
Wol

This whole debate saddens me

Posted Dec 2, 2014 1:29 UTC (Tue) by dlang (guest, #313) [Link] (15 responses)

and systemd logging doesn't work perfectly fine either.

they both have problems. Let people choose which set of problems they want, or come up with another solution. Making the journal mandatory isn't the right answer.

As for loosing early boot messages, I've had a lot of success by just increasing the size of the buffer that the kernel uses to hold such messages to be large enough to last until userspace is running. Even on complex servers with very verbose drivers this has worked well.

Also, the only reason to not have the traditional syslog daemons start earlier is that their outputs aren't ready, but modern syslog daemons can be configured with separate message queues for different outputs, so that outputs that are not going to be available until later can queue the messages (including queuing them to disk if you want). So the existing tools can solve the "lost boot messages" problem as well as journald can.

And if you really have a problem, you won't get to userspace anyway and the systemd journal won't help you, you need either a serial or network console (I've used both over the years)

This whole debate saddens me

Posted Dec 2, 2014 2:05 UTC (Tue) by foom (subscriber, #14868) [Link] (14 responses)

"But you can totally do X without systemd." Yep, almost certainly true for all value of X. Except that nobody actually *has* for the last N years. It was broken out of the box. Now, systemd has fixes a whole *set* of that sort of minor annoyances. Put together, that adds up to a major improvement, even discounting the obvious improvement in service description.

This whole debate saddens me

Posted Dec 2, 2014 3:05 UTC (Tue) by dlang (guest, #313) [Link] (13 responses)

and every time people like you say this, you are ignoring the people who are saying "this isn't a problem for me", "I've done what I need to do" and similar.

the statement "you don't know what you want, accept what we give you, it really is what you want" is something from Steve Jobs and the Apple ecosystem. FOSS is supposed to be putting more faith and trust in the users (after all, making the code available is supposed to be so that the users can make their own changes), so taking the attitude that you know better really annoys people (or haven't you noticed the periodic Gnome flamefests when they "improve" things by removing configuration options??)

This whole debate saddens me

Posted Dec 2, 2014 5:17 UTC (Tue) by pizza (subscriber, #46) [Link]

> FOSS is supposed to be putting more faith and trust in the users (after all, making the code available is supposed to be so that the users can make their own changes)

No, FOSS has nothing to do with placing faith and trust in the wisdom of users -- instead, it's about *empowering* users by providing the source code so that they are technically able to make whatever changes they desire (or bribe someone into making those changes if they lack the necessary skills to do it themselves)

This whole debate saddens me

Posted Dec 2, 2014 8:49 UTC (Tue) by anselm (subscriber, #2796) [Link]

and every time people like you say this, you are ignoring the people who are saying "this isn't a problem for me", "I've done what I need to do" and similar.

The problem with this is that many of those people who happen to have solved problem X to their own satisfaction may not be exposed to problem Y that other people have, or they have so far ignored problem Z that they do have but that hasn't bitten them yet. So they think that a tool that solves problems X, Y and Z is way overengineered, complicated, and unnecessary, hence not worth bothering with, even though to other people the solutions it provides for problems Y and Z are also useful and important, and the value of having one common and consistent approach that helps everybody is also not to be discounted. (Note that from a practical point of view it usually makes more sense to address problems and shortcomings in the modern, common and consistent, approach than to “fix” problems and shortcomings in the traditional fragmented and haphazard setup by making that even more complicated.)

This whole debate saddens me

Posted Dec 2, 2014 9:55 UTC (Tue) by mjg59 (subscriber, #23239) [Link] (10 responses)

> and every time people like you say this, you are ignoring the people who are saying "this isn't a problem for me"

Your issues with journald aren't a problem for most people, but you feel strongly that they need to be solved anyway. It's unsurprising that others would feel the same about issues that you don't care about. Splitting the ecosystem into disparate projects that solve different subsets of problems doesn't make things better - instead we end up with an even more fragmented collection of software, and anybody with a set of use cases that lands between the sets that others have defined is entirely out of luck.

Ignoring the real people who need solutions outside those easily provided via sysvinit is no more realistic than ignoring the people who need to pipe large quantities of data via syslog. We need solutions that satisfy a broad range of people, and right now systemd satisfies a wider range of technical needs than any other solution. It's legitimate to ask that the developers listen to a wider range of use-cases - arguing against it because you have no personal interest in the problems that other people face isn't an argument based on user freedom.

This whole debate saddens me

Posted Dec 2, 2014 17:51 UTC (Tue) by dlang (guest, #313) [Link] (9 responses)

> Your issues with journald aren't a problem for most people, but you feel strongly that they need to be solved anyway.

Mostly I want to have the easy option to not use the journal (and be able to do it without all sorts of "but it will break systemd" warnings)

If it wasn't deemed a mandatory item I would be very happy to ignore it and just have a FAQ answer to teach people who run into problems with it how to disable it.

As I keep saying, it's not that it exists that's the problem with any of the systemd stuff, it's making it the default and adding dependencies to it that are the problem.

If I'm forced to deal with it, then it's limitations become my problem. Even if I don't run RHEL, I still have to deal with it's problems when people complain about the problems they have with it.

This whole debate saddens me

Posted Dec 2, 2014 17:57 UTC (Tue) by mjg59 (subscriber, #23239) [Link] (8 responses)

The limitations are a problem for you. They're not for most people. But you want people to care about them anyway, just like they want you to care about things that are problems for them and not for you.

This whole debate saddens me

Posted Dec 2, 2014 18:10 UTC (Tue) by dlang (guest, #313) [Link] (7 responses)

The difference is in the willingness to let the other side exist.

I'm perfectly happy to have systemd exist, I'm perfectly wiling to have journald exist. I don't even care if it's the default, as long as I can readily turn it off (and explain to others who have the "but it's part of RHEL so I can't do anything unsupported" mentality how to turn it off)

For me this isn't just what I have to use personally, but what I have to support on forums and mailing lists.

This whole debate saddens me

Posted Dec 2, 2014 18:16 UTC (Tue) by mjg59 (subscriber, #23239) [Link] (5 responses)

You're still asking people to do work to fix problems that you care about and few others do, but you've shown no willingness to do any work to fix problems that you don't care about, no matter how many other people they affect.

This whole debate saddens me

Posted Dec 2, 2014 18:26 UTC (Tue) by dlang (guest, #313) [Link] (4 responses)

and how exactly do you know how much I have or have not helped other people fix problems?

This whole debate saddens me

Posted Dec 2, 2014 19:12 UTC (Tue) by mjg59 (subscriber, #23239) [Link] (3 responses)

systemd solves a lot of problems that you don't care about. What have you done to help people solve those problems?

This whole debate saddens me

Posted Dec 2, 2014 20:43 UTC (Tue) by dlang (guest, #313) [Link] (2 responses)

I work to solve problems that I do care about, not ones that others claim I should care about.

I don't object to other people solving the problem for them, I just object to the negative impact that their solutions have on me and want a way to avoid that impact.

No matter how much work you do, there are always going to be problems that you don't work on. Claiming that I don't have a right to complain because I'm not working on something (especially when that something isn't a problem for me) is beyond silly.

This whole debate saddens me

Posted Dec 2, 2014 21:10 UTC (Tue) by mjg59 (subscriber, #23239) [Link] (1 responses)

> I work to solve problems that I do care about, not ones that others claim I should care about.

But you're asking others to work to solve problems that you care about, not the ones that they care about.

This whole debate saddens me

Posted Dec 2, 2014 21:39 UTC (Tue) by mgb (guest, #3226) [Link]

> But you're asking others to work to solve problems that you care about

No, we asked DDs to stop a few of their number from breaking things.

And they declined.

This whole debate saddens me

Posted Dec 2, 2014 20:32 UTC (Tue) by Cyberax (✭ supporter ✭, #52523) [Link]

You can turn off the journal completely for a node by not creating its symlink.

This whole debate saddens me

Posted Dec 19, 2014 1:26 UTC (Fri) by jgg (subscriber, #55211) [Link]

So, I can comment on the logging aspect (not sure about the others, they don't seem as integral to systemd anyhow)

As soon as you say you want to have good logging for your daemons, that is to say their stdout/err and syslog are all captured to the system log and not to some arbitrary tty, you need logging integrated, in some significant way, with PID 1.

Specifically, the very first thing PID 1 must do is start another process to be the other end of all those logging FDs init will create when it starts spawning daemons. During spawn init arranges to connect stdout/err to a socket where the read end resides in the logger process.

Of course, this now creates state in the logging process, it has all these FDs that cannot be recreated, so it can never die, and is essentially tightly coupled with init. You certainly don't want it to be something complex and network facing like rsyslog or otherwise.

Also since this PID 2 must be started before anything beyond tmpfs can be mounted it can't reasonably be any sort of already existing syslog daemon, none are suitable to run in that sort of environment.

So now we have a consolidation and storage requirement for our PID 2, which gets us pretty close to where systemd is. There are various small trade offs here and there, but the integration of the two is not one of them.

Give up the special logging arrangement and you have to give up universal stdout/stderr capture - which is a huge long standing defect in sysvinit.

As an aside, the scheme I talked about above actually does work like this, the log collector PID 2 is fairly simple and only writes logs to structured binary files. Other tasks like syslog delivery to a remote host are done by 'tail -f' on the binary log files and never interact with the logger process. Why binary? To do the async tail -f for syslog purposes we need to have a robust cursor mechanism to iterate asynchronously over the log data, the binary format is essentially the length, line number and then data. Having a unique line number allows us to construct a reliable cursor.

This whole debate saddens me

Posted Dec 19, 2014 10:08 UTC (Fri) by anselm (subscriber, #2796) [Link]

Here we go again …

The “logging requirement” has already been explained (once more). Name resolution, cron, and network configuration are not “required to be part of systemd” – nothing prevents you (or a distribution provider) from using non-systemd components to implement that functionality. Stuff like dnsmasq, Vixie cron, or NetworkManager works fine with systemd.

What systemd is intended do is to provide reasonable standardised baseline implementations for the functionality in question. The idea is that what comes with systemd should be adequate to cover many use cases to a point where the previous hodgepodge of tools is no longer required. The advantage of this is that with systemd there is a unified set of components with well-defined interfaces, a single mechanism to start service processes, a single configuration file format, convenient methods to change and adapt the configuration, and good documentation, none of which are provided by the traditional setup (or for that matter competing init systems). People who need to deal with more complex use cases are still free to slot in more complex components that do what they require.

Having said that, there are reasonable criticisms that can be made regarding some of the baseline components in systemd. It is however well to remember that systemd is still being developed further. Systemd's basic plumbing components should occupy a “sweet spot” that balances complexity and required functionality for a significant subset of use cases, and exactly where that sweet spot is located is presumably subject to well-argued debate (as opposed to repetitive uninformed argument based on gut feelings).

This whole debate saddens me

Posted Dec 19, 2014 17:57 UTC (Fri) by raven667 (subscriber, #5198) [Link] (5 responses)

> why is cron required to be part of systemd?

Of course you aren't precluded from using a traditional cron daemon but fundamentally what cron does is start one-shot services on a timer, there is nothing magic that needs to be added to systemd, it has all the functionality to start services, and it has timers, so it can fundamentally do anything cron can do. If someone added timers to sysvinit instead of creating a whole nother utility then inittab would have been crontab too.

Why wouldn't you allow units to be started with timers? It seems like such a straightforward logical feature I can't imaging what justification could exist for forbidding it.

This whole debate saddens me

Posted Dec 20, 2014 0:35 UTC (Sat) by anselm (subscriber, #2796) [Link] (4 responses)

Especially because systemd, when starting processes, can do all sorts of things that cron can't, and it works the same across all types of units (whether started on a timer or not). With cron, you're reduced to sticking any unusual stuff in shell scripts, which is a hassle and difficult to maintain.

This whole debate saddens me

Posted Dec 20, 2014 1:12 UTC (Sat) by johannbg (guest, #65743) [Link]

Actually timer units and cron job complement each other shortcomings and coexist quite nicely

This whole debate saddens me

Posted Dec 20, 2014 21:14 UTC (Sat) by flussence (guest, #85566) [Link] (2 responses)

> you're reduced to sticking any unusual stuff in shell scripts, which is a hassle and difficult to maintain.

No, it isn't a hassle or difficult to maintain a plain text file containing lines corresponding 1:1 to what you can type at any terminal. The only valid reason for saying such things is if you're physically or mentally handicapped.

This whole debate saddens me

Posted Dec 20, 2014 21:42 UTC (Sat) by vonbrand (subscriber, #4458) [Link]

I'm sorry, but as sonn as your cron job has to do even a minimal setup for doing whatever task you want to run, you are in a world of hurt. Yes, you write a shell script; no, it isn't just "what you write on the CLI", you need to consider it is running in a weird, locked down environment.

This whole debate saddens me

Posted Dec 21, 2014 0:01 UTC (Sun) by anselm (subscriber, #2796) [Link]

The execution environment for cron jobs is not the same as the one in force when you're typing commands at the terminal. This is just one thing that you need to take into account.

The “maintainability” issue comes in because you will need to come up with all the necessary stuff by yourself, and you will have to do it over again for each new cron job that needs customisation. Writing the commands may be OK if you're a seasoned administrator, but it is tedious to query a shell script for the customised settings it incorporates the way you can for systemd units – you need to inspect the actual shell code, which is a hassle if you're a human but almost impossible if you're another shell script. (Systemd even makes it convenient to change various customisation settings on the fly, through simple commands, which is again almost impossible if customisation happens via shell scripts like you're suggesting.) With the traditional setup, there is no documented method for carrying such customisations across distribution upgrades, much less one that is standardised between distributions in the same way that systemd affords. And of course customsing a cron job is quite different from doing the same thing for an at job, or an init script, or a background service started by inetd or xinetd. Finally, forcing people to write shell code invites errors and inefficiencies, may increase exposure to security issues, and there are situations (like with some embedded systems) where a shell is otherwise not required at all, so having to introduce one simply to be able to set resource limits or a chroot for a service process would mean a considerable inconvenience.

This whole debate saddens me

Posted Nov 29, 2014 19:17 UTC (Sat) by Richard_J_Neill (subscriber, #23093) [Link] (53 responses)

I think that, as an init system, systemd actually has some quite good ideas (though they aren't all strictly necessary). What people really are wary of is the tight-coupling between systemd and everything else. Things like syslog, the login manager, bits of udev, cron, device management etc. It doesn't seem very "Unixy" (in the sense of do one thing, do it well, and keep the interfaces distinct). Instead, it all looks rather monolithic - and that can carry a price in terms of understandability, maintainability, debugability, and reliability. Furthermore, a massive re-write of so many core parts is likely to lead to several years of bugs. Lastly, many of the parts of systemd are not portable to other *nix (notably BSDs) - or at least, they haven't been ported yet. So it could drive an unnecessary wedge between Linux and BSD.

This whole debate saddens me

Posted Nov 29, 2014 20:25 UTC (Sat) by Wol (subscriber, #4433) [Link] (31 responses)

Except that NO OTHER INIT SYSTEM IS PORTABLE, EITHER !!!

Do any of the BSDs (other than Debian/BSD) use sysvinit?

Do any of the commercial nixen use sysvinit any more?

sysvinit only works on Debian/BSD thanks to a linux compatibility layer.

The systemd guys have taken the perfectly reasonable line that systemd is a linux init system, therefore relying on features unique to the linux kernel is a perfectly reasonable thing to do.

The trouble is, they see no problem in *relying* on *new* features, as other posters have said. That's likely to cause a backlash from the likes of RHEL/SLES, and once they start complaining loudly, changes are likely to happen ... :-) But again, their reasons for not wanting new features to be optional are good reasons - it adds bloat to have fallbacks ...

Cheers,
Wol

This whole debate saddens me

Posted Nov 29, 2014 22:24 UTC (Sat) by mgb (guest, #3226) [Link] (4 responses)

> Except that NO OTHER INIT SYSTEM IS PORTABLE, EITHER !!!

systemd is not just an init system. It aspired to replace the entire plumbing layer.

Making the entire plumbing layer non-portable would have been a huge step backward.

This whole debate saddens me

Posted Nov 29, 2014 22:46 UTC (Sat) by raven667 (subscriber, #5198) [Link] (3 responses)

That doesn't make any sense, the plumbing at this later is pretty much all kernel specific and non portable by definition.

This whole debate saddens me

Posted Nov 29, 2014 22:56 UTC (Sat) by mgb (guest, #3226) [Link] (2 responses)

> That doesn't make any sense, the plumbing at this later is pretty much all kernel specific and non portable by definition.

Which is why Debian GNU/kFreeBSD and Debian GNU/Hurd could not possibly exist.

But they do exist.

Systemd's non-portable plumbing layer would have been a huge backward step.

This whole debate saddens me

Posted Nov 30, 2014 0:27 UTC (Sun) by vonbrand (subscriber, #4458) [Link] (1 responses)

They exist because of BSD's Linux compatibility, because Hurd tries to be as like Linux as manageable (no own userspace). Besides, less than 1% of Debian counts as "doesn't exist" in my book.

This whole debate saddens me

Posted Nov 30, 2014 0:49 UTC (Sun) by rleigh (guest, #14622) [Link]

In end usage perhaps. But in actual useful development, you might be surprised at the proportion of development and infrastructure which was developed through the efforts of minor architectures and kernels, and the benefits which are brought by having them in terms of finding bugs which would be present but not noticed on the most commonly-used platforms. If they get dropped, it will lead to a loss of actively contributing developers and activities which do provide useful benefits to us all.

This whole debate saddens me

Posted Nov 29, 2014 22:58 UTC (Sat) by rleigh (guest, #14622) [Link] (3 responses)

Most other init systems are completely portable to other Unix systems because they use nothing but C and POSIX interfaces from libc. sysvinit is portable. It runs today in Debian on the Linux, FreeBSD and Hurd kernels with eglibc. It could undoubtedly run on other kernels and with other libcs such as ulibc.

The initscripts themselves do have some Linux-isms in them; primarily use of /proc which is catered for by linprocfs on FreeBSD and a translator (IIRC) on Hurd. For the scripts which are Linux-only (e.g. udev), that doesn't matter. For the others they could be cleaned up to be more portable if there was a need for that. E.g. I suspect use of /proc/mounts is no longer necessary now mtab has been eliminated; we could use the mount(8) output directly. If we wanted to remove the use of linprocfs and linsysfs, these scripts could be cleaned up just as we removed the bashisms. There hasn't been an realistic need for that, however.

I agree that the unconditional reliance on new features by systemd is a problem. You would have thought they would have the ability and resources to support conditional usage with a fallback, and to be able to test on older systems to make sure the fallbacks work.

This whole debate saddens me

Posted Nov 29, 2014 23:38 UTC (Sat) by raven667 (subscriber, #5198) [Link] (1 responses)

I think one important point though is that sysvinit is only portable to BSD and Hurd as far as those systems have linux compatibility layers, it isn't actually portable to the native APIs of those systems. Portability for applications is the same as it ever was, linux with systemd is just as different as OS X with launchd or Solaris with SMF or even linux with openrc, as much as an application needs to interact with the plumbing

This whole debate saddens me

Posted Nov 29, 2014 23:45 UTC (Sat) by misc (subscriber, #73730) [Link]

This whole debate saddens me

Posted Nov 29, 2014 23:44 UTC (Sat) by misc (subscriber, #73730) [Link]

Sometime, a fallback is not doable.

For example, the audit and containers issues that is discussed another place on this article's comment cannot have a "fall back". Smackd support cannot have a fallback. If kernel or something support is missing for a feature, then you cannot "fallback". Now, you can decide to not use it as a distribution and admins, but that's most of the time out of scope.

And stuff like cgroups did have a fallback ( from 12-04-2011 cfe5a53dc7 to may 2014, ie 3 years )

It is not like there is requirement just to annoy people..

This whole debate saddens me

Posted Nov 30, 2014 0:21 UTC (Sun) by vonbrand (subscriber, #4458) [Link] (21 responses)

Last time I looked, RHEL 7 was running systemd just fine, thank you. SUSE was also an early convert...

This whole debate saddens me

Posted Nov 30, 2014 0:59 UTC (Sun) by Wol (subscriber, #4433) [Link] (20 responses)

Yup. They're running systemd just fine. The problem is when the time comes to upgrade.

What's going to happen when some big company decides to upgrade their ancient RHEL7 system to RHEL9, hits kernel-related problems, and discovers they can't debug it because they can't change kernels?

You've only got to read the recent articles, and people are ALREADY complaining that this is a problem. Whether it gets worse or not depends on how the kernel and systemd camps decide to deal with it.

As has been pointed out, for systemd a two-year-old kernel is "too old to worry about". For RHEL/SLES, that kernel has several years life left. Which could make life very difficult if you need to swap kernels ...

Cheers,
Wol

This whole debate saddens me

Posted Nov 30, 2014 1:11 UTC (Sun) by vonbrand (subscriber, #4458) [Link]

Presumably RHEL 9 will still be using systemd...

This whole debate saddens me

Posted Nov 30, 2014 1:23 UTC (Sun) by mjg59 (subscriber, #23239) [Link] (14 responses)

No big RHEL customer is ever going to try to run an old kernel with a current RHEL userland. They've got support contracts exactly because they want to avoid them having to do that kind of crap themselves.

This whole debate saddens me

Posted Nov 30, 2014 17:18 UTC (Sun) by Wol (subscriber, #4433) [Link] (13 responses)

It's all very well saying "the customer has a support contract". The customer still has all the grief of a failed upgrade, and all you've done is MOVED the problem. You haven't cured it.

Even worse if it's an emergency upgrade (which if it's old hardware destined for scrap, is not unlikely).

Cheers,
Wol

This whole debate saddens me

Posted Nov 30, 2014 18:20 UTC (Sun) by vonbrand (subscriber, #4458) [Link]

Users with support contracts expect things to move smoothly from version N to N +1 ... it'part of the deal. And "emergency upgrade, machine is to be scrapped" hasn't ever come up in my experience...

This whole debate saddens me

Posted Nov 30, 2014 19:01 UTC (Sun) by mjg59 (subscriber, #23239) [Link] (11 responses)

No big company will respond to "RHEL 9 is broken" with "Let's run RHEL 9 on the RHEL 7 kernel". They'll respond by rolling back to the previously deployed RHEL and screaming at whoever was responsible for giving the go-ahead. In almost 5 years of dealing with RHEL kernel bugs, I literally never saw anybody attempting the situation you're describing. It just doesn't happen.

This whole debate saddens me

Posted Dec 2, 2014 18:49 UTC (Tue) by Wol (subscriber, #4433) [Link] (10 responses)

What I was thinking of, and we did that sort of thing on various occasions, was taking (as a real example from my past)

NT3.5 and UV9.6 on old hardware -> NT2000 and UV11 on new hardware.

This is exactly the thing Al Viro flew off on - if the new system performs badly relative to the old one, then you want to find out what the f*** went wrong!

And old hardware breaks. You might be planning an upgrade and your hand gets forced. Or manglement are skinflints and wait until something breaks. Or whatever.

It sounds like that has happened with PostgreSQL already, so it's not an "it might happen", it's a "We've already had to do this before".

Cheers,
Wol

This whole debate saddens me

Posted Dec 2, 2014 19:16 UTC (Tue) by mjg59 (subscriber, #23239) [Link] (9 responses)

The equivalent here is "We ran Oracle 13 on RHEL 8 and it performs worse than Oracle 12 on RHEL 7, so we tried Oracle 13 on RHEL 7 and Oracle 12 on RHEL 8", not "We ran Oracle 12 on RHEL 8 and it performs worse than Oracle 12 on RHEL 7, so we tried running the RHEL 7 kernel under RHEL 8". You didn't try to diagnose Windows 2000 performance issues by running it on top of the NT 3.5 kernel!

This whole debate saddens me

Posted Dec 3, 2014 20:44 UTC (Wed) by Wol (subscriber, #4433) [Link] (8 responses)

But if they want to find the source of the problem, that's what you have to do. Change as few components as possible until you find what went wrong.

Given your example, if both Oracle 12 & 13 run fine on RHEL 7, and they run worse on RHEL 8, then you know the fault is RHEL. If running RHEL 8 systemd on RHEL 7, and RHEL 7 systemd on RHEL 8 also makes no difference, then you know it's the kernel. Then you play with the kernels until you find the one at fault.

But - given the tight coupling between systemd and the kernel - that sort of debugging is harder than it should be.

Linux' motto here is "don't break user space". If current systemd refuses to even boot when using *current* distribution kernels (even if they are decrepit kernels :-) that's a pretty serious user-space breakage!!!

Cheers,
Wol

This whole debate saddens me

Posted Dec 4, 2014 10:51 UTC (Thu) by mjg59 (subscriber, #23239) [Link] (7 responses)

Like I said, *nobody* does this. If performance is worse on RHEL 8, and you've verified that it's RHEL and not the application that's responsible, you complain to Red Hat.

This whole debate saddens me

Posted Dec 4, 2014 13:59 UTC (Thu) by madscientist (subscriber, #16861) [Link] (2 responses)

Er... *somebody* has to do it. If you file a bug with Red Hat do you think they just meditate on the code until the problem becomes obvious?

And let's remember that not everyone buys a support contract from a company, not everyone has extra systems lying around to test upgrades on before they upgrade their "important" systems, and not everyone does reinstall upgrades. Are we saying that these people are SOL and the fact that their life just potentially got a lot more complex so that systemd doesn't have to think about backward compatibility is ok, because those people "aren't doing the work" so who cares?

This whole debate saddens me

Posted Dec 4, 2014 19:52 UTC (Thu) by sjj (guest, #2020) [Link]

These days, *everybody* with a credit card has test systems available. Or model your stuff on your laptop in VMs. If your precious server is an Artisanal Build by your Veteran Unix Administrator, insist that its software configuration can be replicated from a version control system at any time.

This whole debate saddens me

Posted Dec 4, 2014 20:04 UTC (Thu) by mjg59 (subscriber, #23239) [Link]

The argument in http://lwn.net/Articles/623610/ was:

> What's going to happen when some big company decides to upgrade their ancient RHEL7 system to RHEL9, hits kernel-related problems, and discovers they can't debug it because they can't change kernels?

Everybody running RHEL has a support contract. Nobody running RHEL is going to debug it by swapping out individual components. Red Hat presumably feel comfortable in their ability to do that debug work.

This whole debate saddens me

Posted Dec 4, 2014 14:08 UTC (Thu) by dan_a (guest, #5325) [Link] (3 responses)

But then wouldn't Red Hat start doing all of that - because they will want to solve the regression?

This whole debate saddens me

Posted Dec 4, 2014 20:07 UTC (Thu) by mjg59 (subscriber, #23239) [Link] (2 responses)

My experience at Red Hat was that performance issues were generally diagnosed by looking at perf traces and making targeted attempts at fixing the issue rather than just bisecting - the parts of the kernel that tend to cause this issues are frequently rewritten between RHEL releases, so bisecting often just gives you "We changed this algorithm to this other algorithm", and you still need to figure out why it's pathological with the new implementation because just reverting that isn't an option.

This whole debate saddens me

Posted Dec 4, 2014 20:44 UTC (Thu) by viro (subscriber, #7872) [Link] (1 responses)

Do we, by any chance, have magical private perf patches that allow to obtain information about an apparent race leading to data corruption sometime reproducible by given test in xfstests, and whom should I ask for it? Just going by the last time I had to go into "bisect all the way to 3.0" mode...

</sarcasm> There's a whole lot of stuff other than performance regressions, as you damn well know. For those, yes, you want perf traces first and foremost (and even then you really might want to see where the hell has regression first happened - sometimes it helps in figuring out what's wrong with the current algorithm). And we do upstream work as well, as you also know - after all, crap happening in mainline eventually will end up as crap happening in the next RHEL branch. <sarcasm>

This whole debate saddens me

Posted Dec 4, 2014 21:02 UTC (Thu) by mjg59 (subscriber, #23239) [Link]

Undeniably. But they're still not cases where customers are going to try to swap out individual components themselves - the risk is customers being unhappy because it takes Red Hat longer to diagnose an issue, not customers being unhappy that they can't run hybrid RHEL systems.

This whole debate saddens me

Posted Dec 1, 2014 1:07 UTC (Mon) by foom (subscriber, #14868) [Link]

I'd be very, very, surprised if that even worked at all, systemd or not. Usually (at least historically) glibc gets compiled with a newer minimum kernel version, so, you'd have to rebuild glibc, too, and probably some other software too, if you wanted to actually run an old kernel.

This whole debate saddens me

Posted Dec 1, 2014 15:02 UTC (Mon) by filipjoelsson (guest, #2622) [Link] (2 responses)

Red Hat doesn't support upgrading major versions, do they? You migrate to new hardware, and pick the latest RHEL (or Centos), or you stay on the same hardware and it just keeps on ticking.

If you develop something new and shiny, and you want the latest features, it seems to me like a bad idea to put that on an old system which is already running critical tasks. Develop on Fedora, test and deploy on Centos/RHEL, after that don't touch anyhting apart from installing security updates and minor features.

If your product acquires brand new features worthy of a major version number change, then you already have a migration situation rather than an upgrade. Do it properly with new (virtual) hardware, test thoroughly, and deploy with the flip of a switch.

This whole debate saddens me

Posted Dec 1, 2014 15:36 UTC (Mon) by zdzichu (subscriber, #17118) [Link] (1 responses)

They do support upgrade from RHEL6 to RHEL7 (first systemd-shipping version) server edition: https://access.redhat.com/solutions/637583

This whole debate saddens me

Posted Dec 1, 2014 16:29 UTC (Mon) by filipjoelsson (guest, #2622) [Link]

Indeed, you are right and I was (partially) wrong. If you run the server edition on x86_64 hardware, there is an in-place upgrade path. If I read the linked page, the other editions and archs do not support it.

It seems to me that this would be the case, because in-place upgrade is a corner case, and its only worth supporting on the biggest platform's most expensive edition. Upgrading from RHEL5 to 7, which was the example I responded to, does still not seem to be supported.

Anyway, upgrading the OS on a production server to a new major version is still a Bad Idea[tm], for which reason the example of the OP was more than a little contrived. Or do you disagree?

This whole debate saddens me

Posted Nov 30, 2014 5:16 UTC (Sun) by rodgerd (guest, #58896) [Link]

> It doesn't seem very "Unixy" (in the sense of do one thing, do it well, and keep the interfaces distinct)

Please delete OpenSSH from all your systems.

> Lastly, many of the parts of systemd are not portable

Please delete OpenSSH from all your systems.

This whole debate saddens me

Posted Nov 30, 2014 14:28 UTC (Sun) by petermogensen (guest, #100031) [Link] (19 responses)

"What people really are wary of is the tight-coupling between systemd and everything else. Things like syslog, the login manager, bits of udev, cron, device management etc. It doesn't seem very "Unixy"

No it doesn't - at first. But as I said, It saddens me that the critics side of the debate basically boils down to the above. Namely: Over-interpretations of features. (systemd doesn't replace syslog and doesn't prevent you from using it). - and Ignoring design-arguements. (Lennart has make the case perfectly clear why stuff you want to use cgroups for needs to be controlled by PID1) ... and worst of all: No concrete proposals for alternative solutions to the problems. Personally I can't see how the features provided by systemd could be provided in a way satisfying the critics. But then, I'm no expert here. But it does strike me that the critics provide no alternative solutions. It makes me thing it's just one big emotinal mass-rant. Which is fine ... if it wasn't for the fact that it seems to hurt Debian development. Btw... Thanks to those providing serious replies. I'm sad to see no systemd critics here have stepped up to explain exactly how they would achieve the same result in a way they would regard as "UNIXy".

This whole debate saddens me

Posted Dec 1, 2014 11:01 UTC (Mon) by hunger (subscriber, #36242) [Link] (18 responses)

I tried asking exactly that kind of question several times in anti-systemd camps: How do you propose to tackle the problems addressed by systemd instead?

So far the only reaction I managed to get was long arguments about whether or not that the problem exist in the first place. The issues that logind covers (simplified version: that the user on the seat -- and only him -- has the permissions necessary to use the devices connected to that seat) is one example: That issue does not exist and can be handled by user groups (apparently at the same time:-).

The fact that user groups were tried for a couple of decades before people set out to implement consoleKit, logind and consoleKit2 does not convince. Apparently the admins back then were too stupid to do group setup right and the developers that set out to implement all those services were misguided not to notice that.

That kind of reply really saddens me. I do would appreciate some competition to systemd, just to keep everybody on their toes:-) Unfortunately I could not spot any group able to pull that off so far... but maybe I was not looking hard enough.

This whole debate saddens me

Posted Dec 1, 2014 11:19 UTC (Mon) by anselm (subscriber, #2796) [Link]

We're in the funny situation that, according to various anti-systemd people, the things systemd does are way too complicated for comfort and would at the same time be trivial to add to the existing setup if one really wanted to. That both of these can't really be true at the same time is a contradiction that seems to be lost on the people involved.

This whole debate saddens me

Posted Dec 1, 2014 19:37 UTC (Mon) by dlang (guest, #313) [Link] (16 responses)

> How do you propose to tackle the problems addressed by systemd instead?

For a lot of systems that I manage, these aren't problems to begin with.

> ...that the user on the seat -- and only him -- has the permissions necessary to use the devices connected to that seat

not a problem for any systems I manage or use.

On servers I don't want this sort of limit, I want remote users to be able to access local devices

On laptops and desktops I also want to be able to access local hardware when I'm remote. It's what lets me troubleshoot problems for friends and family

Now, on shared systems I can see why you would want it, but that's just not a problem for me.

I also don't object to the solution existing. I object to you telling me that it should be important to me.

This whole debate saddens me

Posted Dec 1, 2014 22:45 UTC (Mon) by hunger (subscriber, #36242) [Link] (15 responses)

Thanks for agreeing that this use-case does exist, even if it does not apply to your systems. I definitely do not want to tell you or any other admin or user out there how to configure your computers. Heck, my personal installations are called "excentric" by some of my co-workers, so I am in no position to do that!

But I do find it alarming to get such a response from a group of people that are actively trying to replace something. I seriously hope people like that actually try hard to understand what the thing they are replacing actually tries to archive. Whether or not the replacement then needs to implement a solution is a different matter, but that can only be decided after it is understood what the problems actually are.

In my specific example: Claiming that consolekit and even more so logind, and eventually consolekit2 (if things work out) can be fully replaced by group permissions is not even funny anymore. That has been tried for years and years by literally dozens of distributions and hundreds of admins and never worked -- which is why all that code that those people want to replace got written in the first place.

And yes, dozens of distributions and hundreds of admins can be wrong. But I do trust in them much more than some claims by more or less random people in IRC:-). I am also aware that this is an anecdote only, but I do keep running into similar situations all the time -- which may be more of a sign for me wasting too much time on IRC than anything else though:-)

This whole debate saddens me

Posted Dec 1, 2014 23:23 UTC (Mon) by dlang (guest, #313) [Link] (14 responses)

the claims that those things could do the job aren't coming from the people trying to replace the existing stuff, they are coming from the people who are pretty happy with what they already have and who don't like the downsides of the replacements.

They may very well be wrong in listing other possible ways to do what systemd is trying to do, but the bottom line is that those people don't really care about what systemd is trying to do because what it's offering isn't compelling enough to them to be worth the overhead of doing the transition. And yes, that does include having to learn all about the new system. There are always new things to learn, I don't know any good admins who have nothing they are working to learn so they have spare time to pick up systemd config. Instead they (we) all have a long list of things we want to learn, and systemd is being forced up near the top of the list ahead of things that we care a lot more about.

This whole debate saddens me

Posted Dec 2, 2014 1:12 UTC (Tue) by Cyberax (✭ supporter ✭, #52523) [Link] (10 responses)

Early in 2000-s we tried to do multiseat desktops for schools in order to save money on hardware. We were able to do it, but it required layers upon layers of hacks.

For example, it was simply not possible to partition a Linux machine in such way that stray nohuped processes from one user session could not end up hogging the whole system. We solved that with a special script that killed all but several root-owned processes every several hours. Except that we had no way to check if a user session is active and sometimes ended up kicking out still logged on users.

This whole debate saddens me

Posted Dec 2, 2014 1:30 UTC (Tue) by dlang (guest, #313) [Link] (9 responses)

that sounds like a perfect use case for cgroups, but I don't see how it's related to what I posted.

This whole debate saddens me

Posted Dec 2, 2014 1:33 UTC (Tue) by Cyberax (✭ supporter ✭, #52523) [Link] (8 responses)

Yes, and the first software combination that bothered to support it was logind+systemd. That's a clear example of a thing that was practically impossible to do correctly with the old infrastructure - and not for the lack of trying.

This whole debate saddens me

Posted Dec 2, 2014 1:38 UTC (Tue) by dlang (guest, #313) [Link] (7 responses)

So that means that there is a good reason for that combination to exist.

But that's a strawman because nobody is saying that systemd in all it's glory (with everything integrated and enabled) has no right to exist.

People just disagree on it being the default, or worse, having things start to require it that don't absolutely need it to function (and if something does, should that something be default on a distro?)

This whole debate saddens me

Posted Dec 2, 2014 5:53 UTC (Tue) by Cyberax (✭ supporter ✭, #52523) [Link] (4 responses)

> People just disagree on it being the default, or worse, having things start to require it that don't absolutely need it to function (and if something does, should that something be default on a distro?)
That's entirely different discussion. I would even support an effort to make sure that systemd does not regress on supporting alternatives to its components.

And so far only journald is required to use systemd, everything else is optional.

This whole debate saddens me

Posted Dec 3, 2014 17:38 UTC (Wed) by jb.1234abcd (guest, #95827) [Link] (3 responses)

> That's entirely different discussion. I would even support an effort to make sure that systemd does not regress on supporting alternatives to its components."

Good to hear.
How about an alternative to what systemd proposed for managaement of cgroups (that is, a systemd, pid=1 dependent solution).
How about systemd learning to live and cooperate in an ecosystem that is based on UNIX philosophy ?

And let's stop useless discussions about SysV vice systemd becuase they
lead nowhere. Let's look into the immediate future, but not only according to systemd zealots.

This is systemd's view of cgroups management:
http://lwn.net/Articles/575793/

This is an alternative view:
A control group manager (CGManager)
http://lwn.net/Articles/618411/
Its heritage is known to be management of "task containers", extended to
resources, and renamed to control groups.

Here are some excerpts from discussion on osnews.com, in context of Devuan fork of Debian and its pending choice of a default, progressive init sys like perhaps OpenRC or uselessd (when ready) as coexisting alternatives to systemd:

by Alfman on Fri 28th Nov 2014 16:30 UTC in reply to "RE: Interesting"
"Systemd fixed real limitations of sysv init scripts, which I think is great. However it introduced excessive coupling between unrelated services, which is both unnecessary and harmful to alternatives. When programming, unnecessary coupling is often a sign of a bad design. With Lennart P, I don't suspect incompetence, therefor I worry that it's being done deliberately as part of a strategy to exclude alternatives."

Alfman on Fri 28th Nov 2014 22:52 UTC in reply to "RE[3]: Interesting"
"I disagree with this [edit: systemd's view http://lwn.net/Articles/575793/], the easiest way to do this hasn't changed with systemd. The monitoring process need only handle the SIGCLD signal. Not only is this very easy to do, but it doesn't need any special permissions or non-standard configurations either.

The link points out some functional overlap between a "cgroup manager" and a service manager. However I think that maybe cgroup management might be better left to something more powerful & flexible like linux containers. We can deploy a service inside a linux container and then allow the init system to monitor the container.
[edit: my emphasis]
This method of managing cgroups should work with any service BTW, not just ones that are designed for systemd. It should also work with any init system. This is where the power of *nix comes from in the hands of power users, not monolithic solutions."
[edit: my emphasis][end]

by Alfman on Sat 29th Nov 2014 08:36 UTC in reply to "RE[6]: Interesting"
"If we can leave cgroups to a better tool like LXC, that might be preferable for me but I'm not altogether opposed to them. My interest is having something that is both reliable and unintrusive. Maybe uselessd or openrc like you suggest can fit the criteria."

The emphasis on neutrality of proposed solution w/r to type of sys init
or service should not be overlooked !
Why is it then that this solution is not being implemented by the major distros with the same zeal (but without false pretenses) as in case of systemd ?

jb

This whole debate saddens me

Posted Dec 3, 2014 18:03 UTC (Wed) by Cyberax (✭ supporter ✭, #52523) [Link]

> How about an alternative to what systemd proposed for managaement of cgroups (that is, a systemd, pid=1 dependent solution). How about systemd learning to live and cooperate in an ecosystem that is based on UNIX philosophy ?
I'm extremely worried about cgroups interoperability. There was a plan for systemd to own ALL of the cgroups and even forbid their modifications by other processes on the kernel level.

However, it seems that somebody had repeatedly beaten kernel cgroups maintainers with a cluebat. So it'll be possible to carve out a subtree out of the cgroups tree and manage it with any tool you want. Even perhaps namespace it for a custom container.

> The monitoring process need only handle the SIGCLD signal. Not only is this very easy to do, but it doesn't need any special permissions or non-standard configurations either.
No, it's not. SIGCHLD is woefully inadequate for process confinement. Only the _parent_ receives it.

For example, suppose that BIND11 launches a helper program 'zone_from_mongodb'. This program (in error!) launches a mongodb instance in the background. Mongodb does the regular daemon song-and-dance and reparents itself to the PID1.

But here's the catch - PID1 has no way to know that this mongodb process actually belongs to BIND11! So there'll be no way to terminate BIND11 cleanly - we'll leave a mongodb instance running in background.

So no, SIGCHLD is not nearly enough.

This whole debate saddens me

Posted Dec 3, 2014 18:13 UTC (Wed) by anselm (subscriber, #2796) [Link]

The emphasis on neutrality of proposed solution w/r to type of sys init or service should not be overlooked ! Why is it then that this solution is not being implemented by the major distros with the same zeal (but without false pretenses) as in case of systemd ?

Perhaps because doing it as part of PID 1 actually makes technical sense? It simplifies the implementation considerably, and a simpler implementation is usually a more robust implementation. Having a separate cgroup management process would lead to all sorts of nasty chicken-and-egg problems and/or duplication of functionality.

In addition, “the major distros” seem to be happy with systemd, which provides cgroups management for free, so there is little incentive to implement something else which is technically inferior, simply for the sake of “neutrality”. No major distribution is “neutral” with respect to things like the C runtime library or operating system kernel, but nobody seems to be bothered by that.

Finally, we're all looking forward to evaluating the alternative implementation of cgroups management that Devuan will hopefully provide in due course. If it is actually superior in practice to systemd's approach, then so much the better for all of us – but the Devuan people will need to build, test, integrate, and document it first. Words are cheap.

This whole debate saddens me

Posted Dec 3, 2014 20:43 UTC (Wed) by ms_43 (subscriber, #99293) [Link]

There was a comment in this very discussion by somebody who actually has relevant experience that explains why separating service management (and croup management is a core part of service management nowadays if you want to keep up with the competition in terms of provided reliability) into a process different from init has negligible practical benefit:

https://lwn.net/Articles/623527/

And the first comment you linked to provides a very good rationale for why service management and cgroup management should not be separated into different processes.

Why then would one want to run CGManager on top of systemd? It appears to be designed to run on systems that don't have systemd.

Btw if these cgroup namespace patches are going to be merged, that would simplify container delegation and i wonder if CGManager would become mostly obsolete.
https://lkml.org/lkml/2014/10/13/464

This whole debate saddens me

Posted Dec 2, 2014 10:21 UTC (Tue) by hunger (subscriber, #36242) [Link]

I do agree that tools should not needlessly depend on other things.

But surely the people that according to you should not need to bother about the problems that those tools solve are not in a position to decide which of those dependencies are needless and which are not.

This whole debate saddens me

Posted Dec 2, 2014 10:27 UTC (Tue) by niner (subscriber, #26151) [Link]

So you bitch and moan around, just because the defaults try to solve other people's problems instead of yours. Well, tough luck. Happens to people all the time. So why should your problems be so much more important than those other people's?

And why do you spend so much time arguing about this, instead of trying to add fixes for your problems to the new default? It is free software, you know?

This whole debate saddens me

Posted Dec 2, 2014 10:14 UTC (Tue) by hunger (subscriber, #36242) [Link]

I am not talking about random users here, not even about admins. This is a community that sets out to replace an existing piece of technology with people actually claiming to write code to help with the removal. I did expect whoever sets out to write code to replace other, existing code to actually take the time to find out which problems that original code is actually trying to solve.

You are telling me that I am wrong to have that expectation, because people are happy with what they have. I can accept that part.

But how can people that do not even bother to understand the problems of the system they are currently using make an informed decision on the downside of the replacements that set out to solve those issues?

If your argument is true, then this whole systemd debate is not a technical discussion, but boils down to a trust issue: Do I trust the maintainers of my distribution to make the right choices for me or do I prefer to listen to random people shouting on the internet? That would paint a rather bleak picture of the Debian community, which is the only one that had this escalate so much.

I have to admit that this discussion does get under my skin, simply because following this debate has eroded my confidence in being part of a community of intelligent and rational people, which I rather enjoyed to have for the last 20 or so years. For the record: People of both sides of the fence contributed to that erosion.

This whole debate saddens me

Posted Dec 2, 2014 12:26 UTC (Tue) by anselm (subscriber, #2796) [Link] (1 responses)

Instead they (we) all have a long list of things we want to learn, and systemd is being forced up near the top of the list ahead of things that we care a lot more about.

One of the nice things about systemd is that it is actually a lot easier to learn than the current hodgepodge of nearly-unrelated tools. For example, there is one basic configuration file format that applies to all parts of systemd, whereas in the traditional setup no two configuration files seem to have the same basic format (let alone semantics). Also, you no longer need to be a shell programmer of some experience merely to understand the way background services are started, stopped, and monitored.

This isn't immediately beneficial to experienced system administrators who have spent the last 30 years getting used to the idiosyncrasies of the traditional setup, but will be a great boon in the future to new people coming in, especially as systemd settles down and better documentation, training manuals, books, etc. are written. As a Linux instructor and author I'm looking forward to my job becoming that much easier as the traditional setup is being phased out and a lot of the stuff that currently makes new Linux administrators tear their hair out simply goes away.

(Cynical minds will of course view the vocal resistance against systemd among some “veteran Unix admins” as fueled at least in part by the old guard running scared of no longer being the undisputed demigods of arcane Unix knowledge, as embodied in the traditional init setup. If my job security depended on my being the only person who understands the company's 20-year buildup of tweaked init scripts, service monitors downloaded from somewhere on the net, and hand-coded hacks that are needed to work around the default system's deficiencies, I too would probably be very afraid of something that threatens to make all of that obsolete.)

This whole debate saddens me

Posted Dec 2, 2014 18:05 UTC (Tue) by dlang (guest, #313) [Link]

You don't have to be "running scared" to be annoyed at being forced to take time away from things you want and need to learn to deal with a change like systemd

Given that (almost) everyone who's learned *nix for decades, and all the training material and examples from that time cover boot scripts, this is hardly a matter of job security because you are the only one who knows this stuff.

Or if you are a person who feels and acts that way, systemd is hardly going to change things, there are still going to be lots of room for config settings that nobody else knows why they are there, not to mention all the application and monitoring configs (and if you think that systemd will eliminate the need for other monitoring tools, you just don't understand the scope of the task)

What am I missing here?

Posted Nov 30, 2014 18:33 UTC (Sun) by HelloWorld (guest, #56129) [Link] (28 responses)

Let's cast aside for a moment the question of whether we need a non-systemd distro for anything other than tiny embedded systems. There are only two cases to consider: either there are enough volunteers to make stuff work without systemd or there aren't. In the first case there's no need to fork because Debian is a perfectly fine project in which to do this kind of thing. In the second case the whole issue is moot because forking debian isn't going to make volunteers appear out of thin air. So what am I missing here? Is there any point at all to this?

What am I missing here?

Posted Nov 30, 2014 19:38 UTC (Sun) by mgb (guest, #3226) [Link] (7 responses)

> either there are enough volunteers to make stuff work without systemd or there aren't. In the first case there's no need to fork because Debian is a perfectly fine project in which to do this kind of thing

The problem in Debian is that systemd believers keep taking packages that work without systemd and making them dependent on systemd - which we call "breaking" them.

Hence the need for a solution outside Debian.

What am I missing here?

Posted Nov 30, 2014 21:57 UTC (Sun) by HelloWorld (guest, #56129) [Link] (6 responses)

> The problem in Debian is that systemd believers keep taking packages that work without systemd and making them dependent on systemd
Bullshit, Debian didn't introduce any such dependencies, upstreams did.

What am I missing here?

Posted Nov 30, 2014 22:36 UTC (Sun) by mgb (guest, #3226) [Link] (4 responses)

> Bullshit, Debian didn't introduce any such dependencies, upstreams did.

That is not actually true. Except for systemd itself, most upstreams are portable and very flexible. But a few DDs are reconfiguring packages to introduce systemd dependencies.

And the GR ruled that DDs can pretty much do whatever they want to Debian.

Hence the fork.

What am I missing here?

Posted Dec 1, 2014 0:42 UTC (Mon) by ovitters (guest, #27950) [Link]

> And the GR ruled that DDs can pretty much do whatever they want to Debian.

No, the GR ruled that the existing development process is working well enough. Basically: it'll be worked out in bugreports and so on. If it really doesn't work out, there's still the CTTE. It's a pretty slow process (endless discussions) but eventually a decision is made. Seeing every little detail and discussing options at length is expected IMO. It's not something I'd enjoy participating in (I like endless discussions, but not if I am actually trying to achieve something :-P), but it does result in a very stable and well working distribution.

What am I missing here?

Posted Dec 1, 2014 8:12 UTC (Mon) by rahvin (guest, #16953) [Link] (2 responses)

One of the most important parts of the Debian constitution is that package maintainers cannot be forced to do work. You can't have a volunteer project where you require a maintainer to do some work they may not want to do, particularly when the problem originates upstream.

The entire Debian project would be destroyed by any requirement that went back on that basic premise from the constitution because you can't force volunteers to do work. The people complaining about this seem to miss this simple point.

It's no different that trying to pass a law in America that makes freedom of speech or religion no longer free. This would violate the basic premise of the USA constitution and there is a process for the courts to overrule it and declare such a law invalid and unenforceable. In Debian AFAIK there is no "supreme court" that ensures that resolutions comply with the Constitution. Fortunately the Debian maintainers voted overwhelmingly in favor of allowing the maintainers to do what they want just as the Constitution says.

Any resolution to the contrary likely would have unwound the entire Debian Project as maintainers began to quit after being forced to do work they did not want to do. It wouldn't take much or even very many people to quit to basically destroy the entire project. Regardless of how you feel about systemd there is no reason whatsoever to burn the entire Debian project down over it, unfortunately there are some that apparently disagree.

What am I missing here?

Posted Dec 1, 2014 9:03 UTC (Mon) by mgb (guest, #3226) [Link] (1 responses)

No one is asking DDs to work. Debian had a choice whether to prevent DDs breaking packages by introducing unnecessary dependencies on systemd.

Debian chose not to.

The debate is over. Now it is time to fork.

What am I missing here?

Posted Dec 1, 2014 9:48 UTC (Mon) by ovitters (guest, #27950) [Link]

That's really not what the GR was about, nor what was happening. Suggest to read the other explanations. You're suggesting someone people (DDs) are out to get you or something. A bit too much tin foil hat.

What am I missing here?

Posted Dec 1, 2014 6:39 UTC (Mon) by zlynx (guest, #2285) [Link]

What you're missing is that "systemd dependencies" in these people's tiny minds include any code that supports systemd socket init or startup notification. Even if that code runs fine under other init systems.

What am I missing here?

Posted Nov 30, 2014 21:15 UTC (Sun) by dps (guest, #5725) [Link] (19 responses)

My *desktop* system usw systwmd and it just about works,peovided I manually fix the things it should do automagically but inexplicably can't, like cope with separate /us partition which isn nomally mounted read only. I don't seem to get a user bus when I log in but don't use social media, so don't mind suuppott for it not working.

On my panaoid firewall system the picture is different. If libsystemd is not goint to be used then installing it is *very bad* move. Any software on that box needs a good reason to be there. dbus, udev and much else that systemd requires looks like serious attack surface expansion.

Is my firwwall amchine, which is an old 500MHz i686 box really an embedded system? Lack of a suitable debian option, which obviously must not include any of systemd, would be undesirable.

What am I missing here?

Posted Nov 30, 2014 21:29 UTC (Sun) by mpr22 (subscriber, #60784) [Link]

I'd say that a computer used exclusively as a firewall is effectively an embedded system, yes. The fact that it happens to be made of commodity PC components is neither here nor there.

What am I missing here?

Posted Nov 30, 2014 21:31 UTC (Sun) by drago01 (subscriber, #50715) [Link] (8 responses)

There is no reason why you couldn't use systemd on an embedded system.

What am I missing here?

Posted Nov 30, 2014 21:47 UTC (Sun) by dlang (guest, #313) [Link] (7 responses)

You seem to have completely missed the point of the post. If you read the parent post, you will see reasons for not using systemd on embedded systems

They are large, compleicated, and have tons of features that aren't needed for the functionality of the system.

This makes the system more fragile and vulnerable, just because it can do so much more.

Any Yes, a stripped down firewall is an embedded system. A media center computer is also an embedded system. The type or power of the hardware isn't what makes something an embedded system. What makes it an embedded system is the purpose of the system and what you can do with it. If it is setup so that you don't install anything on it, just use it as-is, it's an embedded system. If you can install apps on it, it could be an embedded system, but that depends on the apps available.

My Android Phone is not an embedded system

My Vizio TV is

My router counts and an embedded system when running the factory software, but once I install OpenWRT on it, it's classification as an embedded system becomes more questionable.

What am I missing here?

Posted Nov 30, 2014 22:07 UTC (Sun) by drago01 (subscriber, #50715) [Link] (3 responses)

Uh no. Those are some of the myths getting spread here ... you do not have to use those features. So no I didn't miss the point ... I just don't agree with it.

What am I missing here?

Posted Dec 1, 2014 0:24 UTC (Mon) by dlang (guest, #313) [Link] (1 responses)

some systemd features can be remove, but not all. systemd insists on the journal and cgroups for example. Socket activation is a neat idea, but it does add complexity (and thus expands the attack surface), and it cannot be removed from the codebase.

When you are talking about security (like the firewall that was being discussed), features that are implemented in the code are part of the attack surface, even if they are features that you don't intend to use on the firewall.

What am I missing here?

Posted Dec 1, 2014 0:58 UTC (Mon) by anselm (subscriber, #2796) [Link]

OTOH, the traditional setup makes a shell (often even bash) part of the attack surface, which is something that systemd can avoid. It's a trade-off.

What am I missing here?

Posted Dec 2, 2014 21:55 UTC (Tue) by Wol (subscriber, #4433) [Link]

> you do not have to use those features. So no I didn't miss the point

Except you DID miss the point.

On a *vulnerable* system an ATTACKER might use those features. So you most definitely DO NOT WANT THEM INSTALLED.

Yes, I think sysvinit provides a much bigger attack surface than systemd. But the point remains. If you are hardening a system, you *DELETE* anything you don't want!

If there's something unnecessary on a hardened system, then it hasn't been properly hardened ...

Cheers,
Wol

What am I missing here?

Posted Nov 30, 2014 22:44 UTC (Sun) by anselm (subscriber, #2796) [Link] (2 responses)

Various embedded-system developers have stated in public that they really like systemd, so it is by no means obvious that systemd is inappropriate for embedded systems. These people generally don't mess around – if systemd didn't do what they need they wouldn't use it at all. Horses for courses.

What am I missing here?

Posted Dec 1, 2014 0:25 UTC (Mon) by dlang (guest, #313) [Link] (1 responses)

and just because some embedded developers like it doesn't make it appropriate for all embedded use.

What am I missing here?

Posted Dec 1, 2014 0:54 UTC (Mon) by anselm (subscriber, #2796) [Link]

Which is why I didn't say that at all. The logical opposite of “inappropriate for embedded use” is not “appropriate for all embedded use”.

Whether systemd is suitable for any given embedded-system project is something that the developers of that project will need to figure out, based on the requirements of that particular project. There is a chance that systemd may not do what is needed but there is also a chance that systemd will be just what the doctor ordered – it all depends.

What am I missing here?

Posted Nov 30, 2014 22:08 UTC (Sun) by HelloWorld (guest, #56129) [Link] (7 responses)

Tell me, why would I waste my time debating this with a person as ignorant as you? Not only is your spelling atrocious (clearly demonstrating a lack of respect for the readers) but you also spout nonsense about systemd, namely the whole separate /usr thing, that has been rebutted around a million times by now. If you want to be taken seriously get your facts straight.

What am I missing here?

Posted Dec 1, 2014 0:47 UTC (Mon) by ovitters (guest, #27950) [Link] (6 responses)

That could just be the result of a buggy distribution. If your distribution provides systemd and it doesn't work nicely, then it is ok if they say it is buggy (even if they're mistaken about the problem).

dps: Your use-case should work fine. File bugs with your distribution.

What am I missing here?

Posted Dec 1, 2014 12:25 UTC (Mon) by dps (guest, #5725) [Link] (5 responses)

What I actually want is a sane means of doing things like a separate read-only /usr without a large initial ram disk or needing to debug things without any tools. I would also like to be able to imagine /usr being on NFS (and presumably read only) and that implies systemd *not* setting up the network.

Doing this using systemd looks like implementing computer algebra systems on turing machines. System V init looks like a better solution to this particular problem. Something like systemd with the added feature of rcS* scripts would be OK too. I know this may sound heretical but reducing complexity is almost always a good idea.

Just filing bugs against my distribution won't help much because I use my own kernels which are focused on the hardware I actually own. This might be because my first linux box ran linux 0.99pl11, in the days when one the first things you did was rebuild the kernel to match your hardware. My firewall machine kernel supports neither modules nor /dev/mem,

I have yet to understand why systemd's start scripts can active my LVM volumes but won't mount my LVM volumes and how to fix that problem.

If Devuan makes it easier to install a box without the attack surface implied by systemd then IMHO that is worthwhile. The features that I want on desktops imply a large attack surface, which is why I stick a paranoid default deny firewall box in front of them. My printer also has a fairly large attack surface too but unfortunately my firewall won't allow you to talk to it.

What am I missing here?

Posted Dec 1, 2014 12:45 UTC (Mon) by Cyberax (✭ supporter ✭, #52523) [Link] (2 responses)

> What I actually want is a sane means of doing things like a separate read-only /usr without a large initial ram disk or needing to debug things without any tools. I would also like to be able to imagine /usr being on NFS (and presumably read only) and that implies systemd *not* setting up the network.
A correct modern way is to mount /usr and other directories from initrd and then use pivot_root to switch the root to a newly prepared filesystem. Then you just exec systemd and go on as usual.

You might be able to pull it off with whatever you have on the root partition (in /lib, /sbin and /bin), but it's unlikely to continue to work in the future as more and more systems abandon /usr and / separation.

Needless to say, systemd can work just fine with this setup.

> I have yet to understand why systemd's start scripts can active my LVM volumes but won't mount my LVM volumes and how to fix that problem.
?

What am I missing here?

Posted Dec 2, 2014 12:21 UTC (Tue) by nix (subscriber, #2304) [Link] (1 responses)

IIRC, pivot_root has been more or less completely obsolete for years. The modern approach is to rm -rf everything outside your new mountpoint, then 'exec chroot' into it.

What am I missing here?

Posted Dec 2, 2014 19:47 UTC (Tue) by Cyberax (✭ supporter ✭, #52523) [Link]

I think that pivot_root is still used during shutdown - it's basically the only way to deconstruct complicated stacked devices for the root partition.

What am I missing here?

Posted Dec 1, 2014 12:47 UTC (Mon) by anselm (subscriber, #2796) [Link]

It seems to me that the main goal of Devuan is to make it possible to install a version of Debian without any systemd packages (not even libsystemd0, which doesn't really do anything much if the rest of systemd isn't installed, but that's neither here nor there).

Whether Devuan will do anything else, such as working towards support for use cases (like a separate read-only /usr via NFS) that the real Debian doesn't support in the first place remains to be seen. AFAIK there have been no official announcements either confirming or denying this.

What am I missing here?

Posted Dec 1, 2014 13:00 UTC (Mon) by cesarb (subscriber, #6266) [Link]

> What I actually want is a sane means of doing things like a separate read-only /usr without a large initial ram disk

Unfortunately, that's going to cause obscure, hard-to-debug problems. Too many things during boot try to use things from /usr, and fail silently when they aren't found. That's why the systemd developers added a warning when /usr isn't mounted by the initrd: systemd itself might work in that situation, but too many other things break. See http://freedesktop.org/wiki/Software/systemd/separate-usr... for a list of known broken things; the writer of that page admits there might be more.

> I would also like to be able to imagine /usr being on NFS (and presumably read only)

The systemd guys are working on that; see http://0pointer.net/blog/projects/stateless.html. Quoting from that page:

> Each system hence has its private /etc and /var for receiving local configuration, however the OS tree in /usr is pulled in via bind mounts (in case of containers) or technologies like NFS (in case of physical systems), or btrfs snapshots from a golden master image.

That page also details the work they've been doing towards that end.

What am I missing here?

Posted Dec 1, 2014 11:15 UTC (Mon) by hunger (subscriber, #36242) [Link]

I put systemd on my "embedded device" (same kind of hardware as yours, but tasked with more convenience services like storage and related services), precisely to decrease the attack surface.

I really love those nice security features built into systemd that enable me to make any service run with read-only /usr and /etc, without ever being able to get any new privileges (incl. by running suid/sgid binaries), etc. and use them widely for all the services running on that machine. Private tmp directories, capability bounding sets, private network setups, directories and device files that are inaccessible to services and more are possible with just one line of configuration each.

To me the features of systemd that allow me to reduce the risk of exploitation of network-facing services is more valuable than the slightly reduced attack surface of the init process that requires root access to the machine to get to. But that is obviously a decision each admin has to make on his own.

http://www.freedesktop.org/software/systemd/man/systemd.e... has the man page with all (I think:-) of the security-relevant options.

Challenge to LWN editors! (joke, for sarcasm challenged)

Posted Dec 1, 2014 1:03 UTC (Mon) by bojan (subscriber, #14302) [Link]

In the interest of having a 1,000+ comment article, could I please ask for a write-up that would include (at least) all of the below topics in one form or another:

- systemd
- Gnome 3 (my favourite flame fest!)
- vi v. Emacs
- RPM v. DEB
- Unity, Ubuntu & Mir
- IPv6 upgrade path from IPv4
- GPLv2 v. GPLv3 v. BSD v. ASL

;-)

We have more details

Posted Dec 1, 2014 1:53 UTC (Mon) by cesarb (subscriber, #6266) [Link] (3 responses)

I just found on Reddit a post which translated a post in Italian from one of the Devuan developers.

https://www.reddit.com/r/linux/comments/2nuhjb/one_of_the...

A few interesting parts:

> First of all, who are the "Veteran Unix Admins", or VUAs. VUAs are a group of individuals associated with a private forum, created around 3 years ago by a group of "old" sysadmins. These were all friends, mostly from the Milan area.
>
> The name comes from: http://www.infoworld.com/article/2623488/unix/nine-traits... We had an internal definition, by which a VUA is someone who identifies in at least 5 (or better, 6) of the listed points.

[...]

> The project is very serious, and it is not trolling. It is really nothing strange: to put it simply, we decided that the moment of whining against impositions is passed. Now is the moment to act, and we are doing it.
>
> I want to emphasize that Devuan is NOT Debian without - or worse, "against" - systemd. Systemd will be supported in Devuan. Devuan is a fork in favor of freedom of choice. Sysvinit will remain the default init system, but all init systems will be supported - at least, all those that are packaged in Debian at the moment.

[...]

> Another criticism we have received is that we have a poor online presence: guys, we are forking a huge distribution. This includes not only packages, but also infrastructure, decision-making organs, etc. The fork started a week ago, please give us enough time to organize! :D

We have more details

Posted Dec 1, 2014 12:02 UTC (Mon) by jezuch (subscriber, #52988) [Link] (2 responses)

> > I want to emphasize that Devuan is NOT Debian without - or worse, "against" - systemd. Systemd will be supported in Devuan. Devuan is a fork in favor of freedom of choice.

It is identical to Debian, then.

We have more details

Posted Dec 1, 2014 18:13 UTC (Mon) by sjj (guest, #2020) [Link] (1 responses)

Right, looks like an ego-stroking project then. The fact that their foundational document is a column by a guy whose writing is mostly about fanning flames, I shouldn't be surprised. That column reads like "justifications for being a dick" for people who failed to notice that the BOFH was a joke.

We have more details

Posted Dec 2, 2014 8:45 UTC (Tue) by jezuch (subscriber, #52988) [Link]

> That column reads like "justifications for being a dick" for people who failed to notice that the BOFH was a joke.

I was wondering about that, too. I read that column as one more in the genre of "how NOT to do things" and obviously tongue-in-cheek. If the project's foundational document is a joke the is the project itself a joke?

The "Devuan" Debian fork

Posted Dec 1, 2014 18:29 UTC (Mon) by tuna (guest, #44480) [Link] (12 responses)

This is not directly related to the article, but I thought I could ask it here anyway.

The systemd suite does not work on old releases of the kernel Linux and some people have claimed that this makes it more difficult to fix bugs in Linux because you can't run the new systemd when you are investigating older releases of Linux.

However wouldn't you want to run the same user space you ran on Linux BEFORE you think the bug was introduced? Otherwise, how can you rule out that other parts of you system is not the root of the bugs?

The "Devuan" Debian fork

Posted Dec 1, 2014 18:58 UTC (Mon) by mathstuf (subscriber, #69389) [Link] (4 responses)

Yeah, I'd want to bisect based on system state, not assume I know that the kernel is the problem (though viro might rightly have better intuition here). This is something a tool like OSTree would help with.

The "Devuan" Debian fork

Posted Dec 2, 2014 12:26 UTC (Tue) by nix (subscriber, #2304) [Link] (3 responses)

That's impractical. You don't *have* a copy of the complete system state from two or three years ago -- or if you do it is buried miles deep in backups and tiresome to get back. In practice, you do what is necessary to replicate the problem. Before now, that's been 'build an old kernel and reboot into it' -- as long as your glibc was built supporting that kernel (a dead cert for kernel developers who think they're likely to need to do this, and something you only need to get right once), everything more or less works. A few optimizations dependent on newer kernels might turn off as e.g. glibc notices that it has to emulate some *at() functions or something, but that's all.

But with a crucial component of booting is utterly dependent on a newer kernel, you are simply screwed. Large bisections are impossible without restoring your system from an old backup, and that's way over the threshold of 'too disruptive to bother with'. It turns a few-hour job into an all-week disruptive monster.

The "Devuan" Debian fork

Posted Dec 2, 2014 12:42 UTC (Tue) by anselm (subscriber, #2796) [Link] (2 responses)

You don't *have* a copy of the complete system state from two or three years ago -- or if you do it is buried miles deep in backups and tiresome to get back.

I'm not a kernel developer, but it occurs to me that, as a developer, unless you were working on a driver for a specific piece of hardware where this isn't possible, you would prefer in the interest of expediency to run your test kernels on a virtual machine, for which it should be reasonably easy to keep around whatever vintage of userland would be appropriate.

The "Devuan" Debian fork

Posted Dec 2, 2014 13:12 UTC (Tue) by cebewee (guest, #94775) [Link] (1 responses)

From my occasional reading of LKML I get the impression that it is not uncommon that certain issues only occur on certain hardware. In particular, kernel developers often ask people who encounter a particular issue to bisect this -- and these people are not kernel developers.

I also occasionally did a multi-year bisect myself (again, being far from being a kernel developer). So being able to easily "run" old kernels is definitely something very useful.

The "Devuan" Debian fork

Posted Dec 10, 2014 17:56 UTC (Wed) by nix (subscriber, #2304) [Link]

Exactly so. This is particularly true for performance regressions, which are both prone to be overlooked when they happen, and hard to verify except on bare metal.

The "Devuan" Debian fork

Posted Dec 1, 2014 19:44 UTC (Mon) by dlang (guest, #313) [Link] (6 responses)

you need to be able to change one variable at a time.

so you either need to run the new userspace on the old kernel or the old userspace on the new kernel. It's a lot easier to change the kernel than to change all of userspace. You can also bisect kernel changes to see what triggered it.

And if you are in kernel development (like Viro is), your interest is in what changed in the kernel that broke userspace, because they believe in compatibility.

The "Devuan" Debian fork

Posted Dec 1, 2014 20:14 UTC (Mon) by pizza (subscriber, #46) [Link]

> And if you are in kernel development (like Viro is), your interest is in what changed in the kernel that broke userspace, because they believe in compatibility.

Yes, they believe in *backward* compatibility, which is not the same thing at all as *forward* compatibility. By definition, new versions of Linux introduce new features, and consequently stuff that uses those new features won't work with a kernel without those features.

IOW, This is a generic problem, not systemd-related at all, and is *par for the course* with kernel development. Someone as seasoned as Viro should have long accepted this as part of the job.

(And having a kernel developer argue that userspace code should support arbitrarily old kernel revisions is funny, when they take the opposite stance when it comes to out-of-tree kernel modules. Come to think of it, it's actually a pretty consistent attitude -- handling different kernel versions is Someone Else's Problem)

The "Devuan" Debian fork

Posted Dec 1, 2014 20:19 UTC (Mon) by raven667 (subscriber, #5198) [Link] (4 responses)

But backwards compatibility from the kernel perspective is all about running old userspace on newer kernels successfully, compatibility has never been faithful in the other direction, programs may depend on new kernel services which don't exist on old kernels and low-level plumbing layers are more heavily exposed to these compatibility issues. For example I can't define netfilter ipsets on older kernels where that feature doesn't exist, any tools which depend on that feature won't work. So I think that it is a true statement that there are regressions that exist when running a new userspace built against a new kernel api on an old kernel but that it might also be true that these regressions don't generally affect the workflow the tools needed to bisect a kernel bug

At some point the best way to handle this is to pick the userspace plumbing api version which is matched to the kernel api version, so for kernel debugging you may want to have multiple versions of the low level userspace plumbing installed at the same time on the same machine and from a distribution perspective the distributor needs to build the infrastructure to allow that to happen. The idea of having multiple /usr filesystems and picking the right one for the api you are booting may make more sense here, or a convention for having different versions of /sbin/systemd-$APIVERSION installed or something to make this easy.

The "Devuan" Debian fork

Posted Dec 1, 2014 21:08 UTC (Mon) by dlang (guest, #313) [Link] (3 responses)

the kernel does have to deal with this sort of thing when dealing with hardware. Just because Intel released a new chip with a neat feature doesn't mean that they don't have to keep supporting old chips that lack that feature.

As a result, the kernel gets written to take advantage of the new feature, but have a fallback if that feature doesn't exist (that fallback may be to emulate the feature, or just report an error if someone tries to use that feature, but it isn't to refuse to boot without that feature)

The problem is that too many userspace developers only look at the latest. The comments about systemd supporting kernels for the last two years and consider themselves enlightened to be so good about supporting older kernels is a good example of this. While the systemd folks are congratulating themselves for being so good, other people are looking at this and saying that this is way too short a timeframe, that two years is barely enough to get a kernel from kernel.org into the hands of users in many environments.

Userspace developers who have to deal with large installed bases of third party stuff tend to be much better about this. So Samba, *syslog, browsers, webservers, e-mail software, etc all tend to look for the latest to take advantage of it, but have fallbacks to keep working in the absence of these features.

It's mainly in the Desktop Environment space that the developers seem so willing to expect that everyone will upgrade everything at once and nobody has any business running anything older.

The "Devuan" Debian fork

Posted Dec 1, 2014 22:17 UTC (Mon) by raven667 (subscriber, #5198) [Link] (2 responses)

We aren't really talking about issues which are different in kind, like the kernel supporting hardware, we were talking about the userspace plumbing that is kind of part of the kernel family, like udev or iptables or iproute2 or conntrack (I work with networking so I have more network examples) which may have a limited range of kernels a particular build of the tool supports because of supporting new APIs as they are added to the kernel.

I think that to really have a good discussion about this topic one would need to always refer to the actual list of kernel APIs which are causing the support break what specifically doesn't work across those kernel API versions and why, we are beyond the point where we can only discuss generalities as this is working code which has been deployed for years.

v217 2014-08 * Userspace firmware loading support has been removed and
the minimum supported kernel version is thus bumped to 3.7.

http://cgit.freedesktop.org/systemd/systemd/tree/README

The previous changes were updating to support writing to cgroup.procs which bumped the requirement to Linux 3.0 in v206 2013-07 and the bump to 2.6.39 from 2.6.30 from early in the development in 2011-08

The "Devuan" Debian fork

Posted Dec 1, 2014 22:23 UTC (Mon) by dlang (guest, #313) [Link] (1 responses)

this is more than just the minimum kernel version, it's also things like cgroups (which are useful if you need that capability, but wasted overhead if you don't). But it's mostly about the attitude of the developers who think that testing with a two year old kernel means that they are maintaining great backwards compatibility and aren't willing to try to do better (and from other responses, would not be willing to accept patches that did better because of the 'ongoing maintenance burden' that such patches would cause)

The "Devuan" Debian fork

Posted Dec 2, 2014 1:06 UTC (Tue) by Cyberax (✭ supporter ✭, #52523) [Link]

Systemd only needs cgroups themselves. If you don't enable any cgroups controllers (and it's a supported feature in systemd) then the overhead is negligible - just a couple of in-kernel callbacks on process completion and startup.

The "Devuan" Debian fork

Posted Dec 2, 2014 6:24 UTC (Tue) by mrons (subscriber, #1751) [Link] (1 responses)

I know these Hitler videos are getting a bit tired, but I couldn't resist:

http://youtu.be/VSbNumR9Z8k

The "Devuan" Debian fork

Posted Dec 4, 2014 8:31 UTC (Thu) by blujay (guest, #39961) [Link]

Haha, that's great. Thanks for sharing. No matter which side you're on, you can appreciate this.:D

systemd over engineering

Posted Dec 2, 2014 12:20 UTC (Tue) by mpalamara (guest, #69530) [Link] (11 responses)

systemd suffers from a severe case of over engineering. It's solves problems that do not exist and does it in an inelegant way. If systemd was worth using you would see a general consensus. There is no consensus.

systemd is here from the moment. I'm probably not going to use most of it's features. It's time to go back to the drawing board. SysV is old but it works well enough for what I have to do. A better init would be great but systemd is service manager plus a whole lot of baggage. I don't care about most of what systemd is selling. I don't understand why systemd aims to replace services that work fine. It's just a waste of code that could be better spent solving real problems.

Code speaks louder than word. Forks can seal the breach for the moment but a new init is needed.

systemd over engineering

Posted Dec 2, 2014 13:25 UTC (Tue) by pizza (subscriber, #46) [Link]

> systemd suffers from a severe case of over engineering. It's solves problems that do not exist and does it in an inelegant way. If systemd was worth using you would see a general consensus. There is no consensus.

AKA "I don't care about the problems claims to solve so the problems must not exist for anyone"

(And by calling systemd 'inelegant', if you're being intellectually honest, you must consider the old hodgepodge of what it replaces "lord please gouge out my eyes with a rusty spork" because, let's face it, it's about as far from elegant as it can possibly get)

Incidentally, I think the fact that the a clear majority of Linux distributions have willingly (and indeed, happily, for it solves their very real problems far better than what came before) switched over to systemd is a pretty loud consensus.

> Code speaks louder than word. Forks can seal the breach for the moment but a new init is needed.

You're absolutely correct -- Code speaks louder than words, numerous forks of sysvinit and incompatible rc scripts were badly "sealing" the breaches between Linux distributions, and a new, unifying init was definitely needed. Guess what -- some folks spoke with their effort and code, and the result, and current state-of-the-art, is systemd. If you think you can do better, by all means, show us the code. Or heck, even the design. You have to start somewhere.

systemd over engineering

Posted Dec 2, 2014 13:33 UTC (Tue) by mpr22 (subscriber, #60784) [Link] (9 responses)

It's solves problems that do not exist

If you had limited this statement to "it solves problems I don't have", then it would be beyond civilized dispute. However, you have chosen to declare those problems non-existent, and thus set yourself up to be argued with by those who think those problems do exist.

If systemd was worth using you would see a general consensus.

That sentence was nonsense when it referred to emacs or vi in it; I submit that it's just as nonsensical when referring to sysvinit or BSD init or SMF or upstart or launchd or systemd in it.

systemd over engineering

Posted Dec 2, 2014 15:25 UTC (Tue) by mpalamara (guest, #69530) [Link] (8 responses)

True, it doesn't solve my problems therefore I don't want to be bothered. systemd is an imposition. This is a rational response.

You're are not listening to the admins and users. Most of us don't want systemd. The take on systemd varies from annoyance to full rejection. Accepting this is the first step forward.

systemd over engineering

Posted Dec 2, 2014 15:30 UTC (Tue) by rahulsundaram (subscriber, #21946) [Link]

>You're are not listening to the admins and users. Most of us don't want systemd.

Please speak only for yourself. None of us have any real idea what most users or admins want. We just know that major distributions are shipping it by default.

systemd over engineering

Posted Dec 2, 2014 15:45 UTC (Tue) by anselm (subscriber, #2796) [Link] (1 responses)

I teach classes on Linux administration that among other things feature systemd. The people in these classes include all sorts of folks from newbies to people with years of Unix/Linux administration experience (usually not in the same class, thankfully). I have yet to meet anyone who after some demonstrations, explanations, and hands-on experience in the class was not wildly enthusiastic about systemd – especially the ones with previous experience of the traditional Linux init setup, and especially when people get to compare the traditional setup and systemd directly.

I don't know where all “the admins and users” are who detest systemd (other than certain web forums and mailing lists, that is) but I for sure haven't run into one in my professional life. I wonder how much of the “annoyance to full rejection” on the part of “the admins and users” is actually real, and how much is just wishful thinking based on the anti-systemd echo chambers that some people seem to frequent.

systemd over engineering

Posted Dec 2, 2014 18:56 UTC (Tue) by jb.1234abcd (guest, #95827) [Link]

"I don't know where all “the admins and users” are who detest systemd (other than certain web forums and mailing lists, that is) but I for sure haven't run into one in my professional life. I wonder how much of the “annoyance to full rejection” on the part of “the admins and users” is actually real, and how much is just wishful thinking based on the anti-systemd echo chambers that some people seem to frequent."

Yes, the negative reaction to systemd is real.
It comes from many places where IT matters are discussed and experienced
former or current sysadmins.

An example from the echo chamber of the systemd beast:
https://lists.fedoraproject.org/pipermail/users/2014-Dece...

And as time passes on and more "goodies" of and by systemd become apparent,
the true picture emerges. And it is not pretty.
jb

systemd over engineering

Posted Dec 3, 2014 0:13 UTC (Wed) by zlynx (guest, #2285) [Link]

I am a former pro sysadmin, a current amateur sysadmin, and a current developer. I've written my own init scripts and suffered.

I had to learn a few new things but I like systemd rather a lot. I know others who also like it. We are VERY HAPPY with it and therefore we don't bother complaining about distros using it.

systemd over engineering

Posted Dec 3, 2014 7:54 UTC (Wed) by niner (subscriber, #26151) [Link] (3 responses)

I'm responsible for system administration and web development at my company. Our system administrators love systemd for its reliability and because it's so easy to write _correct_ service files. Our developers love systemd because we could get rid of complicated daemonization code and because we don't have to do anything anymore to get great logging features.

systemd over engineering

Posted Dec 3, 2014 8:28 UTC (Wed) by dlang (guest, #313) [Link] (2 responses)

so who exactly is saying that you shouldn't be able to use systemd if you love it?

systemd over engineering

Posted Dec 3, 2014 8:49 UTC (Wed) by niner (subscriber, #26151) [Link]

I was just replying to "You're are not listening to the admins and users. Most of us don't want systemd." by mpalamara who is pretending to speak for "most admins and users" which I quite frankly doubt.

systemd over engineering

Posted Dec 3, 2014 10:14 UTC (Wed) by drago01 (subscriber, #50715) [Link]

No one is saying that. The thing is the technology that works better should be used by default. And that is (by ignoring emotional and irrational nonsense and sticking to technical arguments and facts) systemd not sysvinit.

The "Devuan" Debian fork

Posted Dec 3, 2014 22:27 UTC (Wed) by edomaur (subscriber, #14520) [Link]

I am a bit annoyed by this development. However, I will stick to Debian in my work, systemd does the job and I still think it's an interesting evolution of the admin tooling framework.

Devuan as Lefthanded Debian, a different view of the future.

Posted Dec 13, 2014 22:22 UTC (Sat) by BoSox (guest, #100218) [Link] (1 responses)

I think the "Devuan" fork has been misread. Certain dissatisfied sysadmins and developers are creating a traditional init Debian fork. Keeping the older strain of Debian alive is a good thing. Debian itself has chosen a system-d based path, like many other distros. Someone keeping the older gene pool alive is very good. It is not however a mainstream thing.

A .deb based distro which is easier to customize or shrink will be very useful. This left handed Debian will be where alternatives to systemd can be developed. It is where non-mainstream options to the suite of tools in the systemd universe can be grown. It is a new reference implementation of debian. It is unfortunate that so much friction has come from what may be a welcome offshoot of Debian.

Devuan's porters and supporters will be doing a lot of work. They are creating another option for those who choose it in the future. People who support their vision of things will package or repackage things their way. Nothing they do will reduce our options. They may provide a fallback position for the rest of us. Linux itself provides a fallback position from many ex XP users. Options are what linux is about.

Devuan as Lefthanded Debian, a different view of the future.

Posted Dec 14, 2014 10:31 UTC (Sun) by anselm (subscriber, #2796) [Link]

Two points:

  • We will have to wait and see whether the Devuan project will ever release anything that involves actual work (a rebranded Debian jessie probably doesn't yet count).
  • There is nothing that would prevent anyone from developing a systemd alternative — or for that matter non-mainstream alternatives to individual systemd components — based on stock Debian.


Copyright © 2014, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds