Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×

Comment Re:Simple set of pipelined utilties! (Score 1) 385

They think it's about limiting yourself to pipelines, but it's not. It's about writing simple robust programs that interact through a common, relatively high level interface, such as a pipeline. But that interface doesn't have to be a pipeline. It could be HTTP Requests and Responses.

It's an ASCII pipeline any time that it's feasibly and meaningfully human-comprehensible; that is part of the Unix way. Any other time the format varies broadly, and has been all sorts of things including BDB — which has all the same problems as binary log formats ala systemd. Since the user-perceivable output of javascript in a browser is XML, you reasonably could use STDIO in a very normally Unix-y way.

Comment Re:Yes, pipelined utilities, like the logs (Score 1) 385

Sometimes new stuff is actually much better than then old stuff. I was skeptical about binary logs until I actually tried it. The advantages of a indexed journal is overwhelmingly positive. "journalctl" is an extremely powerful logfilter exactly because of the indexed and structured logs.

None of which requires that logging be moved into PID 1. Instead, all you need is the ability to support a new log format in some syslogd. Unless you were some kind of moron, you'd design the new program to be able to log to both text and binary formats at the same time so that you could enjoy the benefits of both formats. Systemd may or may not do this, I don't care; there's no reason whatsoever why logging should not be a separate daemon.

Comment Re:Simple set of pipelined utilties! (Score 1) 385

If PID2 is responsible for critical features like eg. cgroups which affects all running processes, including PID1, then it won't make a difference.

cgroups is a kernel feature. It doesn't stop working because whatever process you're using for cgroup management dies. The process comes back, reads the state from /sys/fs/cgroup, and resumes doing whatever kind of management you wanted. If PID2 only manages cgroups, and cgroups' state is maintained in the kernel (which is is) then it doesn't particularly matter if the daemon craters, so long as you can restart it. But absent many requests for cgroup management, it may not actually even need to be long-running.

The only reason that we even need a daemon for cgroup management is that we're making inadequate use of capabilities. When a user (or script) runs a tool which creates cgroups via a mount, they should not need to use any tool for privilege elevation because they should have the right to manipulate one or more cgroups in one or more approved ways — which can consist of a couple of lines in a file which is sourced by init scripts. In systems with init scripts of any complexity, all of which source external files, no changes need appear in them whatsoever.

Comment Re:Simple set of pipelined utilties! (Score 1) 385

Even with a[n old, slow] HDD it only takes about a minute to boot my Ubuntu PC, and that's with a stupid-long POST to deal with the second ATA controller's stupid-long POST added to the base machine's stupid-long POST.

With that said, I am not against improvements to boot speed. I simply question the need for a replacement for PID 1.

Comment Re:well, duh? (Score 1) 353

If you define "has" as "has within a mile," then you're absolutely correct. If you define it as "has passing the home," then definitely not.

I live on a paved road and I'm several miles (at least three) away from fiber. Literally the only company with fiber into my county is AT&T, and as you likely know, they are bastards of the first degree.

Comment Re:10Mbps is still slow (Score 1) 353

Minimum standard for what? 2014? Per individual? Per family? Per household? Per block? Per neighborhood?

Please try to keep up.

1. Standards change. 10Mbps might be an acceptable minimum today, but it certainly won't be in 2024, let alone 2054.

1. Standards change.

The devil is in the details.

So is the wankery of your comment.

Comment Re:Are you even aware of SystemD works? (Score 0) 385

cgroups existed before systemd.

the cgroups functionnality existed in the kernel but wasn't really used that much before. [...] whereas current /etc/init.d/apache can't without fumbling of shell scripts.

Yes, my argument was that altering the init scripts would have solved most of what systemd solved. Thanks for confirming that.

each script end up fucking things up in its own original and different way.

The scripts are unified by maintainers. I've already made the proposal that you could actually interpret unit files as init scripts, with the right parser which basically stripped out the sections in brackets, dumped the rest of the content of the file into a series of variables by sourcing it, and then running a unified init script. This would work just fine for any daemons which are long-running, without any complex work. All you'd need is a hashbang at the top of the unit file.

proper handling of dependencies at runtime

Already handled by several init systems.

None of which are the original sysvinit.

Congratulations, you just hammered home the point that you don't understand Unix, while simultaneously proving that you don't understand sysvinit. Using fancy scripts with the original sysvinit is still using the original sysvinit. You are witnessing the awesome power of the Unix philosophy. Because sysvinit is small, simple, and completely modular, the scripts could be extended to provide functionality which sysvinit didn't try to claim for itself. Instead of moving more functionality into PID1, the functionality can be implemented at the script level.

Or cron if it's time-based activation. Or udev if it's hardware based activation. Etc.
Why do we need 83 different way to start some code ?!
Wasn't the whole point of Unix philosophy having one piece of software which concentrates into doing one thing and doing it well?

You failed to understand the Unix way. It's not to have one piece of software. That's the systemd way. It's to have many pieces of interoperable software which can be combined to perform complex tasks, and reconfigured to perform other complex tasks. So we have cron and at (which are often merged) and we have udev and inetd. And each of these things does one simple thing. It's not unusual to want to start processes in multiple ways, that is in fact common to all modern operating systems. You can start them from the command line, you can schedule them, you can start them from the GUI. Is that a problem for you?

Before, you'd have the same concept spread into a dozen of different systems, each only doing part of that functionnality.

And you still do. Only now, they're all managed by one process which, if it craters, will not just cause them all to fail, but which will cause a panic. Great idea!

if you don't like it, don't use it.

That's getting harder to do as people depend on it. I may finally have to go back to BSD.

Comment Re:Simple set of pipelined utilties! (Score 1) 385

It uses kernel namespaces and capabilities to protect the system; this is on top of SELinux etc.

Well then, I sit corrected on this one point. And finally, we have found something for systemd to do. I propose that we stop using it as init, strip out all the shit better done with a script, and use just that part. Perhaps it can be reworked into a replacement for daemontools. That would make a lot more sense than eating up all these daemons which work fine on their own.

Comment Re:More importantly (Score 1) 393

Sure, the regenerative braking probably reduces the wear on the brakes.

Point being, brake pads and rotors are normal replacement items. You should expect to replace them more than once in 12 years on a normal vehicle. I can wear down a set of pads in a weekend at the track. It depends a lot on how you drive.

I will agree that on the Tesla I test drove, I barely touched the brake pedal. The regen was turned up to maximum and that does a good job of slowing the car down if you are paying attention.

BMWs also tend to have static negative rear camber, and are RWD like the Tesla. But the wheels are smaller dia, which means the tires are more affordable.

I think over 12 years you will spend similar or more on Tesla model S brake and tire components as compared to an average BMW. I look forward to hearing from Model S owners 11 years from now...

Comment Re:More importantly (Score 3, Informative) 393

Heck. At 12-years on a BMW, there are any number of wearbale parts that replacement may exceed car value (tires, brakes (you have to replace the rotors with the pads on a BMW), etc).

Not unless the car has been damaged.

BMWs have very high resale value. 12 year old BMWs are currently 2002 models. Very few model year 2002 BMWs can be found for under $5000 in _any_ condition.

In fact, if you do a quick search on autotrader.com for model year 2002 BMWs, you'll see that there are 1200 listings with an average asking price of $9700

I happen to be quite familiar with the running costs of old BMWs. The drive train of a BMW will easily last 12 years without substantial work. The exceptions would be the plastic cooling system components, and, on some models, premature VANOS failure. Sadly, on the newer N54 engines the HPFP is a disaster, but that is not the majority of used BMWs, and certainly not MY2002 cars.

Even paying dealer prices, to replace brakes, suspension rubber, tires, cooling system, etc, will not cost you $9000.

The brake rotors and pads are a few hundred dollars per corner, and you could replace them yourself in your own garage with a jack and hand tools.

FWIW, I really like Tesla. I look forward to a time when buying one of their cars makes sense for me.

However, your consideration of the repair costs of a 12 year old BMW is way off. Thus, my response.

Also, Brakes and Tires are functionally identical between a BMW and a Tesla, and, on the Model S, the Tesla replacement parts are probably more expensive (I haven't priced them to be certain), because the Tesla has very large low profile tires and very large brakes, especially compared to the "average" BMW (instead of their X5 trucks with big wheels, or their high performance M models with larger brakes)

So comparing a 12 year old BMW and a 12 year old Tesla, the wear and maintenance parts differences are the Tesla's battery vs. the BMW's conventional drivetrain. The latter requires coolant flushes, oil changes, transmission fluid changes, air filters, etc.

The one maintenance surprise that I learned about when chatting with a Tesla service technician was that on the model S, the A/C refrigerant is serviced regularly, because it is an integral component of the battery cooling system.

Comment Re:Simple set of pipelined utilties! (Score 2, Informative) 385

Xorg, which on desktop is as critical as init to keep running, is not really simple.

Never go full retard. X is not even remotely as important as init. For one thing, if X dies, who will restart it? And do we really want computers that explode when the GUI dies? I, for one, would like network services to terminate gracefully. The whole idea of TCP/IP networks, the dominant network used with Unix, is peer-to-peer. I may well run both services and clients on my machine. If X dies, the clients may die (if they're not text and running in screen) but the servers won't.

kernel, which is also as critical as init to keep running, and it is *much* *much* more complex than systemd. systemd is not at the "bottom layer" of the system, there's the whole of kernel underneath still.

So the argument is that since the kernel is complex, we should add more complexity, or that more complexity won't matter? That's an ignorant, illogical argument.

And one common myth is that systemd has these so many features and systemd is pid 1 therefore pid 1 is this huge bloated monster that does udev, logging and NTP, right? Wrong; actually, just the core bits of systemd run in pid 1 and the rest is compartmentalized in a bunch of separate daemon processes.

Systemd still has to be more complicated so that it knows how to run these other processes, which wasn't even necessary. init was never meant to manage daemons. daemons were meant to manage themselves, or be run from inetd. If you want more complexity, inetd is the place to add it. And for handling daemons which don't adequately manage themselves, there's daemontools. There was simply no need whatsoever for this to happen.

So, this "increased complexity" issue is not really as bad as it sounds, realistically.

It is bad, because PID1 is now responsible for a bunch of things which could have existed in any other daemon. And rather than roll the things which actually make sense in together, everything is getting rolled together. So now not only do we depend on a complex kernel, but we depend on a needlessly complex init system. There was no good reason to put all of this stuff into the same daemon.

Comment Re:Simple set of pipelined utilties! (Score 3, Informative) 385

You can't seriously claim that systemd provides nothing that can't be done by script based init systems, shell scripts and existing daemons

Yes, yes I can. And I did.

logind is just one example

Does nothing a script can't do

But it would be an interesting project to make a Linux SysVinit distro that tried get feature parity with systemd, so that daemons could utilize the kernel "namespaces" and "capabilities"

Systemd doesn't even fucking use capabilities, just cgroups. Which we could use before systemd. Systemd manages permissions in lieu of using capabilities, e.g. apparmor or selinux.

Isn't that argument just trying to make a virtue out of the fact, that SysVinit and the like, are totally crude and primitive init systems that are unable to anything much of interest?

No. That is the virtue. They are simple. Simplicity is still a virtue.

All the analyses I have seen shows that moving crucial processes into PID2, just makes everything more fragile and opens up security holes.

Making PID1 more complex makes everything more fragile and opens up security holes.

I think that there are actually very good design reasons for why systemd is designed like it is.

NIH

It only runs one process as PID1, the daemon "systemd" which is rather small. This daemon however, is capable of "talking" with with several other processes, which gives it many advantages,

This is making init do stuff it doesn't need to do, which makes it more complex, which makes it more fragile. You should not need a detailed explanation to understand why this is a bad thing.

Comment Re:Are you even aware of SystemD works? (Score 5, Informative) 385

You don't seem to understand how SystemD actually works. The PID 1 is relatively simple -- it uses all sorts of separate (i.e. non-PID 1) helper processes to do all the heavy and complicated lifting.

Lifting which should not be done by PID 1. And PID 1 has to be more complex than it should be just to handle those external programs.

SystemD currently does a fuckton of stuff no other currently usable init system on Linux does.

It does a lot of stuff the init system shouldn't do.

(Reliable process supervision which cannot be evaded,

cgroups existed before systemd.

sane handling of process stdout/stderr

Up to the init script.

proper handling of dependencies at runtime

Already handled by several init systems.

socket activation

We call it inetd.

I don't particularly care which init system my system runs, but I want those features and currently only SystemD can deliver them.

That is ignorance at best, or perhaps a lie.

Please stop spreading FUD about things you know next to nothing about.

You have no idea about anything, that didn't stop you. I see why you didn't log in.

Slashdot Top Deals

Disclaimer: "These opinions are my own, though for a small fee they be yours too." -- Dave Haynie

Working...