4 ms·
I hate how he talks about knee-jerk reactions to change. because I don't think that's what's going on here. I remember I first saw systemd on a release of opens
by djsumdog 8y ago
I hate how he talks about knee-jerk reactions to change. because I don't think that's what's going on here. I remember I first saw systemd on a release of opensuse. I didn't think anything of it at first, except that I didn't really like the command line interface (systemctl) and I found the flags and options cumbersome. I often see new software in new releases (including the old HAL/DBUS layer) and didn't have the same reactions (although HAL had a lot of issues and was later removed or merged into dbus).
I've seen the BSD talk on this and I agree, having a system layer is helpful. It'd be nice if it was plugable, NetworkManager (or others that have some standard messages you can send/get via dbus), consolekit OR logind, etc.
systemd does make it nice that I only have to write startup/shutdown scripts once for each distro, but I'm not happy with the layout of target files, the way mounts are handled, some of the weird race conditions I've found between systemd mount targets and fstab, etc.
systemd is modular, but the modules are still all part of the whole and are not easily replaceable. The same can be said when Docker went to a modeler refactor, but there are alternative implementations of the entire docker engine. Every attempt to create alternative implementations of systemd have eventually gone unmaintained because systemd keeps getting more and more complex and engulfing more systems.
If it wasn't for distros like Void, Gentoo, Alpine, Slackware, et. al, we'd no longer have a choice at all. There would be some things that simply couldn't be deployed on embedded systems because all of the dbus shims just wouldn't exist.
It's not that people are opposed to change, it's that there are legit concerns about some of the ways systemd works and is implemented, and the way it's been ham-fisted as a political move in a lot of ways.
Honestly, I don't think it will matter in a few years. I think the way things are going, eventually all services will be hosted via docker containers and it will be much easier to make Linux distros that have a tiny init layer that just launches a docker daemon and services. RacherOS already does this, with the init process being a container, which can be uses to start up shell environment containers and other service containers.
- lsc 8y ago>It's not that people are opposed to change, it's that there are legit concerns about some of the ways systemd works and is implemented, and the way it's been ham-fisted as a political move in a lot of ways. I personally think the industry needs a lot more resistance to change when it comes to interfaces and other things humans have to understand. I mean, I'm not talking about systemd in particular; I'm talking about in general about how interfaces change over time and people don't seem to take into account the cognitive costs of that change. Sure, ss is better than netstat and IP is better than ifconfig... but how much of that 'better' could you have done in a way that didn't toss away the historical knowledge so many people have of those tools? And really, sysadmin tools are the least of it; I mean, they are operated by professionals, so if you want to pay for retraining (or pay the costs associated with there being fewer of us) People change customer facing interfaces to no benefit all the time, forcing people who are trying to do other things to put effort into re-learning their interface. I mean, my point is that interface changes are expensive, and should not be undertaken without a really good argument that they bring more benefit than the cost of retraining.
- pas 8y agoFirst we need sane (secure, semantic, programmatic) interfaces that slowly become standards. netstat? /proc files? ss? parsing text? wtf? I mean, sure why not, but at least don't call them interfaces. they are userland apps people like to script, because they are lazy to use libnetlink (or libwhatever thay uses the right kernel interface, if it exists at all). That said, the recent gmail ui change made me reconsider Thunderbird again. And android looks different every year. sometimes it's better, sometimes it's worse. iptables, nftables. http1, http2 (and now 3 over UDP). change is the only constant.
- lsc 8y agoYou need to figure out what is wrong with a machine before you write a program to fix it; this is why it's important to be able to log in to something broken and nose around. Text processing is not harder than figuring out what library to use this month. These things change a lot... but they don't have to, and running things on computers would be easier/cheaper if they didn't.
- geggam 8y agoNot everything runs well in a container. In fact with the lack of network understanding in most container implementations I would say there are many issues. Additionally this concept of stateless container design and state kept in containers there are opposing implementations
- etaerc 8y agodocker is currently killed by the kubernetes community btw. It's a slow death in some regards (1+ years) but quick in regards to "it will replace anything in 10 years".
- JdeBP 8y ago> systemd is modular, but the modules are still all part of the whole The idea that you are searching for is coupling. Modular systems should aim to have low coupling and high cohesion.
- e12e 8y agoYou know, there's so many "big" wrong decisions with systemd design and assumptions (in particular, there seems to an unhealthy focus on graphical desktops rather than headless multi-user servers, as this default of sigkill all the things on ssh connection drop default is but one example. And the monolithic design (DNS in the init?)). But that said, does anyone know where on earth they came up with the command line ux? Like the names of the commands , and the parameters? I mean, they are like an April fool's joke...