Beta

Slashdot: News for Nerds

×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Debian To Replace SysVinit, Switch To Systemd Or Upstart

samzenpus posted about 9 months ago | from the changing-it-up dept.

Debian 362

An anonymous reader writes "Debian has been one of the last holdouts using SysVinit over a modern init system, but now after much discussion amongst Debian developers, they are deciding whether to support systemd or Upstart as their default init system. The Debian technical committee has been asked to vote on which init system to use, which could swing in favor of using Upstart due to the Canonical bias present on the committee."

cancel ×

362 comments

Canonical might suck... (3, Interesting)

GameboyRMH (1153867) | about 9 months ago | (#45260513)

But that doesn't mean that Upstart does.

Re:Canonical might suck... (3, Interesting)

Anonymous Coward | about 9 months ago | (#45260587)

Yea who doesn't want their DB servers kill -9'd if they take too long to shutdown. Hooray upstart.

Re:Canonical might suck... (3, Interesting)

TheCarp (96830) | about 9 months ago | (#45260777)

Well my first thought on this was.....its a smart move for desktops, but I intend to continue using sysvinit on servers for a long long time to come.

Re:Canonical might suck... (-1)

Anonymous Coward | about 9 months ago | (#45260875)

Richard Stallman's magical pedophile

Re:Canonical might suck... (1)

GuldKalle (1065310) | about 9 months ago | (#45261495)

What's wrong with
kill timeout 64800

Re:Canonical might suck... (2, Interesting)

Anonymous Coward | about 9 months ago | (#45260607)

IMHO, it does (suck) when compared to Systemd.

I've also found moving from System5 based init's easier with Systemd

Re:Canonical might suck... (2, Interesting)

0100010001010011 (652467) | about 9 months ago | (#45260689)

Should go with launchd.

Re:Canonical might suck... (-1)

Anonymous Coward | about 9 months ago | (#45261299)

Folks, this isn't interesting, it's _funny_. The Anonymous Coward parent used "System5", i.e. a very, very old moniker for Mac OS.

Re:Canonical might suck... (0)

Anonymous Coward | about 9 months ago | (#45261609)

Does Unix System 5.3 (or something like it) ring a bell?

Nowt to do tihe MacOS. Yes it is old, so am I. I wrote my first Unix device driver in 1982 (Dec Ultrix)

Re:Canonical might suck... (0)

WarJolt (990309) | about 9 months ago | (#45260649)

Upstart isnt bad, but Systemd is better. Upstart has a cooler name and is easier to support because packages don't have to be patched

Re:Canonical might suck... (4, Insightful)

heson (915298) | about 9 months ago | (#45261161)

Upstars solves some problems with sysv, but includes a whole array of new ones. Systemd solves almost all problems with few new ones, except for all the parts that is not implemented yet. Systemd is a mess for novices to use and understand, the helper tools are not as good as they should be.

Re:Canonical might suck... (4, Insightful)

icebike (68054) | about 9 months ago | (#45261477)

This is very true.

Like much in the linux world these days, systemd was rushed into production before it was half completed by too many distros.
At least you have to give Debian the credit for waiting until most of it is working, and all the necessary patches have been identified.

(The less charitable way of viewing it is that Debian sat back and let others do the heavy lifting).

Probably the worst case would be for them to choose upstart when the rest of the industry decides on systemd. That kind of divergence
makes for much more work patching everything that needs to be patched.

Re:Canonical might suck... (1)

oneandoneis2 (777721) | about 9 months ago | (#45260849)

Upstart sucks.

Every time I've tried to make new software be controlled by it, I've wound up writing horrendous kludges or (where possible) rewriting the source code to make it more upstart-friendly.

Upstart is to init systems what Unity is to desktops - mostly okay for some stuff, and utter **** for anything else.

Re:Canonical might suck... (4, Funny)

jones_supa (887896) | about 9 months ago | (#45261207)

mostly okay for some stuff, and utter **** for anything else.

So mostly okay for some stuff, and four stars out of five for anything else? Pretty good, pretty good.

Re:Canonical might suck... (0)

Anonymous Coward | about 9 months ago | (#45261225)

It's four stars for everything else? That sounds pretty good!

Re: Canonical might suck... (0)

Anonymous Coward | about 9 months ago | (#45261095)

I'd better go wit Upstart than PÃtterKits

Re: Canonical might suck... (1)

jones_supa (887896) | about 9 months ago | (#45261259)

I prefer PÃtterKits as my runlevel daemon.

Re: Canonical might suck... (0)

Anonymous Coward | about 9 months ago | (#45261143)

One *big *problem with systemd.

Once you remove /run/systemd by accident. There is no proper way to reboot or shutdown the system. Only solution is hardreset or poweroff.

Re: Canonical might suck... (1)

tmpsantos (1161451) | about 9 months ago | (#45261383)

One *big *problem with systemd.

Once you remove /run/systemd by accident. There is no proper way to reboot or shutdown the system. Only solution is hardreset or poweroff.

You are being ironic, right?

Re: Canonical might suck... (2, Informative)

Anonymous Coward | about 9 months ago | (#45261439)

No! Sadly this is the case. I had a script that deletes old entries in /run. By accident I removed /run/systemd and figured out that you can not shutdown or reboot anymore. Only hardreset or poweroff lets you bypass it. This is not and was never necessary with sysvinit.

Re: Canonical might suck... (1)

icebike (68054) | about 9 months ago | (#45261519)

Yeah, well, don't do that. There is a reason its all owned by root.

Re: Canonical might suck... (-1)

Anonymous Coward | about 9 months ago | (#45261583)

Oh sorry! I wasn't aware to not do this ... ... with my own owned stuff

Re: Canonical might suck... (1, Funny)

icebike (68054) | about 9 months ago | (#45261665)

with my own owned stuff

You own your own dick too, but there is no point in complaining you can't get it up once you cut it off.

Re:Canonical might suck... (0)

Anonymous Coward | about 9 months ago | (#45261269)

Yes it does. Mark is the Steve Jobs of the Linux-Universe. He does not give a shit about tech, users or anything else but hes own company, what he does with mir is just another chapter of attempting to fragment linux. Don't get in bed with this guy, debian, or you *will* regret it. I for one will drop debian if they start using ShuttleStart...

Re:Canonical might suck... (3, Insightful)

fatphil (181876) | about 9 months ago | (#45261539)

Indeed, Canonical sucking *doesn't* mean that Upstart sucks.
It's the fact that Upstart sucks which means that Upstart sucks.

At least from an embedded perspective (which is the majority of linux systems) the system should start only that which is necessary rather than everything that is possible. It also suffers from the classic stampede mistake when it becomes possible to start a whole load of new services after a shared dependency is started.

Ugh (4, Insightful)

ArchieBunker (132337) | about 9 months ago | (#45260611)

I fucking hate this new system. Its a mess of scripts that call on more scripts. Its such a pain in the ass now if you want to have a program run when the system starts. Gone are the days of just adding a line to /etc/rc.local

Re:Ugh (5, Interesting)

lasermike026 (528051) | about 9 months ago | (#45260635)

Yeah, SysVinit is not only fine but preferable. It's simple and effective. I see no reason to change.

Re:Ugh (3, Funny)

MightyMartian (840721) | about 9 months ago | (#45260675)

I'm with this too. Fuck Canonical. They have become a real pain in the ass, and worst of all, they're a pack of fucking retarded assholes. I can't say it enough. Fuck Canonical. Fuck Canonical. Fuck Canonical.

Debian is one of the best distros out there, let's not allow the fuckwaddery that is Canonical and their arrogance and intense stupidity ruin it. The current init system works just fine.

Oh, and in case you didn't get it. Fuck Canonical. Fuck Canonical. Fuck Canonical.

Re:Ugh (5, Funny)

Tanktalus (794810) | about 9 months ago | (#45260707)

I really wish you'd get off the fence and pick a position on the issue.

Really? (3, Interesting)

prefec2 (875483) | about 9 months ago | (#45260855)

This is your way of stating your opinion? Looks, like your parents forgot to teach you something particular important to be considered an adult and able to participate in a discussion. You could say that you disagree with Canonicals decision towards Wayland/Weston. You could say that the way they handled the issue and announced Mir sucks and was not a cooperative mode. In addition they made some bad blood. And that all would sound like someone really discussing the issue, but really you just sound like someone either too young to remember the vi vs. emacs wars or like someone exhumed from that day, just to behave like a troll.

BTW: Get a life, normally that reduced these urges to hate someone just because you find his or her decision questionable.

Re:Really? (3, Interesting)

jedidiah (1196) | about 9 months ago | (#45260955)

It's far too easy to shoot yourself in the foot with upstart. It is much more complicated. In it's efforts to solve a non-problem (namely making a machine boot faster) it tries to do things in parallel and creates a web of dependencies that can render your system unbootable.

It adds extra complexity for dubious gain.

It's the perfect example of why we shouldn't necessarily accept the advice of "helpful types" that think that things should be done the way that Microsoft does it or the way Apple does it.

Re:Really? (0)

sI4shd0rk (3402769) | about 9 months ago | (#45261015)

Looks, like your parents forgot to teach you something particular important to be considered an adult and able to participate in a discussion.

Looks, like your parents forgot to teach you something particular important to be considered an adult and able to participate in a discussion. You said something in a way I don't like, so you're not a True Adult.

Re:Really? (1)

Anonymous Coward | about 9 months ago | (#45261327)

so you're not a True Adult.

One thing I learned growing up... There are no true adults! (Scotsmen either, for that matter..)

Re:Really? (1)

jones_supa (887896) | about 9 months ago | (#45261325)

To me it seems the Slashdot hive mind is starting to teach everyone to robotically hate Canonical.

Re:Really? (2)

interval1066 (668936) | about 9 months ago | (#45261585)

Say what you want, I didn't need any help hating Unity.

Re:Ugh (0)

Anonymous Coward | about 9 months ago | (#45260917)

Simple, effective, flexible
Pick 2

The trouble with the old init is not that they don't work well when hand-tuned to specific tasks.. It's that that is all they can do.

Modern operating systems need to be manageable and configured in a programmatic fashion that's consistent across all installations. Yes, you do this now but you have to realize that you're essentially building a unique implementation every time.

The days of building a server on bare metal, or even a server farm are gone. Today your infrastructure is any number of auto-configured VMs spun up and down on demand. Million of machines created, started, and shut down on demand without intervention by human hands.

Re:Ugh (1)

jedidiah (1196) | about 9 months ago | (#45261009)

...except that upstart doesn't meet that description.

It's more complex, therefore more subtle, therefore less repeatable and more difficult to debug. If I had a large number of machines of ANY sort, upstart is the LAST thing I would want to have to deal with.

Upstart is barely tolerable for desktop purposes.

You throw around "million" like its going to impress anyone. Many of the people around here already manage a volume of machines large enough to boggle the average human numeracy.

Re:Ugh (2)

jythie (914043) | about 9 months ago | (#45261071)

I am not really seeing how sysvinit fails in this regard. Simple things are easier to manipulate programmatically then complex ones, and complexity generally requires something to justify itself.

Re:Ugh (0)

Anonymous Coward | about 9 months ago | (#45260657)

rc.local still exists, as do the old init script directories.

Re:Ugh (0)

Anonymous Coward | about 9 months ago | (#45260659)

Archie, you really should do something about those kids on your lawn.

Re:Ugh (4, Informative)

Arker (91948) | about 9 months ago | (#45260695)

Slackware still uses sensible init scripts you know.

Re:Ugh (1)

Anonymous Coward | about 9 months ago | (#45261021)

Slackware still uses sensible init scripts you know.

Slackware does a lot of sensible things. But you need a benevolent dictator who knows what he is doing.
Debian is more democratic than Slackware, but as in real life when the system is corrupted from within you're fucked.
To be honest Canonical developers should have NO SAY WHATSOEVER as to the direction of Debian.

Re:Uh... (5, Informative)

Chemisor (97276) | about 9 months ago | (#45260757)

I fucking hate this new system. Its a mess of scripts that call on more scripts.

Actually, that's how sysv init works. To get a program started by systemd you have to create a service file full of magic commands and put it in the magic systemd directory. Then you have to type systemctl --abracadabra enable yourservicename.service. Then you have to go and add an [install] section to your service file, because nobody actually remembers that you have to write one or how to do it. Then you do the systemctl again. Then you check the log files to see if the thing actually started, because nothing gets output to the console during boot (except the filesystem mount messages and the big fat warning that my root fs is readonly).

Re:Uh... (1)

duke_cheetah2003 (862933) | about 9 months ago | (#45260963)

That sounds retarded. Why would anyone wanna change to that? It's all one command currently (in Debian, which I've used for years), update-rc.d with simple params and done?

Re:Uh... (5, Interesting)

Chemisor (97276) | about 9 months ago | (#45261113)

That sounds retarded. Why would anyone wanna change to that?

We want to change to "that" because basic idea is a good one. The ability to start services in parallel, socket activation, and cgroups for process group management are all good things. The problem with systemd is not so much these ideas, but the implementation. To put it bluntly, the developers are all "superstar" jerks who wouldn't know usability if it hit them over the head.

They designed an ugly interface with way too much automatic magic that no doubt is perfectly obvious and correct to them, but abstruse and incomprehensible to anybody outside their little circle. Then they wrote a couple of "howto" articles on complex sysadmin tasks that almost nobody has to do, and declared documentation complete. To do a simple task, like writing a service file, or God forbid, changing the getty program you want to use, requires a monumental effort of sifting through disconnected, unintuitively named man pages.

systemd: good idea, horrible implementation.

Re: Uh... (1)

Anonymous Coward | about 9 months ago | (#45261341)

Please tell me how to reboot or shutdown a systemd based distro if the /run/systemd directory got deleted by accident.

Re: Uh... (-1)

Anonymous Coward | about 9 months ago | (#45261673)

How about not deleting things owned by root unless you know what they are for? DERP.

Re:Uh... (1)

Anonymous Coward | about 9 months ago | (#45261353)

And systemd is a tentacle-monster which tries to suck in any other component of a linux-distro. Session-management, udev, cgroups, loging ...

Re:Uh... (1)

interval1066 (668936) | about 9 months ago | (#45261641)

...abstruse and incomprehensible to anybody outside their little circle.

Its "obtuse", but your point is taken. But let's be honest, many, if not every, circle of technical wizards in charge of a popular project gets infected with elitism to some degree. I will say however, and without really understanding the exact technical reasons canonical seems to be taking the technical "high road" and laughing some of their userbase writhes in pain on the ground behind them.

Re:Uh... (1)

Anonymous Coward | about 9 months ago | (#45261185)

That sounds retarded. Why would anyone wanna change to that?

Nobody wanted systemd, other distros went along after they took over udev maintenance. Sane heads were left pointing at pulseaudio and screaming "keep this fool away from init".

All's well that ends well though and I just love having "systemctl halt" break whenever I upgrade dbus. This kind of functionality takes a special kind of software engineering genius.

Re:Ugh (4, Insightful)

icebike (68054) | about 9 months ago | (#45261643)

I fucking hate this new system. Its a mess of scripts that call on more scripts. Its such a pain in the ass now if you want to have a program run when the system starts. Gone are the days of just adding a line to /etc/rc.local

Half of that is because either SystemD or upstart is really only about half implemented, and the half that is implemented is often trying to replicate sysv just to keep the conversion and learning task to something approaching manageable. Its kind of a mess right now in many distros.

As more of the system targets are properly implemented, and users start to let go of the concept of run levels, and get used to dealing with target files and the concept of units, it will be every bit as tailor-able as run levels were, and a whole lot faster.

I didn't find run levels and rc.d all that intuitive at first (many long years ago) and the scripts were more complex.

Or it might go the other way... (1)

Anonymous Coward | about 9 months ago | (#45260641)

Because of the anti-Canonical/Ubunutu bias present on the committee.

geek cage match (1)

Anonymous Coward | about 9 months ago | (#45260653)

now that would be awesome. fighting over minor syntax. the loser grabs a fork and goes on his merry way

next up we tie their beards together and have them fight it out

And it sucks... (0)

Anonymous Coward | about 9 months ago | (#45260655)

It sucks because of upgrade issues with /run/initctl and new dependencies on DBus, etc...Plus upstart is a running proc....

Why keep making simple things complicated? (4, Insightful)

Arker (91948) | about 9 months ago | (#45260673)

Init [slackware.com] would have been my pick, but I still hope this works out well for them.

Re:Why keep making simple things complicated? (2)

broknstrngz (1616893) | about 9 months ago | (#45260739)

Because it help useless techies employed. You really can't justifiy selling RHCE training and exams without this crap.

Re:Why keep making simple things complicated? (1)

broknstrngz (1616893) | about 9 months ago | (#45260759)

It also keeps OSS companies relevant.

How about OpenRC? (4, Interesting)

Anonymous Coward | about 9 months ago | (#45260721)

Why not keep sysvinit and switch to OpenRC for managing the init scripts?

suck it BSD (-1)

Anonymous Coward | about 9 months ago | (#45260751)

Freebsd was bought out by mac, openbsd is run by a snail-eating maniac and netbsd has been MIA for YEARS!

Where is your beasty now, bsdfags?

WWBD? (1)

unixisc (2429386) | about 9 months ago | (#45260859)

What would the BSDs do? Actually, what do the BSDs use? And since Debian does kFreeBSD as well, will they use Upstart or Systemd here as well? What will they do for their HURD version? Same for all 3, or pick according to the OS?

Re:WWBD? (0)

Anonymous Coward | about 9 months ago | (#45261039)

http://www.freebsd.org/cgi/man.cgi?query=init&apropos=0&sektion=0&manpath=FreeBSD+9.2-RELEASE&arch=default&format=html

Re:WWBD? (1)

Anonymous Coward | about 9 months ago | (#45261203)

Nonono, you're saying it wrong. It's "GNU/Debian/kFreeBSD". And it's debians' very special contribution to the *BSD world, for it pairs their very special sauce with a FreeBSD kernel. Nevermind that all the *BSDs come with a userland, that has to be GNU, and nevermind their own packaging solutions, it has to be debian. So, given that you can't really separate *BSD kernel and userland, and debian does it anyway, what would you expect them to be using to initialise the system, hm?

The *BSDs, by the by, have their own system, with startup scripts in /etc/rc.d (and /usr/local/etc/rc.d), that are governed by variables set in /etc/rc.conf. So, if you'd like sshd enabled, you add sshd_enable=YES in /etc/rc.conf; you can also find network configuration (say, ifconfig_fxp0="DHCP", or ifconfig_em0="192.168.1.2/24"; network interfaces happen to be named for their driver), and some other settings in there.

Re:WWBD? (1)

unixisc (2429386) | about 9 months ago | (#45261529)

Yeah, I never understood the whole idea of putting GNU on top of FBSD. It would have been useful had Debian ported things like Apt Get to FBSD, but here, they want the whole userland. Is the FBSD kernel that much better than Linux? Debian might have had a point had they done something like Debian GNU/Minix, where they put GNU userland on top of the Minix microkernel. A case where the userland doesn't exist, like in Linux. An even better project for Debian could have been a non-GNU userland for Linux.

But thanks for explaining the /etc/rc.d solutions. So another reason to prefer BSD

Running Sid (Jesse) now... (1)

Anonymous Coward | about 9 months ago | (#45260753)

If they start replacing SysV init with Upstart I'll start looking for a new distro. I've run Debian since I got a VA Linux Debian Slink CD, but that would do it to get me running.

If they have to switch away from sysV init then systemd is better supported by various upstreams and is not locked in with only Canonical developers (and copyright assignments to them etc.)

Fuck Ubuntu.

Re:Running Sid (Jesse) now... (1)

shadowknot (853491) | about 9 months ago | (#45261055)

We will gladly welcome you into the loving arms of Bob and the Slackware community!

sysvinit is dead; long live sysvinit!!! (3, Insightful)

helobugz (2849599) | about 9 months ago | (#45260789)

Tell me I'm not the only one still clinging to sysvinit?

The new "replacements" (alternatives) are ghey++ and will no doubt be replaced in due time.

I dno't want to hear about a few seconds faster boot time. I want my *nix startup to be configurable, scripted, and simple. sysvinit takes the cake;.It's documented, and sysvinit is so simple it doesn't really require documentation, anyway.

Re:sysvinit is dead; long live sysvinit!!! (1)

Anonymous Coward | about 9 months ago | (#45260915)

Exactly. I only reboot if kernel was updated anyway and can live with a slower boot since I gain simplicity and configurability in exchange.

I've got OpenRC installed... (5, Interesting)

Anonymous Coward | about 9 months ago | (#45260937)

On a Gentoo box, and it should still be starting via sysvinit.

My #1 reason for keeping it installed is standardization:
All the BSDs use a similiar system, all the legacy UNIXes do as well, as do all my linux installs that are more than 2 years old.

Additionally I have had *NO* problems with it in like 15 years that weren't caused by user error, or distro error. Systemd on the other hand rendered my system hung or inoperable on more than a few occasions when it first became popular, as has udev by itself. There's something to be said for 'windows-like' functionality, but all the subsystems that have been getting added to linux to provide it are proving messy, unmaintainable, and even more prone to 'unidirectional grading' (it used to be you could have both newer and older kernels, even across major versions running. Nowadays you're lucky if the minor versions don't break things over the span of two months. Anyone here remember having 1.2 installs running 2.0? Or 2.0 with a 2.2 kernel? Or 2.2/2.4? The only major issues you had were if you used ipchains/tables/ipfwadm and had to migrate your settings. And there was almost always legacy support for most or all of a major version change.)

Honestly with the way linux is going nowadays, as well as the various *BSDs, I'm considering very strongly migrating to another platform. If you change what people are used to too much, there's far far FAR less incentive for them not to try something totally new rather than bungling themselves up with half remembered details about how their *FORMER* version of the system operates. Much like happened with WinXP/Vista/7/8.)

Not that many people will agree with this assessment.

Re:I've got OpenRC installed... (1)

0123456 (636235) | about 9 months ago | (#45260989)

Not that many people will agree with this assessment.

No, I've been thinking that too. The more they try to make Linux like Windows, the less reason there is not to consider other operating systems.

It's certainly true that making startup work reliably with init scripts can be hard: service foo has to start after service bar, which can only start after the network is up, or whatever. But none of the alternatives seem appealing yet.

Re:sysvinit is dead; long live sysvinit!!! (1)

Vlad_the_Inhaler (32958) | about 9 months ago | (#45261067)

Opensuse dropped sysvinit when the current level came out several months ago. Before that they had defaulted to systemd but allowed sysvinit.
My considered opinion of systemd? I hate it. I don't have a server farm, I have a couple of desktop machines with Samba and nfs capability and sysvinit was ideal.

Re:sysvinit is dead; long live sysvinit!!! (0)

Anonymous Coward | about 9 months ago | (#45261459)

This.

Besides, how often do you reboot a 'nix box anyway? If you're doing it more than once every few months, you're doing it wrong.

Re:sysvinit is dead; long live sysvinit!!! (0)

Anonymous Coward | about 9 months ago | (#45261461)

I also really like sysVinit. Alternatives have been horrid at best.
I cannot grasp why init needs to read "events" ?

Re:sysvinit is dead; long live sysvinit!!! (1)

Anonymous Coward | about 9 months ago | (#45261543)

You're not. I jumped from ubuntu to debian over upstart.

systemd - bad & getting worse (3, Interesting)

Anonymous Coward | about 9 months ago | (#45260897)

I used to not only use RedHat, but contributed fixes. Ubuntu is not, in many respects, my ideal, but systemd is enough reason all by itself for me to use Ubuntu.

Go home Debian, you're obviously drunk (3, Interesting)

sl4shd0rk (755837) | about 9 months ago | (#45260923)

SysV init scripts just work. They are simple to create and easy to maintain. Debugging is a cinch when things go wrong -- and a lot of packages DO NOT get upstart init, nor SysV init correct. Upstart is only easier in theory. In practice it's made a complete mess of things and I have several Ubuntu systems to prove it.

Re:Go home Debian, you're obviously drunk (5, Interesting)

Rich0 (548339) | about 9 months ago | (#45261013)

The problem with sysvinit is that 95% of daemons just need a common set of actions to start/stop them, and sysvinit tend to handle this by writing bash scripts starting from a skeleton.

So maybe for one daemon you can set a config setting to make it use ionice, and for another you can't, simply because in one script a bit of extra functionality was written.

For the most part systemd makes a config file into a config file, not an executable. Sure, you can run a script if you have to, but 99% of the time you don't need to.

In fact, there is no reason you couldn't write a sysvinit script that takes in a systemd unit as a config file and starts/stops the corresponding service. That would be a great way to transition - switch your bash scripts to unit files gradually and then swap out the init system.

Re:Go home Debian, you're obviously drunk (1)

jedidiah (1196) | about 9 months ago | (#45261041)

Anyone trying to tell you that Upstart is easier is simply lying to you.

Upstart is more complex by design.

Re:Go home Debian, you're obviously drunk (1)

Anonymous Coward | about 9 months ago | (#45261043)

The one and only problem that can't be solved with shell init scripts is that PID files are fundamentally broken. There's an irresolvable race condition between checking for a PID and shooting down an existing (or non-existent) process. This is problematic because the PID space is usually 15-bits wide, and so there's a significant chance of killing the wrong process, especially on beefy systems with lots of churn. There are ways to minimize this by using flock or lockf (which one you use is by preference, and you use them slightly differently), but the vast majority of engineers don't know how to do this properly, and they certainly can be implement as a shell script--if you argue otherwise than you have no idea what I'm talking about).

But neither systemd nor upstart solve this. They simply move daemon management under their umbrella. But in the process they make it impossible for non-root users to run daemons. They're crappy solutions in that they're not generalizable system facilities.

What needs to happen is that somebody needs to create an alternative to 15-bit PIDs. A simple, guaranteed safe way to obtain an identifier to a process, existent or deceased, that is a kernel service and that everybody can use, regardless of permissions. This facility needs to be simple enough and uncontroversial enough that all FOSS systems adopt it, including Linux, *BSDs, OS X, etc.

It can be done.

Re:Go home Debian, you're obviously drunk (0)

Anonymous Coward | about 9 months ago | (#45261081)

Certainly CANNOT be implemented by shell scripts, I meant! Only from C code.

Also, the obvious solution of making pid_t long long is unworkable because I've never seen a piece of code that expected pid_t to be any wider than int. This is especially problematic in printf statements. OpenBSD and NetBSD were able to change the width of time_t recently (so that even 32-bit systems won't overflow in 2031), but changing pid_t would be exponentially more problematic.

Re:Go home Debian, you're obviously drunk (4, Interesting)

whois (27479) | about 9 months ago | (#45261465)

Debian has a habit of not using things until they work. I expect they would fix most of the issues or they wouldn't ship it.

too much wheel reinvention (1)

eneville (745111) | about 9 months ago | (#45261019)

What is it with all these different ways of doing the same thing, it takes the TIMTODI idea and stretches it somewhat. Solaris has SMF, RH has systemd, Ubuntu has upstart, DOS has autoexec.bat, can't we just agree on one thing, init.d is a happy middle ground for me.

Re:too much wheel reinvention (2)

jythie (914043) | about 9 months ago | (#45261191)

Reinventing the wheel is how you put your collective mark on things. Programmers like writing things, and there is a natural desire to write rather then use, and a warm fuzzy feeling when other people use what you have written.

There is an old saying, "Standard is better then the best solution", but programmers and engineers have a natural desire to build better solutions, even when it is not such a good idea.

That is not to say everything must remain static, and it is fair to say there are some functional shortcomings of the old system (esp in terms of dependencies), but I suspect that pragmatism aside, said desire to fix things is a pretty big factor here, esp for people working in niche domains with disproportionate representation or people in dominant domains who have trouble seeing past their own community's needs (the embedded community frequently ends up on the wrong side of that issue).

Re:too much wheel reinvention (2)

eneville (745111) | about 9 months ago | (#45261491)

Reinventing the wheel is how you put your collective mark on things. Programmers like writing things, and there is a natural desire to write rather then use, and a warm fuzzy feeling when other people use what you have written.

The whole unix way is to reuse, http://catb.org/esr/writings/unix-koans/ten-thousand.html [catb.org] comes to mind.

Where to send hatemail? (2)

duke_cheetah2003 (862933) | about 9 months ago | (#45261033)

This sounds like a really awful idea, based on what I've read here. I like how Debian's init works now, its fine, there's nothing wrong with and it's simple.

Where the heck do I send hatemail to perhaps encourage them not to do this?

"the Canonical bias present on the committee" (3, Insightful)

shallot (172865) | about 9 months ago | (#45261075)

Citation needed, anonymous. When has the Debian Technical Committee last made a decision based on a political bias?

Finally! (4, Interesting)

cpicon92 (1157705) | about 9 months ago | (#45261077)

It seems like I'm the only person on here who thinks this, but I really can't wait for the switch to happen. Upstart scripts are unbelievably easy to write when compared with init scripts. For one thing, they don't require massive amounts of boilerplate code. For another, they are relatively easy to manage and execute.

Just the other day I was trying to set up a couple of machines running deluge as a daemon. The Ubuntu machines took me 10 minutes tops. The remaining debian one had me in init script hell for an hour or more...

Re:Finally! (0)

Anonymous Coward | about 9 months ago | (#45261481)

Yea who would want flexibility? Pretty much every sysvinit system has tons of templating and macros to make it easy. They can be as complex or as simple as you want. Upstart shoe-horns you into some fairly bad practices.

Re:Finally! (0)

Anonymous Coward | about 9 months ago | (#45261695)

... reference needed?

sysv init scripts aren't that complicated. they're only complicated if you want them to be complicated. Plenty of debian sysvinit scripts are complicated far beyond what they need to be.

So, examples please.

reinventing the wheel (1)

Anonymous Coward | about 9 months ago | (#45261093)

sysvinit isn't a bad idea, but, IMO, it's too complicated. But obviously I'm biased, since I like the *BSD's rc system.

The thing that gets me with linux is that narely a look is spared to what exists already. It obviously isn't good enough, for reinventions are calling out in dire need of getting reinvented. And so there are at least two, but possibly as much as half a dozen contenders, all different, none of them compatible with what was, what is, or what shall be. Because it's the linux way.

Troll, me? Possibly. But what if it's true? Bring on the downvotes anyway. You know you want to.

Upstart (4, Insightful)

intangible (252848) | about 9 months ago | (#45261133)

So upstart has some things that need to be fixed (mostly the clean shutdown thing)...
Systemd is a monster that gets to infect more of you packages over time, plus you get the benefit of binary log files!

I hope they choose upstart and just fix it up a bit.

OpenRC has been proposed by some too, which seems like a nice sysvinit replacement, but event driven startup and shutdown of services (think laptops and hotswap stuff) is more important than just a fast startup time.

Re: Upstart (-1)

Anonymous Coward | about 9 months ago | (#45261193)

systemd has a shutdown issue too once you accidently remove /run/systemd

You can't shutdown or reboot after that.

Re:Upstart (1)

gmueckl (950314) | about 9 months ago | (#45261483)

I honestly wonder what the systemd developers were thinking when they turned it into a feature-creep laden mountain of mostly annoying features which slowly takes over the system from you. The way it seems to force itself into other things in the system (e.g. by way of systemd-specific modifications in daemons and such) just should have set off a lot of software engineering alarm bells. Why didn't that happen?

Go the Solaris route? (1)

Anonymous Coward | about 9 months ago | (#45261247)

Get the SMF framework, and make everything XML driven !

None too soon! (3, Interesting)

redelm (54142) | about 9 months ago | (#45261255)

I cannot abide the SysV (AT&T) mess'o'symlinks multiple-indirect startup scripts. One reason I've stuck with Slackware for almost 20 years. It uses BSD-style inits that have far less indirection and need far fewer lookups. Frankly, some of the BusyBox startup look attractive too -- one script to rule them all :)

Default versus monopoly - FREEdom software (2, Interesting)

Anonymous Coward | about 9 months ago | (#45261305)

Debian should stay true to its core principles. The user should be able - by installing a package - to choose the init system she wants.
There is no one true mail server on Debian. You can choose to run zsh as a shell instead of bash. There should never be only one supported init system.
Distributions don't choose, users do. Oh and technical committees are there to find solutions to make that work, not to complain about how difficult that is.

Re:Default versus monopoly - FREEdom software (0)

Anonymous Coward | about 9 months ago | (#45261509)

You can choose to run zsh as a shell instead of bash.

You can choose that as your user shell but you can't switch the entire system to a different shell because many of the system scripts are shell specific.

Re:Default versus monopoly - FREEdom software (0)

Anonymous Coward | about 9 months ago | (#45261699)

You can choose that as your user shell but you can't switch the entire system to a different shell because many of the system scripts are shell specific.

You are correct; people on /. know their stuff. But may I kindly point out there was an ongoing effort to make sure scripts are able to run under (d)ash? This is done so that hopefully they would function for any posix compliant shell and at least under ksh, zsh or bash.
And to quote more tradition: there was no ban by the kernel developers against the patches to the kernel which helped it build under an alternative compiler.

Hoping for systemd (5, Informative)

devent (1627873) | about 9 months ago | (#45261493)

I hope for systemd; I know it from Fedora. And in my opinion upstart is some kind of mess; it's a mixture of bash script and their own added syntax. It kind of feels like Microsoft's extensions for C++. I'm also a fan of declarative configuration like systemd is. After 5 minutes reading the manual of systemd I could write my own service for pdnsd.

[Unit]
Description=PDNSD
ConditionPathIsMountPoint=/mnt/read
After=NetworkManager.service

[Service]
Type=forking
ExecStart=/usr/local/sbin/pdnsd --daemon -p /var/run/pdnsd.pid
PIDFile=/var/run/pdnsd.pid

[Install]
WantedBy=multi-user.target

# systemctl status pdnsd
pdnsd.service - PDNSD
      Loaded: loaded (/usr/lib/systemd/user/pdnsd.service)
      Active: active (running) since Mon 2013-10-28 18:46:23 CET; 1h 14min ago
    Process: 1585 ExecStart=/usr/local/sbin/pdnsd --daemon -p /var/run/pdnsd.pid (code=exited, status=0/SUCCESS)
  Main PID: 1587 (pdnsd)
      CGroup: name=systemd:/system/pdnsd.service
                      1587 /usr/local/sbin/pdnsd --daemon -p /var/run/pdnsd.pid

Oct 28 18:46:23 vostrotitan.localdomain systemd[1]: Starting PDNSD...
Oct 28 18:46:23 vostrotitan.localdomain pdnsd[1587]: pdnsd-1.2.9a-par starting.
Oct 28 18:46:23 vostrotitan.localdomain systemd[1]: Started PDNSD.

Lennart Poettering explains why Upstartd is bad (2, Informative)

Anonymous Coward | about 9 months ago | (#45261599)

https://plus.google.com/115547683951727699051/posts/8RmiAQsW9qf

Integrate Mozilla Circus with whatever. Move on! (1)

Anonymous Coward | about 9 months ago | (#45261677)

Mozilla Circus [readthedocs.org] renders the system-level init mechanism almost moot. Besides, things like systemd and udev aggressively couple system-level facilities with the GUI user-space system (via DBUS messaging, etc.). These designs are about as anti-Linux/UNIX [pappp.net] as it could possibly get. From hard experience, I can attest to the pain down the anti-Linux path ...
Load More Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Create a Slashdot Account

Loading...