Live data from Hacker News

Devuan – Debian Without Systemd

devuan.org

171–180 of 221 posts

Re: Devuan – Debian Without Systemd

#171
post #131

Earlier quoted context omitted.

which current alternatives have you tried?

I've looked at OpenRC, RUnit and S6. I haven't recently run any of them "in production", however. Personally, I am a strong believer that declaring the desired state is a lot easier to get right than actually writing the code to get there. Beyond that, I'm not saying any of these are bad at being what they are, systemd just has more features, some of which I really like. Two examples I'm actively using currently are…

Runit (not RUnit) seems pretty cool.

It uses a folder with a subfolder for every service. Each subfolder contains a script called run. The system runs the run script. If it exits, it waits two seconds and runs it again. Repeatedly. It's very worse–is–better.

There are commands to control the services and check their status. For example, if a file called down exists next to the run script, it won't run it. This is how you disable a service.

It checks for service folders being created and deleted. New folders are started, and deleted ones are stopped cleanly. They can also be symlinks, so you don't need to worry about deleting a running service folder and you can remove a service from init without erasing the scripts you wrote.

The whole system is useful in many situations and not only as pid 1.

Maybe one day I'll invent a runit–based distribution.

Re: Devuan – Debian Without Systemd

#172

Earlier quoted context omitted.

With everything depending on systemd interfaces, its an exhausting uphill battle to run anything desktop-like without systemd. Want to run xterm? Requires Xorg. rootless Xorg requires udev, udev turned into a systemd component. want to run xterm without systemd? good luck, you are now the maintainer of your own LFS.

> With everything depending on systemd interfaces, its an exhausting uphill battle to run anything desktop-like without systemd. Yes, but this is hardly a unique systemd/Linux problem. I despise TypeScript for various reasons, always preferred vanilla JavaScript over TypeScript. So if I'm met with "Huh, this library is using TypeScript, am I ready to deal with that", I make the choice to not depend on that, even thou…

Languages are confined. I don't speak Rust — yet — so when I want to modify some software that is written in Rust that is a disappointment. However, the effect of software being written in Rust is limited to that software and its libraries. It doesn't infect your system the way systemd does.

Re: Devuan – Debian Without Systemd

#173

Earlier quoted context omitted.

With everything depending on systemd interfaces, its an exhausting uphill battle to run anything desktop-like without systemd. Want to run xterm? Requires Xorg. rootless Xorg requires udev, udev turned into a systemd component. want to run xterm without systemd? good luck, you are now the maintainer of your own LFS.

Yeah, it’s miserable; xterm shouldn’t require Xorg. It should be agnostic to display system and not force the X monoculture on everyone. Classic Microsoft gestapo tactics: shoehorn Xorg dependencies into tons of unrelated apps and thus curtail user freedom to run xterm with a WinForms or Wayland display system. It’s appalling.

xterm is literally x terminal but it's not systemd terminal

Re: Devuan – Debian Without Systemd

#174
post #79

Earlier quoted context omitted.

You could do the same in a less invasive manner with daemontools like forever. Not only on Linux, but on BSD as well. But people need a corporate and worse knockoff shoved down their throats, because DJ Bernstein is independent and we cannot have independent people in software.

I wrote a lot of daemontools wrappers and non-shell forking daemons. Doing this is really, really error prone and fragile. Why the hell should I have to learn about double forking and PIDfe validation (and process groups and pty-or-not and all those other esoterica that daemontools still requires you to engage with if you want to do something outlandish like “run a program with a graphical component at boot”) just to…

You shouldn't. You should let it run in the foreground and let the system manager switch to the background before running it, if it wants to. This has many advantages, mostly simplicity.

I am not familiar with daemontools but I think it includes something similar to runit, which likes your processes to run in the foreground.

Re: Devuan – Debian Without Systemd

#175
post #125

Earlier quoted context omitted.

For me, I guess several reasons: * Log files aren't where I expect them. I can't just tail the right log file, I have to figure out a load of options to journalctl instead. Its defaults are annoyingly bad and I usually end up having to type long things to limit the range to something useful. * The journal grows massively and is unbounded by default. Many times I set up a machine, and then it runs out of disk space. I…

> The journal grows massively and is unbounded by default. Wrong. By default, the journals aren’t even saved to disk. And if you do configure them to be saved to disk, they are limited by default to 10% of the file system size, and at the most 4GiB. > It took me about 30 minutes of googling Just read the manual. Start with systemd.directives(7) and search for what you want, which will direct you to the correct manual…

> Wrong. By default, the journals aren’t even saved to disk. And if you do configure them to be saved to disk, they are limited by default to 10% of the file system size, and at the most 4GiB.

I mean this probably depends on your distro. On Debian, it very much is saved to disk by default. And plenty of my 5GB VMs have in the past filled to 100% such that everything fails with write errors because the log files have consumed about 3GB.

> Just read the manual. Start with systemd.directives(7) and search for what you want, which will direct you to the correct manual page for that setting.

Again, fine if you know of the existence of that man page (I didn't) and know what option you're even looking for. Systemd always calls it journal as far as I knew, and doesn't use the syslog, so I didn't even think to google for syslog to change what I wanted.

> The world is changing. Mounts aren’t static anymore; you must treat a mount just as a running service

Thing is, it's all very well to say that, but it's downright dangerous to change the expectations that have held true for 30+ years without even a warning somewhere - e.g. running unmount popping warning "hey, we know you just asked for this to be unmounted, but we might just randomly remount it whenever because whatever you are doing is unimportant".

And this points to the root of the issue - UNIX has been following the UNIX way for over 3 decades. Suddenly, everything is changing, without any indication of things being different until stuff just doesn't work. This is exactly why people don't like systemd.

> > I had to learn the new systemd way of doing it. > This, I strongly suspect, is your real problem.

Absolutely.

I've got a zillion other things to do, without spending hours every time I upgrade to discover all the new ways systemd has come up with to ruin my life.

When I am forced to interact with systemd, it always slows me down unnecessarily, because the only reason I'm looking at it at all is because it's because something has changed and it's causing me pain.

Re: Devuan – Debian Without Systemd

#176
post #110

I don't care: I can administer with relatively high confidence any Redhat- or Debian-derivate. Thanks to systems. Most issues regarding systemd I encountered were due to a halfway adoption (Debian). Some things like timers are a bit more cumbersome than "the old way", but I wouldn't want to miss the added robustness. Most things systemd implements lead to _less_ issues. And writing a systemd unit is pretty easy, cont…

Only if you have no issue with the bloat of additional binary parsing of essentially text logs.

Text parsing isn't any better. There are many things wrong with systemd but this isn't a useful thing to get angry about.

Re: Devuan – Debian Without Systemd

#177
post #59
post #27

Love/hate systemd as I might, it's been rock solid everywhere I've used it, and I've used it heavily. It has it's quirks, as does the init-scripts that came before, and launchd on OSX (not sure what the modern equivalent is for MacOS). However, the systemd journal raw format is binary data and would much rather a plain text log. All things being equal I'd rather deal with human readable files.

Personally I would much rather they had simply used an existing database file format. For example, sqlite3 which is robust and already present in the default installation of most Linux distributions. Querying system logs with SQL would be cool and make things a bit easier unlike the sd_journal API with it's strange/bizarre quirks.

You could write this. But you see the problem with systemd — because it integrates the journal with the init manager, it's hard to replace just one or the other.

Re: Devuan – Debian Without Systemd

#178
post #4

It seems though not having systemd in it would be against "init freedom": https://www.devuan.org/os/init-freedom . Or is there some particular criteria an init system needs to satisfy to be included, that systemd doesn't satisfy but the others do?

A systemd distro tends to be locked to systemd, with many pieces of software requiring systemd to be running. An init–freedom distro avoids such dependencies. Presumably, you can still install systemd if you really want to.

Re: Devuan – Debian Without Systemd

#179
post #5

Earlier quoted context omitted.

Yep, no "unnecessary entanglements" evidently (their words, not mine).

> Unnecessary entanglements The problems with systemd are: * that once it was adopted, every single package started requiring it * which meant that packages that previously could run everywhere, now could only run on systemd-based systems * binary logs - a solution that solved nothing but created problems * which locked out any system that wasn't linux * which locked out any linux system that didn't want to use it *…

I don't like unit files very much. Instead of these variables that are specific to systems, and are ignored if you use a too old version of systemd, thus running your ftp server as root, you can prepend to the command line: sudo -u nobody ftpd. This composes much better and you can use the same commands that work in the shell.

Re: Devuan – Debian Without Systemd

#180

Earlier quoted context omitted.

If you build remote attestation into your product, corporate entities will require it. Just look at Android - What phones today give you unlimited root? If you have rooted, what applications have you broken? If you root, what e-fuses have you blown in your CPU meaning it can never be un-rooted? Android, at the start, was open and freely modified - not so much anymore. Companies like Google can and have cut off access…

I think phones are a completely different beast though (and already a lost cause), PCs seems a lot more resilient to that sort of lock down. But on the other hand, you might be right, you never know how the future looks. But personally I'll wait until there is at least some signal that it's moving in that direction, before I start prepping for it to actually happening.

They are a different beast because of the culture surrounding them — nothing technologically different. Lennart wants to bring that same culture to desktops.
Post reply on HN