LWN.net Logo

Poettering: systemd for Administrators, Part IX

The ninth installment in the "systemd for administrators" series is actually a lengthy discussion on why Lennart thinks that distributions should get rid of the /etc/sysconfig or /etc/default directories. "They are inherently distribution-specific. With systemd we hope to encourage standardization between distributions. Part of this is that we want that unit files are supplied with upstream, and not just added by the packager -- how it has usually been done in the SysV world. Since the location of the directory and the available variables in the files is very different on each distribution, supporting /etc/sysconfig files in upstream unit files is not feasible. Configuration stored in these files works against de-balkanization of the Linux platform."
(Log in to post comments)

Poettering: systemd for Administrators, Part IX

Posted Jul 19, 2011 7:40 UTC (Tue) by zuki (subscriber, #41808) [Link]

A day passing by without anyone posting a rude comment underneath Lennart Poetterings' article is unheard-of and uncanny.

Poettering: systemd for Administrators, Part IX

Posted Jul 19, 2011 17:47 UTC (Tue) by cjcox (guest, #60378) [Link]

How to write like Lennart....

The problem with [fill in the blank] is that [invalid assumption of why things were done] led to [invalid conclusion] which is why we need [something Lennart created]. Everyone needs to switch to [something Lennart created] because [fill in the blank] is flawed because [invalid reasoning].

How to write like Lennart on a mailist...

There is no good reason for [something you were doing to make things work] because you are not thinking correctly. If you need [something you were doing to make things work], find another place for it or with some effort you can use [something Lennart created] with some [custom procedure or glueware that was not all that different from your original solution] to make things work correctly.

Poettering: systemd for Administrators, Part IX

Posted Jul 19, 2011 19:58 UTC (Tue) by anselm (subscriber, #2796) [Link]

At least Lennart is actually addressing various difficult and/or half-solved issues, which is more than we can say about those people who are dissing his work simply because it is new and different. If Lennart's stuff generally sucked, nobody would pay any attention to it and it would go away.

»We need to go on using this because it is what our grandparents were using in their time« is not a very powerful argument.

Poettering: systemd for Administrators, Part IX

Posted Jul 19, 2011 22:20 UTC (Tue) by SEJeff (subscriber, #51588) [Link]

I applaud his effort, but think he is solving it at the wrong level. He should revive the Austin Group and get a new FHS release. With his level of enthusiasm, and the fact redhat pays for him to do these sorts of things to improve Linux as an ecosystem, it should be doable.

Poettering: systemd for Administrators, Part IX

Posted Jul 20, 2011 19:27 UTC (Wed) by Cyberax (✭ supporter ✭, #52523) [Link]

That's not the way it works. It's WAY better first to create something really working and only then standardize it.

There are too many utterly broken "design-first" standards out there. POSIX being one of the main offenders. C++ being another one.

Poettering: systemd for Administrators, Part IX

Posted Jul 20, 2011 19:35 UTC (Wed) by SEJeff (subscriber, #51588) [Link]

Perhaps or perhaps not. As a 'nix admin / systems engineer, FHS is one of the best things that Linux has going for it. Other than very minimal stuff like /etc/default vs /etc/sysconfig, the FHS keeps things on Linux very consistent.

It would be sad to see things move away from this even if the idea is great.

/usr/ucb or /etc/ping anyone?

Poettering: systemd for Administrators, Part IX

Posted Jul 20, 2011 19:40 UTC (Wed) by Cyberax (✭ supporter ✭, #52523) [Link]

FHS was mostly an ex-post-facto standard. That's why it works :)

Other attempts such as LSB are much less successful.

Poettering: systemd for Administrators, Part IX

Posted Jul 20, 2011 19:46 UTC (Wed) by SEJeff (subscriber, #51588) [Link]

Fair enough, you and I agree.

Poettering: systemd for Administrators, Part IX

Posted Jul 29, 2011 3:57 UTC (Fri) by Wol (guest, #4433) [Link]

LSB is an ex-post-facto standard too.

Problem is, there's much less post-facto to ex-standard on.

Cheers,
Wol

Poettering: systemd for Administrators, Part IX

Posted Jul 20, 2011 22:30 UTC (Wed) by elanthis (guest, #6227) [Link]

C++ work only lands in the spec after it shows up in an implementation or three and people can get a grasp of how well it works. Nothing in the C++0x draft for instance is lacking in implementation experience, and the thing that nobody could build were dropped from the spec specifically because nobody could actually test it. Before the standard committee existed, C++ (CFront and even C With Classes) was a specific working implementation, not a paper standard without working code. Your comparison to design-first efforts is hence incorrect. :)

Poettering: systemd for Administrators, Part IX

Posted Jul 21, 2011 13:31 UTC (Thu) by Cyberax (✭ supporter ✭, #52523) [Link]

Nope. C++98 was a "design-first" standard, that's why it's not implemented completely by almost everybody (see: "export templates"). C++0x is a little better in that regard.

Actually C++98 is great counterexample...

Posted Jul 21, 2011 21:52 UTC (Thu) by khim (subscriber, #9252) [Link]

Sure, some things in C++98 were only implemented by a few compilers, but it's kind of surprising how many things which were only theoretical when standard was written were actually implemented (and were found to be useful) in compilers.

IMNSHO C++98 is rare example of usable and working "design-first" standard.

P.S. The only big difference between C++98 and C++0x is the fact that GCC community was mostly ignored when C++98 was designed where in C++0x it's one of the most important participants. Other then that they are quite similar: all ideas are more-or-less tested but the cohesive whole does not exist at the time of standard ratification.

Actually C++98 is great counterexample...

Posted Jul 22, 2011 8:22 UTC (Fri) by Cyberax (✭ supporter ✭, #52523) [Link]

Oh, come on.

Most of compilers coped with C++98 standard by dying. There are only 5 compilers that implement it: gcc, EDG-based compilers, MSVC, clang (still incomplete) and little-known Russian C++ compiler. And even they implemented it YEARS after the standard had been published.

C++ Standard library is choke-full of design bugs (like how swap() between containers with different allocators can possibly work in O(1) time) and is incomplete (that's why instead of std::string various bike-shedded replacements were used).

Other parts are just stupid, like the "typename" keyword or 2-phase name lookup.

Actually C++98 is great counterexample...

Posted Jul 22, 2011 15:11 UTC (Fri) by khim (subscriber, #9252) [Link]

Most of compilers coped with C++98 standard by dying.

Huh? What this has to do with anything? Most compilers were already dying when C++98 was published. When GCC surpassed a lot of commercial offers they become redundant.

There are only 5 compilers that implement it: gcc, EDG-based compilers, MSVC, clang (still incomplete) and little-known Russian C++ compiler.

Only five? Is this a joke? The whopping five! Five is huge number. How many independent WebSQL implementations are there? How many TCP/IP stacks? Five is decent number in comparison. But the fact that surviving compilers actually implemented C++98 (and as you've noted there are at least five independent implementations) is nothing short of amazing.

Other parts are just stupid, like the "typename" keyword or 2-phase name lookup.

They are useful. That's why they are implemented by most compilers out there. Really stupid things (like "export templates") are just omitted - but there are very few such things in C++98.

C++98 is pretty decent standard - much better then a lot of other standards (both "design-first" and "implement-first" ones). And ditto for POSIX. You may hate them for some reason, but please be objective.

Very few standards are so clear and have such wide support. How many independent implementations of ECMA-234 or ECMA-376 you know? How compatible they are and how useful? Sorry, but as broken as C++98 is (and nothing is perfect so I doubt you can name even one substantial standard without few insane forgotten things in it) these are much worse - and they were created as you recommended: create something really working and only then standardize it.

Poettering: systemd for Administrators, Part IX

Posted Aug 4, 2011 11:30 UTC (Thu) by jwakely (subscriber, #60262) [Link]

> C++ work only lands in the spec after it shows up in an implementation or three and people can get a grasp of how well it works.

Not so.

> Nothing in the C++0x draft for instance is lacking in implementation experience, and the thing that nobody could build were dropped from the spec specifically because nobody could actually test it.

http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.ht...
That feature was in the spec long before it was implemented.

http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.ht...
http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.ht...
http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.ht...

One obscure compiler is known to have implemented some of these features, but it wasn't available for testing firsthand, test code was sent to someone with access to it who reported the results.

Even now I don't think there are more than two implementations of any of those features. Template aliases are another feature with very little implementation experience.

As for the library, I've done a partial implementation of the new allocator model and added support to a single container, but there was no full implementation available when the allocator changes were added to the spec. Noone had implemented 'noexcept' throughout the standard library when those changes were made to the spec.

Poettering: systemd for Administrators, Part IX

Posted Aug 5, 2011 3:03 UTC (Fri) by elanthis (guest, #6227) [Link]

Good examples I was not aware of. Thank you.

Poettering: systemd for Administrators, Part IX

Posted Jul 21, 2011 13:27 UTC (Thu) by HelloWorld (guest, #56129) [Link]

> There are too many utterly broken "design-first" standards out there.
There are also too many utterly broken "implement-first" standards out there. C being one of the main offenders and actually a worse problem than C++.

Poettering: systemd for Administrators, Part IX

Posted Jul 19, 2011 23:58 UTC (Tue) by dlang (✭ supporter ✭, #313) [Link]

>> We need to go on using this because it is what our grandparents were using in their time« is not a very powerful argument.

yes and no.

it's not a reason that something better can't be created.

but it does mean that the 'something better' really needs to cover all the cases that the old method did. 'our grandparents' weren't doing it that way because they thought it was wrong, they were doing it that way because it solved real problems (and in most cases, because there were real advantages of doing it that way)

just because something has been around a long time isn't justification for throwing it away either.

Poettering: systemd for Administrators, Part IX

Posted Jul 20, 2011 7:11 UTC (Wed) by anselm (subscriber, #2796) [Link]

So far it seems that Lennart Poettering is out to cover all the bases. Systemd is still young software, but it offers a superset of SysV init's features already (by virtue of the fact that it can use existing init scripts), so it appears to be on the right track.

Most of the criticism of systemd boils down to »It isn't what we're used to!«. If people have technical disagreements with Lennart, let them find technical arguments and hash them out. Lennart may be many things but he's apparently not stupid – and neither are the people in charge of the various distributions who have expressed interest in adopting systemd. In the end we can only profit from his (and their) work if it leads to increased standardisation and more solved problems.

Poettering: systemd for Administrators, Part IX

Posted Jul 20, 2011 10:48 UTC (Wed) by nye (guest, #51576) [Link]

>Most of the criticism of systemd boils down to »It isn't what we're used to!«

This casual dismissal of valid concerns with "you're just a has-been old greybeard" is a major problem with Lennart's projects.

>If people have technical disagreements with Lennart, let them find technical arguments and hash them out.

This has been done to death a thousand times, but so far as Lennart is concerned any disagreement with him is a priori cause to consider somebody's points invalid.

Poettering: systemd for Administrators, Part IX

Posted Jul 20, 2011 12:13 UTC (Wed) by zuki (subscriber, #41808) [Link]

Almost quite right, but not exactly... You are replying to a four page essay on why /etc/default/ and /etc/sysconfig have outlived their usefulness. In there the current situation is described accurately, proposed changes are explained in detail, the advantages are made clear, there's even an implementation so we know that things indeed can work the new way. So, what is the technical issue with the proposed changes?

Poettering: systemd for Administrators, Part IX

Posted Jul 20, 2011 12:39 UTC (Wed) by nye (guest, #51576) [Link]

>You are replying to a four page essay on why /etc/default/ and /etc/sysconfig have outlived their usefulness

No, I'm replying to 'the criticism of systemd', as I quoted.

>So, what is the technical issue with the proposed changes?

For a recent example of constructive discussion with meaningful technical content, see the ongoing thread on debian-devel titled 'A few observations about systemd'.

Poettering: systemd for Administrators, Part IX

Posted Jul 20, 2011 12:46 UTC (Wed) by nye (guest, #51576) [Link]

>For a recent example of constructive discussion with meaningful technical content

Okay, that thread does seem to have degenerated since I last checked on it :(.

Poettering: systemd for Administrators, Part IX

Posted Jul 20, 2011 20:55 UTC (Wed) by tuna (guest, #44480) [Link]

Could you provide a link?

Poettering: systemd for Administrators, Part IX

Posted Jul 20, 2011 21:40 UTC (Wed) by zuki (subscriber, #41808) [Link]

I too think that the thread is fairly interesting, at least the first 100 messages...

http://thread.gmane.org/gmane.linux.debian.devel.general/...

Poettering: systemd for Administrators, Part IX

Posted Jul 31, 2011 1:08 UTC (Sun) by sbergman27 (guest, #10767) [Link]

"If people have technical disagreements with Lennart, let them find technical arguments and hash them out."

You mean like systemd's inherent deadlocking problem?

Poettering: systemd for Administrators, Part IX

Posted Jul 22, 2011 0:49 UTC (Fri) by gerdesj (subscriber, #5446) [Link]

"[invalid assumption of why things were done]" - Citation needed!

LP really has designed a better mousetrap which will replace a core component of our system which has seriously overrun its sell by date.

He may have an approach to evangelizing his solution that grates with you but why is that a problem?

I personally find some of his posts a bit different but then English is his {n:n[element](2...)}th language.

Overall I think that he has provided high quality "titillation" documentation and articles in the popular press. Just because you don't like the tone, you can't fault the solution.

Upstart pointed the way but systemd has clearly been designed from first principles with a clear(ish) mind.

I look forward to seeing it running on a Gentoo near me. Ah, it does.

Oh, sorry, nearly forgot to ask - do you have anything better to offer?

Poettering: systemd for Administrators, Part IX

Posted Jul 22, 2011 9:48 UTC (Fri) by elanthis (guest, #6227) [Link]

Random useless comment:

I like systemd. I like pulseaudio. I liked avahi. Overall, I think Lennart is one of the best things to happen to the Linux desktop.

If only the Linux ecosystem had more people like him, and also people who were almost like him except with s/technical excellence/UI design excellence/g. :)

Poettering: systemd for Administrators, Part IX

Posted Jul 25, 2011 11:05 UTC (Mon) by nye (guest, #51576) [Link]

>I like systemd. I like pulseaudio. I liked avahi.

I realise this is offtopic but since you use avahi I wonder if you could give me some idea of what it's actually for. It's one of those random daemons that get installed automatically on new Linux installs but doesn't seem to do anything, and reading the wikipedia page leaves me none the wiser.

I gather it's only of relevance if you have a network which doesn't have a router doing DHCP and DNS, but you still want local name resolution; it that correct? Certainly I've always removed it with no problems - discovery of other machines and file shares still works fine.

With PulseAudio I've worked out that it's useful if one or more of the following cases applies:
* You want to hotplug audio devices frequently and have the appropriate one chosen automatically
* You want per-application volume controls for applications that don't have their own volume setting
* You want to be able to transfer a running audio stream between devices.
None of these apply to me which is why it seemed useless to me for ages and I couldn't figure out why anyone might want it.

Is there a similar list of cases in which one might want to use avahi?

Poettering: systemd for Administrators, Part IX

Posted Jul 26, 2011 5:40 UTC (Tue) by elanthis (guest, #6227) [Link]

> I gather it's only of relevance if you have a network which doesn't have a router doing DHCP and DNS, but you still want local name resolution; it that correct?

It does two things. For people without DHCP, it lets you allocate a unique IP address amongst your local peers.

Second, it lets you discover both hostnames and services on the local network. For instance, "find a printer on the local network" becomes very easy.

Some printers, multimedia, and chat services use it for local networks. Even if DHCP and DNS are enabled.

If you aren't using any of those services and never have a need of building an ad-hoc network, you probably don't need it running.

Poettering: systemd for Administrators, Part IX

Posted Jul 26, 2011 10:28 UTC (Tue) by nye (guest, #51576) [Link]

>If you aren't using any of those services and never have a need of building an ad-hoc network, you probably don't need it running.

Great, thanks!

Poettering: systemd for Administrators, Part IX

Posted Jul 28, 2011 7:07 UTC (Thu) by lkundrak (subscriber, #43452) [Link]

This is the word. That person has made my life noticeably easier now.

Once systemd gets into RHEL, I won't have to spend late nights working around random flaws and race conditions in horribly broken daemon startup scripts (anyone noticed that in a few mainstream languages you can't even get your pid to write into a file, change effective uid and daemonize?) and I may finally get a life.

Poettering: systemd for Administrators, Part IX

Posted Jul 21, 2011 13:04 UTC (Thu) by jschrod (subscriber, #1646) [Link]

He seems to see /etc/sysconfig/* only in light of systemd; which ain't true. Not only start/stop is configured there; but often you also have service configuration that goes well beyond init.d/systemd tasks. openSUSE's YaST revolves around the ability to have such simple configuration files; and not needing to be able to parse and change any and all daemon configuration files, like named.conf or httpd.conf.

This has been ignored in that blog post, AFAICS.

Poettering: systemd for Administrators, Part IX

Posted Jul 21, 2011 17:25 UTC (Thu) by vonbrand (subscriber, #4458) [Link]

If the blog post overlooked something, you should make a note there... here your comment will probably just get lost.

Copyright © 2011, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds