Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I hate systemd with a passion, but I won't fiddle with Debian to get rid of it.

I would love if a major distro emerges which works with human-readable scripts and logs and stays away from any "binary" formats for system configuration and logging.



> I would love if a major distro emerges

Good news for you! You have slackware [0], void [1] and alpine [3], which are widely-used non-systemd distributions with sane scripts. They are well-maintained rolling releases which allow you to use much newer versions of the kernel and packages than your typical ubuntu/debian installs. I don't particularly care about systemd, but these distros are great by themselves!

[0] http://www.slackware.com/getslack/

[1] https://voidlinux.org/

[2] https://www.alpinelinux.org/


Note that only Slackware testing is rolling-release. Normal Slackware is about as far from rolling release as you can get.

I do highly recommend it though! Slackware's init scripts were always a pleasure to use, part of why I was anti-systemd for a long time.


Of those, I think only Void is fully rolling release; Slackware, as you note, is very much not rolling, and Alpine has regular releases and you'd have to go to the "edge" version to get rolling releases.


I've just started playing with Void because I want to use runit on both my dev machines (Linux) and servers (FreeBSD). I've really been liking it a lot, although the batteries-not-included approach did not phase me since I've been on Arch for awhile. Another thing that prompted the switch was annoying intermittent failures of systemd-resolved.


It will always be a fringe effort since the vast majority of the people doing the actual work are fine with it. It's been what, ten years by now? If instead of complaining all that time systemd haters cooperated and put in the work, they could have produced something (supposedly) much better by now.

Alpine is probably your best bet, it's pretty widely used. All of the others are a minority of a minority of a minority.


As per other sibling comments, there are already many efforts underway. Void Linux in particular, which I've used, has a surprising number of packages.


Unfortunately alpine ships with a lot of init scripts that don't work. To make it worse it ships with init scripts that could never have worked. I don't know if discovering this should make me stay away from it as a distro or send patches (which is not trivial. I tried a few times). I do like < 3 minutes full distro version upgrades though.


What's an example of an init script that could never have worked?


dcc (last year)


Obviously it’s a different OS and possibly isn’t relevant to you but I’ve found solace in OpenBSD (and other BSDs) in the search of “simplicity” of “the old days”.


This is a vastly under-rated opinion. I found FreeBSD to be surprisingly superior in my use-cases to Linux as a server OS. From stability, sensible defaults, config files where-I-can-find-them, and more.

My only real headache with FreeBSD has been SAMBA. It seems that every major upgrade bjorked the SAMBA user/account DB, and would cause much wailing and gnashing of teeth. So I learned to deal with that.

I now work for a K8s shop, and find myself migrating back into the linux/systemd fold. There's frustration with systemd'isms, and I truly despise the binary logs; but I'm learning.


I tried FreeBSD a few times, but after ~4 hours of reading docs, searching the forums etc, I was not able to create a fully featured systemd like service. With stop, start, restart and auto restart support. something was always missing or not working correctly.

But what I found was lots of hate and stupid talkin against systemd, that they all hate it and that FreeBSD will "never have this $hit"

I thought to myself, yeah just hate systemd but not able to produce an easy to use and full fledged service manager. The arrogance was staggering, and I stopped my use of freebsd since then, in almost all aspects linux is superior anyhow.

Such a fully featured systemd service is easily done in 6 - 8 lines of configuration.


This is the direction I'm going. I've already begun the process of converting all of my machines away from Linux to BSD.


What are your feeling about the philosophy behind it, i.e. GPL vs BSD license?


I'm actually neutral on that. Both licenses are fine for my purposes, and I have no real philosophical issues with either of them.


>major distro emerges have you tried gentoo? Really fits your requirement of 'emerges' lol

They also have a pretty good page on their wiki that explains the current popular alternative init systems to systemd(0), even ones gentoo doesn't support.

[0] https://wiki.gentoo.org/wiki/Comparison_of_init_systems


I cut my teeth on OpenRC and I will die with OpenRC.

Actually, I don't really care about the init system, as far as I can tell. When I started using Gentoo, the default was OpenRC, so that is all I have ever known.

I have not the faintest idea what benefit I would get from using Systemd compared to OpenRC, so I have never tried changing. I have used Debian with Systemd, and I can't particularly tell the difference from an everyday-user perspective. I used Ubuntu a few times when I think it had upstart maybe? Again, no idea what the difference is.

All I know is that there are things I can do with the rest of Gentoo that I have not easily been able to do with other distros, so that is where I stay.

Anyway, for anyone who hates systemd for whatever reason, Gentoo is definitely an alternative. It is a little weird to me that any distro would have a hard dependency on a particular init system, when it is clearly not necessary. More work to be compatible with multiple, I guess? At the same time, I don't really understand the hate. Just ... use something else?


How is systemd a binary format for configuration?

I get the silliness of journald not being clear text, you can configure it to be, but it's not the default, which is really weird. If you have the scale where you need binary logs for performance, then you also have remote log hosts. The remote log hosts will frequently also store logs in a binary format, like logstash, Humio, Splunk and what have you, but they are shipped a text, so the binary is just an unnecessary extra step. Sure you can use journald as a log collector, but I've never seen anyone do that... Kinda cool, but not frequently used.

Systemd unit files though, those are much much better than any other init system I've ever used. They are easy to write, easy to understand and just overall nice to work with. Timers are awesome as well, same easy syntax as startup scripts, easy to test, easy to debug.


I'm neutral on systemd, just give me something that works and I'll be ok with it. Anyway, if you're after a distro that doesn't use systemd and is a joy to use and tinker with, take a look at Alpine [0]. It is a lot more compact and faster compared to other distros for using Musl instead of Glibc, which means you may find software that has not been ported yet, however so far I've installed it also on mini PCs and laptops with great results.

0: https://alpinelinux.org/


Amen! I would happily contribute both time and funds to such an effort.



> stays away from any "binary" formats

isn't a text file also binary at the end of the day?


Text files are generally more resistant to corruption, especially when parsed by a human, and more repairable if they do get corruption. (A one byte error probably won't matter in a text file; it could wreck parsing rigid structure.)

They more easily work with a lot of un-specialized tools, or tools specialized for text, which is a very general problem with very transferable learning.

Perhaps better to distinguish between "structured" and "unstructured" or "machine optimized" vs "human optimized".

A different beast at the end of the day, whatever name or distinction you use.


If you’re being pedantic, yes, but it’s a format that can be used by any number of tools that aren’t specific to systemd.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: