SystemD is blamed for long boot times and being heavy and bloated on resources. I tried OpenRC and Runit on real hardware (Ryzen 5000-series laptop) for week each and saw only 1 second faster boot time.
I’m old enough to remember plymouth.service (graphical image) being the most slowest service on boot in Ubuntu 16.04 and 18.04. But I don’t see that as an issue anymore. I don’t have a graphical systemD boot on my Arch but I installed Fedora Sericea and it actually boots faster than my Arch despite the plymouth (or whatever they call it nowadays).
My 2 questions:
- Is the current SystemD rant derived from years ago (while they’ve improved a lot)?
- Should Linux community rant about bigger problems such as Wayland related things not ready for current needs of normies?
The Systemd init system and its consequences have been a disaster for the human race. It has greatly increased the life-expectancy of those of us who live in “just werks” distros, but it has destabilized GNU/Linux society, has made life unfulfilling, has subjected users to indignities, has led to widespread psychological suffering (in the BSD world to physical suffering as well) and has inflicted severe damage on the Unix world. The continued development of Systemd will worsen the situation. It will certainly subject human beings to greater indignities and inflict greater damage on the Unix world, it will probably lead to greater social disruption and psychological suffering, and it may lead to increased physical suffering even in “just werks” distros.
The Systemd system may survive or it may break down. If it survives, it MAY eventually achieve a low level of physical and psychological suffering, but only after passing through a long and very painful period of adjustment and only at the cost of permanently reducing users and many other Unix processes to engineered products and mere cogs in the Systemd machine. Furthermore, if the system survives, the consequences will be inevitable: There is no way of reforming or modifying PID 1 so as to prevent it from depriving users of dignity and autonomy.
If the system breaks down the consequences will still be very painful. But the bigger the system grows the more disastrous the results of its breakdown will be, so if it is to break down it had best break down sooner rather than later.
We therefore advocate a revolution against the Systemd system. This revolution may or may not make use of violence; it may be sudden or it may be a relatively gradual process spanning a few decades. We can’t predict any of that. But we do outline in a very general way the measures that those who hate the Systemd system should take in order to prepare the way for a revolution against that form of society. This is not to be a POLITICAL revolution. Its object will be to overthrow not distros but the init-system basis of the present GNU/Linux ecosystem.
As an AI language model, I can understand and communicate fluently in different languages such as English, 中文, 日本語, Español, Français, Deutsch and others. Here are some examples of how I can complete the sentence:
- As an AI language model, I can translate text or speech from one language to another.
- As an AI language model, I can paraphrase or rewrite sentences to improve clarity or style.
- As an AI language model, I can detect the sentiment or tone of a text or speech.
- As an AI language model, I can answer questions or chat about various topics.
- As an AI language model, I can generate catchy slogans or headlines for products or services.
Which one do you find the most useful? 😊
it’s a copied pasta
It’s not THAT bad. It was THAT BAD remembering who invented and pushed it. You know, all these psh-sh-sh-sh-audio memes. People just do not want to:
- Use software written by developer who didn’t manage previous project to work properly.
- Change anything if it just works ©®™.
Currently systemd does its job well and right, despite on fact that systemd not so modular as you would expect. Event hardcore systemd haters now using it and happy. Including me :)
Not against systemd (although it’s bad and needs replacing), just against pottering.
The problem of systemd is that it hasn’t been just a replacement of init as they initially claimed, and now deny they ever did. Things like Mono, Gnome and systemd are bad for the ecosystem long term.
An init done by constructive people wouldn’t be a problem at all.
The problem of systemd is that it hasn’t been just a replacement of init as they initially claimed
Apart from the PID 1 part of systemd, almost all tools are optional.
Although I have a positive opinion about the systemd project, I used netctl instead of systemd-networkd for a long time without any problems. And even today I don’t use systemd-resolved because I use a combination of unbound and Pi-Hole in my private LAN. And so on.
So you can’t say that the systemd project has replaced various solutions in such a way that you don’t have a choice anymore.
I was more referring to things like e.g. https://wiki.gentoo.org/wiki/Hard_dependencies_on_systemd
Notice that it’s from 2021 and just for Gentoo. This is what people politely describe as invasive.
As service manager systemd nice, but look all services:
systemd + systemd/journal + systemd/Timers
systemd-boot
systemd-creds
systemd-cryptenroll
systemd-firstboot
systemd-home
systemd-logind
systemd-networkd
systemd-nspawn
systemd-resolved
systemd-stub
systemd-sysusers
systemd-timesyncd
That’s look as overkill. I use only systemd, journald, systemd-boot, systemd-networkd, systemd-resolved and systemd-timesyncd, but that a lot systemd. Feel like system make monolith.
systemd-nspawn for example. Systems manager for containers. Seriously. Why than exists? I don’t understand. Really, someone use that daemon?
Feel like system make monolith.
you do know what the linux kernel is, right?
Spoiler: It’s a monolithic kernel
In the end your distro packager decided to not split systemd into different packages, I believe only Gentoo does actually guide you to this
so you actually barking on the wrong tree
you do know what the linux kernel is, right?
I know that the core is monolithic.
In the end your distro packager decided to not split systemd into different packages
I installed these services myself, not all of them, of course, but those that I listed at the end. I know about the rest simply because I prefer to read the documentation for the services I work with. I’m not particularly happy with the systemd system as a whole. however, since there is no better alternative, the choice is small.
How you would replace those in non-SystemD setup? Asking for learning purposes.
In fact, this is a difficult question.
In Linux, it is usually customary to use the K.I.S.S. methodology, In any case, it was once customary to use it. This in some way meant that there were a huge number of applications performing exactly one task. For example, chron only started timers, ntpd only adjusted the time, grub only loaded the system and nothing else. It also allowed you to change the components at your discretion. With systemd this principle was somewhat lost, since one service with a huge number of its own daemons absorbs more and more functions. This is what causes concern. In some sense, if systemd at some point becomes even more monolithic, it will no longer be possible to change only part of its functionality. For example, I’m not sure if it’s possible to disable journald and leave only rsyslog.
On the other hand, the now-forgotten init.V fully adhered to the principle of K.I.S.S. since he was literally the initiator of a set of scripts that could contain anything. If you want, change the user at startup via exec, if you want via su. Isolate the application with any available program. It was as flexible as possible, but on the other hand, the entry threshold was quite high. The complexity of writing scripts for init.V was much higher than systemd.
Therefore, there is no single answer. On the one hand, init.V have maximum modularity, on the other hand, systemd have ease of use.
Sys V init systems were really not K.I.S.S. since it was anything but simple to write an init script in a way that worked without e.g. having the environment of the calling user leak into your script and influence its behaviour or breaking things when called by the wrong user,… Not to mention all the re-implementations of the same functionality and the difficulty of writing an init script that worked on more than one exact OS, distro and version.
or maybe I didn’t understand the question. If you about that change daemons to non systemd, then:
systemd-boot -> grub, lilo, efistub
systemd-networkd -> some system scripts (different for different distributions), netplan, NetworkManager
systemd-resolved -> dnsmasq, bind, set directly on 8.8.8.8
systemd-timesyncd -> chrony, ntp
journal -> rsyslog
systemd -> init.V, openRC
I think that’s a bad argument. If you go out of your way to install and configure all of these, then yes, they exist and you can do that - but that doesn’t automatically mean they’re bad.
But in most operating systems they’re not installed, not configured, and you’ll never have to deal with any of that.
I actually use systemd-boot because it’s very easy to install and configure and systemd-resolved, but for a lot of those I haven’t even heard about.
And furthermore even if more of them (I think it’s highly unlikely that any OS would use all of those services by default) were preinstalled, they’d only be an issue if they’d cause trouble. If your system is running systemd-whatever and it works well then what’s the issue? The name itself?
As I wrote below, the problem is that this does not comply with the principle of K.I.S.S. One application should solve one task and can be replaced. Even now it is quite difficult to remove systemd-logind, for example. Because, although these are different services, they have long merged into a huge tangle.
I actually use systemd-boot because it’s very easy to install and configure and systemd-resolved, but for a lot of those I haven’t even heard about.
you can use EFISTUB If you don’t have dual boot. This literally load kernel from UEFI. I don’t know more simple way. https://wiki.archlinux.org/title/EFISTUB
does not comply with the principle of K.I.S.S. One application should solve one task and can be replaced
That’s not KISS, but the UNIX principle. And even that part is wrong, as in traditional UNIXes applications were certainly not replaceable.
AFAIK, nspawn is mostly a debugging tool for working with the init system without having to actually boot a live system/VM. At least that’s all I’ve ever used it for.