Poettering: The Biggest Myths
Posted Jan 27, 2013 5:48 UTC (Sun) by rgmoore (✭ supporter ✭, #75)
I want an init system and that's it, init...
I guess I understand the motivation, but it doesn't seem that it's necessarily a definitive answer. Yes, I understand the desire to keep traditionally separate components separate, but I also think that it's important to challenge assumptions about the way things ought to be from time to time. Replacing individual components can improve those individual components, but it can't fix design flaws about how the jobs were divided between components. That can only be fixed by changing the underlying architecture to divide the task differently. Bigger changes give the potential for bigger rewards.
I won't claim to be a guru, but the explanations Mr. Poettering has given for his architectural changes seem reasonable to me. The changes he is making seem to be adding valuable functionality that is not available when components are kept separate. Given that he has plausible arguments for why he's breaking down traditional boundaries, I'd like to see counter-arguments that focus on the technical points he's making, e.g. how the new functionality he's adding could be produced with traditional modular tools and/or why it's insufficiently important to justify the changes he's making. Instead, I see a lot of criticism of his judgment and motivation but very little that directly challenges his technical decisions.
Posted Jan 27, 2013 6:15 UTC (Sun) by prometheanfire (subscriber, #65683)
Posted Jan 27, 2013 6:47 UTC (Sun) by raven667 (subscriber, #5198)
Posted Jan 27, 2013 6:57 UTC (Sun) by prometheanfire (subscriber, #65683)
Posted Jan 27, 2013 7:08 UTC (Sun) by raven667 (subscriber, #5198)
Posted Jan 27, 2013 7:11 UTC (Sun) by prometheanfire (subscriber, #65683)
Posted Jan 27, 2013 12:35 UTC (Sun) by smurf (subscriber, #17840)
Why should systemd eschew a whole lot of features of Linux which are simply not available elsewhere? More so if he cannot do half the ob he set out to do without them?
If you think he's wrong, and if you think something like systemd would be way cool to have on *BSD, write it yourself. I doubt that it'd be possible without kernel changes; systemd wasn't either.
NB: eudev is a rather bad example. I still fail to see which problem the eudev fork is supposed to solve.
Posted Jan 27, 2013 23:17 UTC (Sun) by ewan (subscriber, #5533)
Posted Jan 28, 2013 5:21 UTC (Mon) by rsidd (subscriber, #2582)
Actually, launchd is under the Apache licence -- why didn't Red Hat just take it? (There are claims that Ubuntu considered launchd in 2006 and rejected it because of its licence -- APSL at that time. Apple subsequently relicensed it.)
Interestingly, one complaint about launchd I see from a Unix-loving mac user sounds exactly like some of the systemd complaints here:
Reasonable people can argue the technical merits of launchd, and I think a case can be made for improving the original init system. However, I have a deeper philosophical problem with all the functionality that has been rolled into it: One of the core principles of Unix programing is do one thing and do it well. Another is keep things as simple as possible. From that perspective, launchd tries to do too many things, creating needless risk and complexity.
Apple sees launchd as a natural improvement to traditional Unix; I view it as an anti-Unix monolith.
Posted Jan 28, 2013 5:40 UTC (Mon) by raven667 (subscriber, #5198)
Posted Jan 28, 2013 19:34 UTC (Mon) by k8to (subscriber, #15413)
Posted Jan 27, 2013 10:39 UTC (Sun) by ovitters (subscriber, #27950)
Practical thing I'd like to do on a server is ensure via Puppet that the timezone is in UTC (not just the current timezone, also the one for all services, some of which have been started already). Now if you have servers running RHEL, Ubuntu, Debian, Cent OS and Fedora, you'll discover that the only easy way to do this is to rely on Google+hope someone had the same problem.
systemd more and more makes unneeded differences between distributions go away.
Posted Jan 27, 2013 10:48 UTC (Sun) by prometheanfire (subscriber, #65683)
Posted Jan 27, 2013 13:00 UTC (Sun) by ovitters (subscriber, #27950)
Posted Jan 27, 2013 16:40 UTC (Sun) by smurf (subscriber, #17840)
Anyway, nothing prevents them from implementing what's missing on their side.
In related news, *bsd came up with strlcpy(). Do we go to them and complain that it's non-standard? No, we go to our libc maintainer and complain that he doesn't want to include that in the standard library.
I see a fundamental asymmetry here. Which might just be part of the reason there are >=3 BSDs out there, but just one single Linux. :-P
Posted Jan 28, 2013 1:05 UTC (Mon) by mezcalero (subscriber, #45103)
The thing is simply that strlcpy() leads people to use fixed size arrays to store possibly much longer data in it, so they want the truncation. But if you do this, then you tend to hide a problem with it, and instead you should have the checked the length of the argument in the first place and returned an error (after all the general rule is to always check your input!). Implicit truncation without error condition is almost never a good idea. And if you didn't check explicitly for the overly long string, then you should handle that string in its entirety properly, which generally means dynamically allocated memory of the correct size, which still not requires strlcpy().
I do see a valid usecase for some ways to call strncpy() (to fill in fixed size strings in structs where you usually want to zero out the rest of the string), and there's a very useful usecase for strdup() -- but strlcpy(), not so sure.
But, then again, given how trivial the call is, and how many people want it, if I was glibc hacker I'd still merge it... This shouldn't be fought with the fervour that people fight it with.
Posted Jan 28, 2013 10:50 UTC (Mon) by smurf (subscriber, #17840)
Anyway, strlcpy was intended to be an example of the different styles of handling NIH situations in Linux vs. *BSD land. I didn't exactly intend to trigger yet another strlcpy sub-discussion. ;-)
Posted Jan 28, 2013 15:59 UTC (Mon) by epa (subscriber, #39769)
Posted Jan 28, 2013 19:42 UTC (Mon) by k8to (subscriber, #15413)
Sometimes I work on code that is assembling various things into buffers in order to generate a representation out-of-program, like on disk or on the wire. These things often work with fixed sized buffers into which they are assembling data, because the data representation has a fixed size.
In this case, changing codepaths to use strlcopy gives SIGNIFICANT improvements in safety. strncpy is not acceptable in these cases because it will incur large performance penalties with the null padding. Yes, we try to have sane and well placed logic to enforce the sizing, but putting the logic in each callsite is just begging for overruns which can be unacceptable in some use cases, so strlcpy gives us some safeguard, despite being careful in the logic.
Posted Jan 27, 2013 13:43 UTC (Sun) by man_ls (guest, #15091)
Now if you have servers running RHEL, Ubuntu, Debian, Cent OS and Fedora [...] systemd more and more makes unneeded differences between distributions go away.
Posted Jan 27, 2013 13:58 UTC (Sun) by pizza (subscriber, #46)
Those "tweaks" are where nearly all of your pain comes from. Hell, even in the same distro, one release to the next can require different tweaks. And of course they all have to be simultaneously supported.
Myths not debunked but confirmed
Posted Jan 27, 2013 15:22 UTC (Sun) by man_ls (guest, #15091)
I have recently used Upstart and I have to say that it is very nice; I cannot see why Poettering et al couldn't work with Ubuntu despite what the article says. Dependency management? Surely that could have been solved differently and deprecated with time. Contributor agreement is a problem for six full time Red Hat developers? Sounds like NIH in disguise: leaving a strategic component in the hands of a rival.
Having Upstart transform the face of Linux init would have been great. Even a fork of Upstart might have been tolerable. As it is, they have created the infamous (n+1)th standard -- and are even proud of it. Just for that they should be ostracized by the community.
Posted Jan 27, 2013 15:42 UTC (Sun) by cortana (subscriber, #24596)
Posted Jan 27, 2013 15:55 UTC (Sun) by niner (subscriber, #26151)
Posted Jan 27, 2013 16:10 UTC (Sun) by man_ls (guest, #15091)
Allow me to reverse your argument: if Upstart was so lousy, why was it adopted by Fedora, Red Hat, Debian and Ubuntu at all?
Posted Jan 27, 2013 16:26 UTC (Sun) by niner (subscriber, #26151)
Fedora does not use Upstart anymore. Red Hat will follow. AFAIK Debian still uses SysV init.
Posted Jan 27, 2013 18:30 UTC (Sun) by smurf (subscriber, #17840)
Good idea if you ask me.
Posted Jan 28, 2013 20:25 UTC (Mon) by drag (subscriber, #31333)
It's a _TERRIBLE_ idea.
If Systemd is such a burden, then why the hell is maintaining no less then three different init systems better?!
Between sticking with sysvinit, going upstart, or going systemd, Debian has choosen the worst possible outcome. I mean this is just mind boggling terrible decision making on the part of Debian. Choosing to do _anything_ else would of been a better move. A drunk hobo rolling dice would of done a better job.
And this is really sad thing for me to say, because Debian is one of the few distros that I actually like using.
Init systems in Debian
Posted Jan 28, 2013 21:23 UTC (Mon) by man_ls (guest, #15091)
And before you say that an init system is a core component... Debian maintains three different kernels, and one of them is not even widely used.
Users familiar with one of the init systems will appreciate its existence. Interested users will be able to compare init systems side by side. The rest will be grateful for being able to migrate at their own pace. That for me is enough reason to have all three.
Posted Jan 28, 2013 21:42 UTC (Mon) by drag (subscriber, #31333)
By not choosing Debian has more then tripled the amount of workload they have to deal with to make the system function properly. This not only increases their workload, it exponentially increases the amount of bugs a person is likely to run into. It makes it harder to write software for the system because now you have at least 3 different operating systems personalities you have to deal with.
Throwing scripts at it to try to automate the creation of other scripts for upstart and sysinv just means that now instead of just supporting 3 different init systems they have to support 3 different init systems and a bunch of new scripts.
To put it another way:
* It makes the workload they have to deal with much higher. This is Debian's developers problem. Maybe they prefer to play around with init systems rather then having a working OS. I can't fault them for how they want to spend their time, but... if their goal is to have a stable working OS with lots of software and third party support it's not something that is going to help them any meaningful respect in that regard.
* It increases the burden of third parties writing and maintaining services much harder. This is something that anybody trying to use or support Debian is now forced to deal with.
* It exponentially increases the amounts of bugs any person is likely to run into with Debian init's system. This is something that will bite end users and will likely contribute to issues for people that try to use Debian in production.
This is why it's a bad decision. It makes the OS worse, not better. Maintaining different kernels is very silly also if your goal is to have anything other then a toy OS, but at least the non-linux-kernel-debian folks can be marginalized by the fact that nobody actually uses that stuff. Unlike KFreeBSD I expect that they will have users that actually expect that sysvinit, systemd and/or upstart works.
And what is the benefit? So I can compare init systems side by side? Doesn't seem like much of a return of on investment.
Posted Jan 28, 2013 22:05 UTC (Mon) by smurf (subscriber, #17840)
In any case, I am fairly optimistic that post-Wheezy the "best practice" way to start a service in Debian will be a native systemd script, with auto-generated SysV-ish shell scripts and/or upstart-esque config files, whenever there are no special requirements.
How much time will elapse until then, I have no idea and refuse to speculate about. This is Debian, after all. :-/
Posted Jan 28, 2013 22:08 UTC (Mon) by man_ls (guest, #15091)
As to that burden, I expect that it will not be so difficult to develop for three init systems given that both Upstart and systemd claim to be SysV init-compatible. Even if the script automation script does not work out. I have had to customize init scripts every once in a while, this should not be too different.
Posted Jan 28, 2013 23:00 UTC (Mon) by ovitters (subscriber, #27950)
Posted Jan 29, 2013 16:51 UTC (Tue) by drag (subscriber, #31333)
Posted Jan 29, 2013 0:01 UTC (Tue) by rahvin (subscriber, #16953)
In other words, even though they pick a "default" they understand that every user will have different preferences and where there is developer support for it they provide the options. Honestly if they had more volunteers they'd provide even more options. Hell, they even have a hurd port and no one has a hurd port.
That's the beauty of Debian, they don't pick sides, they pick a default for a base install then allow the user to rip out and replaces with options fairly painlessly. That's the Debian way I'm familiar with, not the Debian way you are advocating.
Posted Jan 29, 2013 17:56 UTC (Tue) by Wol (guest, #4433)
Dunno about upstart - that may have the same problem.
So the only thing that will actually work across ALL supported platforms is SysV. But you've got to give people the OPTION of the others.
Posted Jan 30, 2013 8:36 UTC (Wed) by micka (subscriber, #38720)
Posted Jan 27, 2013 19:13 UTC (Sun) by man_ls (guest, #15091)
Debian has Upstart in testing right now, though not as the default.
Posted Jan 27, 2013 20:03 UTC (Sun) by Jonno (subscriber, #49613)
> Debian has Upstart in testing right now, though not as the default.
Yes, and just like systemd...
Posted Jan 27, 2013 23:39 UTC (Sun) by anselm (subscriber, #2796)
Posted Jan 28, 2013 9:45 UTC (Mon) by danpb (subscriber, #4831)
Posted Jan 28, 2013 18:10 UTC (Mon) by ThinkRob (subscriber, #64513)
Posted Jan 28, 2013 18:44 UTC (Mon) by apoelstra (subscriber, #75205)
Git technically works on non-POSIX systems, but it's painfully slow. CVS and Subversion were equal-opportunity crap.
Posted Jan 28, 2013 20:30 UTC (Mon) by drag (subscriber, #31333)
Sysvinit scripts are _NOT_ portable.
Posted Jan 28, 2013 20:39 UTC (Mon) by HelloWorld (guest, #56129)
Posted Jan 28, 2013 12:13 UTC (Mon) by dgm (subscriber, #49227)
SystemD : Upstart : SysV-Init =? Emacs : Vim : ed
Posted Jan 28, 2013 13:38 UTC (Mon) by anselm (subscriber, #2796)
The main point of the analogy is that, just as Subversion is basically CVS with the most glaring problems papered over, Upstart is basically SysV-Init with the most glaring problems papered over.
On the other hand, like Git, systemd represents a completely different way of attacking the problem at hand.
Posted Feb 2, 2013 10:04 UTC (Sat) by Kwpolska (guest, #89145)
Posted Jan 27, 2013 18:18 UTC (Sun) by HelloWorld (guest, #56129)
Posted Jan 29, 2013 11:53 UTC (Tue) by oak (guest, #2786)
Posted Feb 5, 2013 0:55 UTC (Tue) by sonnyrao (subscriber, #11351)
Posted Feb 5, 2013 19:00 UTC (Tue) by khim (subscriber, #9252)
Posted Jan 27, 2013 21:10 UTC (Sun) by misc (subscriber, #73730)
For one, the way it track process is by using ptrace. That's not a bad idea, but this doesn't work great for some kind of software. There is 2 bugs opened since 4 years about that ( https://bugs.launchpad.net/upstart/+bug/406397 and https://bugs.launchpad.net/upstart/+bug/703800 ).
Then upstart do not permit to have a daemon installed but not started. The state and the config file are conflated. See http://utcc.utoronto.ca/~cks/space/blog/linux/UpstartCoup... on the details.
On the same type of issue, there is this http://utcc.utoronto.ca/~cks/space/blog/linux/UpstartDepe... , ie, upstart config are just script, so that's the same problem.
The root cause is something solved by systemd, with the .include and the new directory system ( ie, using /etc/system/foo.unit.d/foo ).
Upstart config file are also harder to parse ( ie, this is a full blown DSL ), which doesn't help to create a tool to audit or modify them. While auditing is not something I ever seen, I know that some organisations requires this, so every roadblock that can be removed is better. And as someone involved into automated package checking, having a parsable format is better.
One last issue is the whole copyright assignation to Canonical, that AFAIK is always annoying since company exec tend to avoid letting people work on such projects ( and IMHO for good reasons ).
RHEL and Fedora did used Upstart for a time, Opensuse and Debian also looked at it at the same time. So if they collectively decided to not switch or to use something else, there is likely a technical reason.
Perhaps a myth after all
Posted Jan 28, 2013 0:00 UTC (Mon) by man_ls (guest, #15091)
Posted Jan 28, 2013 1:25 UTC (Mon) by mezcalero (subscriber, #45103)
We didn't have any problems with the quality of code or anything. Heck, we have so much more bad code in our stack, Upstart totally stands out in quality. So, the implementation is fine, however the overall design was not, in our eyes, and that's very hard to fix without resulting in well, basically a pretty complete rewrite, and that's what we then did, after much consideration.
Posted Jan 28, 2013 10:23 UTC (Mon) by xnox (subscriber, #63320)
For the NFS related dependency problem you outlined, sounds like you need a couple .overrides with modified "start on" conditions.
Posted Jan 28, 2013 10:15 UTC (Mon) by regala (subscriber, #15745)
Posted Jan 27, 2013 20:44 UTC (Sun) by jubal (subscriber, #67202)
Posted Jan 27, 2013 16:28 UTC (Sun) by HelloWorld (guest, #56129)
> Dependency management? Surely that could have been solved differently and deprecated with time.
This sort of design decision is at the very core of upstart. Saying that they should have modified upstart to do what they want is like saying that one should build a car by taking a ship and replacing parts because after all, they're both means of transportation. How is that supposed to be useful? And besides, judging by the way Scott James Remnant defended his design decisions after systemd had launched (to the point where he'd refuse to adopt systemd's socket activation scheme and come up with his own design that doesn't offer any advantages), I don't think he would have agreed with such far-reaching changes.
> Contributor agreement is a problem for six full time Red Hat developers?
I don't see what Poettering et al. being a Red Hat employees has to do with accepting copyright assignment. And besides, even if these things had anything to do with each other, you'd still be ignoring at least 10 other systemd developers with commit rights.
> Sounds like NIH in disguise: leaving a strategic component in the hands of a rival.
If being in control were the motivation, the systemd project would require copyright assignment itself. It doesn't, and if Ubuntu/Canonical were interested in being a good open source citizen, they wouldn't either.
> Having Upstart transform the face of Linux init would have been great. Even a fork of Upstart might have been tolerable. As it is, they have created the infamous (n+1)th standard -- and are even proud of it.
Uh, no they didn't. systemd replaced many other init schemes in different distributions, and systemd unit files, unlike SysV init scripts, can trivially be shared between distros. Upstart never saw nearly as much adoption, and every distro except Ubuntu dumped it as soon as a sane alternative was available (this alone speaks volumes about Upstart).
Posted Jan 28, 2013 1:29 UTC (Mon) by mezcalero (subscriber, #45103)
Posted Jan 27, 2013 18:20 UTC (Sun) by raven667 (subscriber, #5198)
You can see the rationale yourself by reading blog entries by the creators or looking at recorded conference presentations on YouTube. systemd wasn't created on a whim, Lennart et. al. thought long and hard about creating N+1 init systems before tackling this problem.
Posted Jan 27, 2013 21:15 UTC (Sun) by misc (subscriber, #73730)
Posted Jan 28, 2013 1:31 UTC (Mon) by mezcalero (subscriber, #45103)
Posted Jan 28, 2013 4:57 UTC (Mon) by raven667 (subscriber, #5198)
I have seen recordings of some of your presentations, I'm not sure which one where you mentioned looking at Upstart, and praising its code quality, it may have been Pushing Big Changes at foss.in 2012. There are several conference videos on YouTube but I'm not going to re-watch them all just to get proper attribution.
I was skeptical about the Journal until I saw the practical demonstration video from T-DOSE 2012 on YouTube. It might be worthwhile to include links to these various conference videos on your blog in addition to the wonderful "systemd for Administrators" series, maybe the personal presentation will slow the tide of Internet hatemail, so much is lost when your only interaction is the written word.
Posted Jan 28, 2013 0:43 UTC (Mon) by alan (subscriber, #4018)
Posted Jan 28, 2013 2:21 UTC (Mon) by dlang (subscriber, #313)
What they are upset about is the push to make systemd mandatory (as we saw by the statements about how ubuntu is fragmenting linux by not switching to systemd)
RHEL is the 800 pound gorilla distro, if it does something, it impacts all other distros.
At this point we don't _know_ that RHEL is going to switch to systemd in the next release but the fact that systemd is being pushed by RedHat employees says that it's a real possibility.
I think it's a mistake to do so, RHEL customers have lots of sysadmins with lots of experience with sysV init, and many of those customers have lots of non-linux systems. They also have lots of old RHEL systems (many of them are still running RHEL4 and older)
Making the new RHEL systems have a completely different init system than the rest of the systems they run is not going to lead to happy admins, and taking the attitude that any admins who don't embrace having to re-learn the init system (in addition to all the other things they have to be learning to keep up) are fools who should loose their jobs is not going to improve things.
Many of these admins are working way over 40 hours/week as it is, and have a list of things they want to do (including many that are really rather important) that they don't have time to do that's months, if not years long.
it's not that they aren't willing to learn, it's that they don't see the value of disrupting this particular core piece and having to track multiple ways of doing the same thing, and remember to check which way the box they are logged into at the moment does things.
In many ways, this parallels the Gnome complaints. It really doesn't matter if the new way is better, the fact that it's so different, and therefor disruptive is a large part of the problem
Posted Jan 28, 2013 2:39 UTC (Mon) by rahulsundaram (subscriber, #21946)
Posted Jan 28, 2013 12:37 UTC (Mon) by HelloWorld (guest, #56129)
Posted Jan 28, 2013 19:51 UTC (Mon) by k8to (subscriber, #15413)
Posted Jan 28, 2013 20:34 UTC (Mon) by HelloWorld (guest, #56129)
Posted Jan 29, 2013 8:13 UTC (Tue) by k8to (subscriber, #15413)
Posted Jan 29, 2013 12:05 UTC (Tue) by HelloWorld (guest, #56129)
Posted Jan 29, 2013 20:37 UTC (Tue) by k8to (subscriber, #15413)
The victims here are sysadmins who have to deal with a variety of systems who a new thing dumped on them.
Pro: systemd might be better for the subset of systems that use it
Con: most systems don't use it
Sysadmins have many things to learn and accomplish and not welcoming this relatively useless (to them) change is not a sign of incompetence but rather sanity.
That doesn't mean that they should get to dictate how the systems are architected, but they are the ones who get dumped on by this particular set of changes.
So yes, you were blaming the victims. Don't do that.
Posted Jan 29, 2013 21:38 UTC (Tue) by ovitters (subscriber, #27950)
Posted Jan 29, 2013 22:12 UTC (Tue) by HelloWorld (guest, #56129)
And besides, most systems don't use SysVinit either, and even those who do often bear no resemblance to each other as pretty much everything is done by system-specific scripts. The introduction of systemd actually led to an *increase* in uniformity as distros share most of the configuration files.
Posted Jan 30, 2013 4:56 UTC (Wed) by k8to (subscriber, #15413)
Every response has been an exercise in mischaracterization.
Posted Jan 29, 2013 22:15 UTC (Tue) by smurf (subscriber, #17840)
If you truly think systemd is "relatively useless" for sysadmins, you should re-read this discussion.
Sysadmins need to be able to correctly and efficiently deal with failure situations. Once you use "systemctl status" and see instantly what the problem is, as opposed to grepping through heaps of ps and syslog output, you will not want to go back.
A more obscure, yet incredibly useful, feature of systemd is to start services in a consistent environment. No root login whose strange environment settings can contaminate the daemon and render its messages useless. No tty which can randomly block or vanish. No job control that can block your program or send it strange signals. And so on.
Posted Jan 30, 2013 4:57 UTC (Wed) by k8to (subscriber, #15413)
AFAICT, those people are now called "devops", and they may love it.
Posted Jan 30, 2013 7:19 UTC (Wed) by smurf (subscriber, #17840)
You seem not to notice that you contradict yourself.
Posted Jan 30, 2013 12:16 UTC (Wed) by mgb (guest, #3226)
Posted Jan 30, 2013 13:28 UTC (Wed) by anselm (subscriber, #2796)
FLOSS will simply evolve to leave the systemd-limited distros behind.
I think that, given time, the problem will take care of itself since nobody will be able to come up with anything that is both enough of a significant improvement on System V init to get System V init anywhere near what systemd does even today, compatible with tradition enough so the die-hard System V init fans won't complain, and gets traction in enough distributions so people will actually be interested. (The ones which have subscribed to systemd already aren't going back unless whatever the System V init camp has to propose is really a lot better than systemd, which would be quite surprising.) This is very unlikely to actually happen since historically the distributions didn't even seem to be able to agree on a standard for init scripts, let alone all of System V init or indeed an evolutionarily improved System V init.
In the meantime, systemd will improve even further and, with the major Linux distributions behind it, will become even more compelling. In effect, System V init will leave systemd behind in exactly the way that CVS left Git behind.
Feel free to prove me wrong.
Posted Jan 30, 2013 14:47 UTC (Wed) by mpr22 (subscriber, #60784)
Posted Jan 29, 2013 20:42 UTC (Tue) by k8to (subscriber, #15413)
I made a statement which linguistically a clear thing which can be accepted or rejected by the reader. So your attempt to imply such underhanded tactics is itself underhanded. Which, if you didn't realize, is why you were being unreasonably rude.
Posted Jan 27, 2013 16:20 UTC (Sun) by dskoll (subscriber, #1630)
Have you actually tried to maintain a meaningful cross-distro init script?
Why, yes. Yes, I have. Our (commercial) product runs on all flavors of Linux as well as any UNIX-like system (the BSDs, Solaris, etc.)
I did the rather heretical thing of writing our init script in Perl. Our product requires Perl anyway, so we know that Perl is going to be available on the system. And it was quite easy.
I'm not against systemd. I think it has some very nice features and probably is the way of the future; I just wanted to point out that writing portable init scripts is not that daunting.
Posted Jan 27, 2013 20:59 UTC (Sun) by pizza (subscriber, #46)
>Why, yes. Yes, I have. Our (commercial) product runs on all flavors of Linux as well as any UNIX-like system (the BSDs, Solaris, etc.)
>I did the rather heretical thing of writing our init script in Perl. Our product requires Perl anyway, so we know that Perl is going to be available on the system. And it was quite easy.
Perl makes some things easier (if nothing else, it has real data structures!) but it doesn't simplify integrating into the rest of the system.
Indeed, I couldn't even rely on having *bash* because among the targets for aforementioned init scripts were embedded systems with 4MB flash -- certainly no room for perl either)
In my case I had to integrate into/with distro networking layers, which was about as insane as things could get.
Posted Jan 27, 2013 17:37 UTC (Sun) by HelloWorld (guest, #56129)
Posted Jan 27, 2013 23:49 UTC (Sun) by shmerl (guest, #65921)
systemd on debian
Posted Jan 28, 2013 10:45 UTC (Mon) by smurf (subscriber, #17840)
Posted Jan 27, 2013 21:16 UTC (Sun) by misc (subscriber, #73730)
I do manage with puppet several server on various distributions and I do it like this.
Posted Jan 27, 2013 23:03 UTC (Sun) by ovitters (subscriber, #27950)
I gave this example due to experience I had. You expect at least this to be easy, in practice it was not.
Posted Jan 27, 2013 13:04 UTC (Sun) by robert_s (subscriber, #42402)
Why should we all be stuck using a lowest common denominator feature set?
Posted Jan 28, 2013 16:18 UTC (Mon) by misc (subscriber, #73730)
Openrc a better init system?
Posted Jan 28, 2013 10:51 UTC (Mon) by Wol (guest, #4433)
On the other hand, however, what I would GAIN from converting to systemd is obvious - a proper, working, multihead system.
At the moment, my X server is configured to enable remote login, from my ancient 2nd PC and via Cygwin from the Win7 laptop. And using it is dire :-( I'd much rather just plug in my 2nd monitor and keyboard, and have a proper, working, multi-user system, just like Unix used to be :-)
Copyright © 2017, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds