Hacker News new | ask | show | jobs
by strictfp 1488 days ago
It brings Linux closer to Windows in philosophy. Systemd is building a coherent large codebase (albeit modular) that solves all the problems, as opposed to Linux userspaces old philosophy of having a collection of "expert" tools, where each tool or project did one thing, one thing only, and did it really well. Then the system was a collection of such expert tools.

The collection of expert tools naturally aren't as well-integrated with each other, so on a system level the solution might look a bit spotty. But every function is thought through and works really well. Plus, each tool is useful on its own, which makes the system very configurable, introspectable, and hackable.

The "one big codebase that solves all problems" approach might appear more stable all-in-all, but it's a fundamentally different approach where you no longer have a bunch of expert tools, but rather a large collection of mediocre software components who's only real purpose is to be integrated with each other.

2 comments

That "do one thing well" ship sailed decades ago, when ls added sorting. I don't recall the date, but I believe ls has had sorting for more years than it hadn't, possibly a lot more.

ls is not Unixy, find is not Unixy, wget/curl are not Unixy, the list is infinite.

I thought it was "cat -v" (https://cat-v.org/) ;P

Anyways, those breakages aren't nearly as big of a deviation from the modular design as something like systemd. I'm sorry, but that comparison just cannot be made.

He he :-)

My point is worse than you think.

I'm denying the actual utility of the "do one thing and do it well" in practice. It's an awesome soundbite and you can't really argue with it (who would want tools that do "it" badly?), but it practice it wasn't ever respected.

So why treat it like a sacred icon?

Be practical instead, ergo systemd.

i dunno-- i grew up playing around with every distro of linux and unix i could get my hands on, and my first was Slackware/LILO. a lot of the so-called "expert" tools _work_ in some fashion, but could definitely use a UI/UX improvement.

all of the binutils and basic stuff is pretty antiquated and has an old-school and specific perspective and lot of the modern work we do as developers and operators has use-cases which fall behind due to such a rigid way of thinking.

i think systemd is great, and maybe it's overkill for certain applications, but there are also smaller containers and distros one can use for this. i'm all for modernising linux and the tooling around it, it's sorely needed.

I'm not opposed to the idea of a more intelligent init system, but systemd is doing waaaay to much. One example; it messed up hostname resolution on my lan by blackholing DNS traffic for single-name queries. And you cannot turn their dns component off.

Upstart would have been a better alternative.

> And you cannot turn their dns component off.

Of course you can turn it off. Fedora didn't even use resolved until 2 or 3 releases ago and they were one of the first major (non rolling) distro to adopt systemd.

Maybe nowadays, but when it came to Ubuntu back in the day it was enabled by default and couldn't be turned off because it was being used early in the boot cycle when other resolvers hadn't booted yet. Talk about bad design decisions...
Wouldn't that be Ubuntu's fault?

Speaking of which, there are some other things that Ubuntu does that get my blood pressure up, such as not having a reliable way to do truly unattended upgrades.