systemdeez nuts
systemdeez nuts


systemdeez nuts
Someone please convince me why I should hate systemd because I still don't understand why all the hate exists.
The idea as far as I can tell is that it's responsible for too many things and gives a massive point of failure.
Man, wait until these people hear about the filesystem and kernel.
It's also "infectious" software. The way systemd positions itself on the system, it can make it more difficult for software to be written in an agnostic way. This isn't all software, and is often more of a complaint by lower level software, like desktop environments.
https://catfox.life/2024/01/05/systemd-through-the-eyes-of-a-musl-distribution-maintainer/
This isn't a terrible summary of some of the aspects of it.
Another aspect is that when it was first developed, the lead on the project was exceptionally hostile to anyone who didn't immediately agree that systemd definitely should take over most of the system, often criticizing people who pointed out bugs or questionable design decisions as being afraid of change or relics of the past.
It's more of a social reason, but if people feel like the developer of a tool they're forced to use doesn't even respect their concerns, they're going to start rejecting the tool.
Indeed, the Unix philosophy was do one thing and do it well. ls just list directory’s and files it’s not a network manager too. Systemd crams a lot of extra shit into an init.d/rc.
I still prefer the old system-v/openRC setup or BSD’s setup. It’s simple does 1 job and does it well. But I can work with systemd just fine in creating scripts these days and it does have some nice features like user startup scripts baked into it and podman integrates very nicely with it.
It isn't though, systemd is broken into smaller parts.
My understanding is that some people are die hards to the software philosophy of "do one thing really well". systemd at the very least does many different things. These people would prefer to chain a bunch of smaller programs together to replicate the same functionality of systemd since every program in the chain fits the philosophy of "does one thing really well".
For me it’s 3 things
Systemd breaks all three of though by being monolithic and binary. It actually makes you have to jump through more hoops to do things in certain cases. I understand it’s a mindset shift but it really starts making it feel more like Windows with how it works and the registry and event log.
People don’t like it because it’s declarative. It felt cool to be able to just put bash files into certain directories to have them executed on startup. That was elegant, in the sense of “everything’s a file”.
systemd is more of an api than a framework, so it’s a different design paradigm.
I hated systemd until I printed out the docs, for some coffee, and sat in a comfy chair to read them front to back. Then I loved it.
Mostly I hated it because I didn’t know how to do things with it.
Also, “journalctl” is kind of an ugly command. But really, who gives a fuck. It’s a well-designed system.
And if a person absolutely must execute their own arbitrary code they can just declare a command to execute their script file as the startup operation on a unit.
Your comment summarizes my entire programming career.
These steps:
Good that you've enjoyed it. But a fundamentally wrong thing about systemd is that it is actively harming the best thing about Linux – freedom. Some programs won't work on a non-systemd distro because how tightly coupled and vendor non-agnostic anything that becomes dependent on might become at times. Of course it's not as bad as glib(loat)c, but still if something can be done without any degradation of functionality via standard POSIX facilities, WHY either incur additional maintenance overhead for non-systemd implementations or punish people for their computing choices if there's no one to maintain it?
It's different from what the init system was like in the 80's.
I don't hate systemd. However:
Units and service files are confusing, and the documentation could be a lot better.
That said, when systemd came out the traditional init stack was largely abandoned. Thanks to systemd (and the hatred of it) there are now a couple of traditional-style init systems in active development.
I don't hate it now, though I did when it first came out, as it borked my system on several occasions. I'm still not a fan, but it works so eh.
One borkage was that the behavior of fstab changed, so if there was e.g. a USB drive in fstab which was not connected at startup, the system would refuse to boot without some (previously not required) flags in fstab. This is not a big deal for a personal laptop, but for my headless server, was a real pain. The systemd behavior is arguably the right one, but it broke systems in the process. Which is somewhat antithetical to, say, Linus Torvalds' approach to kernel development ("do not break user space").
It also changed the default behavior of halt
--- now, it changed it to the "correct" behavior, but again...it broke/adversely affected existing usage patterns, even if it was ultimately in the right.
In addition to all of this, binary logs are very un-UNIXy, and the monolithic/do-everything model feels more like Windows than *NIX.
Systemd came out over 10 years ago
Because
systemd tries to unify a Wild West situation where everyone, their crazy uncle, and their shotgun-dual-wielding Grandma has a different set of boot-time scripts. Instead of custom 200-line shell scripts now you have a standard simple syntax that takes 5 minutes to learn.
Downside is now certain complicated stuff that was 1 line need multiple files worth of workarounds to work. Additionally, any custom scripts need to be rewritten as a systemd service (assuming you don't use the compat mode).
People are angry that it's not the same as before and they need to rewrite any custom tweaks they have. It's like learning to drive manual for years, wonder why the heck there is a need for auto, then realizing nobody is producing manual cars anymore.
There is also the argument that it's more complicated under the hood and harder to troubleshoot, particularly because of it's inherent parallelism and dependency-tree design, whereas initv was inherently serial. It was much more straightforward to pick the order in which services started and shut down on an initv system.
For example, say I write a service and I want it to always be the first service stopped during a shutdown, and I want all other services to wait for it to stop before shutting down. That was trivial to do on an initv system, it's basically impossible on systemd.
For those wondering, yes I did run into this situation. My solution was clobbering the shutdown, poweroff, and restart binaries with scripts earlier in path search that stop my service, verify that they're stopped, and then hook back to systemd to do the power event.
I remember the clusterfuck that existed before systemd, so I love systemd.
I always thought it was because it was Linux only and wasn't usable on FreeBSD.
Ever seen a log file be a binary file, not text?
Ever seen an init system that was also cron?
Do you want to be forced to use a specific init system in order to use udev?
Then SystemD is for you!
He uninstalled systemd, now his computer is not doing systemd things anymore by his retelling. Seems like it worked fine. Yet he asks for a solution of a problem. Maybe he needs to state the problem.
This is like the Linux equivalent of deleting system32
Nah, more like deleting explorer.exe.
There's isn't really a Windows equivalent for this, as Windows doesn't give you control on this level.
It'd be as if you could delete services.msc but also the runner behind it.
I don’t think you’ll get a cli if you delete system32.
But system32 contains the NT kernel as well, so that's worse. Uninstalling your init system on a Linux distro still leaves you with single user mode. You could probably reinstall an init system from there.
Is it system32 or SySWow64 these days?
On Debian you can actually change init systems. Don't know how hard it is and you are probably meant to install a new one after removing systemd, but it is possible at least.
I mean, it can work out if he installs an alternative init & rc and a wifi-manager first. And then recreates initrd. Maybe needs to migrate some dns stuff too.
I removed and sold the wheels of my car, now it does not move.
I removed the transmission from my car but now it won’t drive
I mean if you've never seen or used a car before, and someone from a position of relative authority or trust gave you a very convincing argument that a particular part that you don't understand is easy to remove and you'll benefit from it...
Yeah it's pretty reasonable that the average person might shoot themselves in the foot by letting them remove that part (tell them a command to run).
systemd is more like, uhh, ignition that takes care of way too many things beyond starting the engine
That's what you get for transphobia my dude
he fuckin got me there
It's like saying automatic transmission is worse than manual transmission.
All these files are backed up in /System32 folder
Seeing it with a forward slash is just weird.
Windows hss supported slashes in both directions for a very long time. I almost exclusively use forward slashes to reduce mental load when switching between OSes.
Best way to fix that is to go back in time and not do that
Sudo snapper rollback...oh he's on debian. nvm
Snapper works on all distros with BTRFS
Install sysv, return to monke
Sell computer, return to monke
Lol this reminds me of a time when I had KDE desktop environment installed on vanilla ubuntu. I thought I didn't really need ubuntu's default desktop environment and decided to 'purge' it. I quickly realized my f up when it deleted so many packages and ui started to act weird, I copied the shell's output to a file just incase, and sure enough I couldn't login with ui on next reboot. I was somehow able to login to shell and with some awk magic I was able to parse the text file to get all the packages I deleted and lo and behold everything worked just fine. Linux let's you f'up your OS but it also let's you fix it, it's just a skill issue.
Linux let's you f'up your OS but it also let's you fix it, it's just a skill issue.
Yeah, there's something about Linux that makes me feel like if something breaks in it, the only reason I can't fix it personally is because I lack the skills to fix the problem. Just feels nice, really.
It's no tits
If your installing, or deleting something and your package manager is modifying more then a few packages: stop, read and think about what your about to do.
Now remove the rest of the OS; it’s bloat.
Arch?
Arch?
I updated my sources.list to something non-existing at some point and run sudo apt update && sudo apt dist-upgrade -y && sudo apt autoremove
once and it also basically uninstalled everything. But that didn't even matter, I popped in a recovery disk and could reinstall everything. Pretty great to be able to do all that with Linux, fuck everything up in an instant but after a few hours everything is back again
Well you could have saved those hours if you were on one of those restrictive OSs. I mean why would anyone even wanna do that? /s
How the fuck is login and "the command line" still working? Maybe they did not reboot.
The reboot probably sent him straight to a virtual console.
I was curious too, so I tried it in a virtual machine
It half installed sysvinit, systemd failed to get fully removed, and apt gave up due to too many post-install errors
The reboot threw me into an init that asked for me to specify the runlevel (since there wasn’t anything in init.d)
I guess they didn’t understand the difference between that question and a logged in shell
My guess before trying it was that they somehow got stuck in Grub’s shell
Yeah i remember debian installs sysvinit if you apt remove systemd and installs systemd if you apt remove sysvinit
initramfs recovery shell or they are trolling
Just install Devuan.
Devuan GNU+Linux is a fork of Debian without systemd that allows users to reclaim control over their system by avoiding unnecessary entanglements and ensuring Init Freedom.
Gotta love this linux rhetoric, man! It's so out there.
I don't want to be in control of starting up all the services during boot.
I want the init system to do that.
laughs in Gentoo
Or install MX and have both systemd and sysvinit instead of having systemd packages banned.
install that rm -rf theme
Run installation media and copy systemD over to the system
For real though, if you break ANYTHING in Linux, it can probably be repaired through live image on your flash drive.
I use BTRFS, and it randomly decided to corrupt like half of the system packages on my system after an update, but all I had to do to fix it was boot into a live environment and run a command to reinstall everything on my system. :P
No probably about it
Or just use the recovery shell. They did say they could log in.
Is it possible to chroot from a livedisk and reinstall systemd from that? I'd imagine the Internet connection would work just fine.
rm -yrf ~/*
(Just in case, don't do that)
You know that Linux has protection against rm -rf /
since a few years ?
Guess it's a sign that Linus got milder on the way, growing old :-) And the terrible BOFH joke of this grew old and boring as well. Gotta take care about new Linux users.
what? Will it warn me for removing the french language pack? That's what I call bloat!!
Actually that's RMS getting older. Afaik only GNU rm protects the root.
That wasn't the command I wrote though
They said ~/
I don't think there's any protection for the current user's home directory
What do you mean that's not the name of your cat and I shouldn't type it in my terminal?
Only at work when logged in to the admin account.
I think I would have preferred sudo apt-get remove --purge systemd
Yeah, some old habits never die.
Holly shit this has 700 upvotes
Stupidity is entertaining.
You can switch seamlessly between systemd and openrc on gentoo. Although it might be worth using one of the debian derivatives in this user's case - not sure they should be messing with their system too much!
I believe you can install runit
in debian. It'll be like devuan but with extra steps.
Yeah both runit and sysvinit are supported, but packages are no longer required to include sysvinit scripts, so there's no guarantee that all software will work. Most have kept their sysvinit script though.
The main issue will be that systemd does a lot of stuff, so you'd have to install replacements for everything else it does - like a syslog daemon for logging, ntp client for clock syncing, DNS resolver, etc.
I just shot my OS in the heart, why isn't it working?
Install devuan
How to turn debian to devian step by step guide
Just remove system d See easy
MX, always based on latest Debian, is using sysVinit, but you can also boot with systemd if you want, it supports both. MX is pretty popular, simple, fast, Xfce by default, and very up to date on everything. I'm using it for 6 years now, on laptop, PC. Also maybe it's me, but no flatpak, no snap, etc, not needed, for instance latest FF is a standard .deb
😄 About time to have an exclusive SystemD O.S. so that these new users understand not to fiddle with PID Eins /s /j
We'll just need systemd-kernel and systemd-coreutils in order to create a full systemd os free from Stallman and Torvald tyranny. It'll be glorious! \s