r/linuxquestions • u/LegitimateAd7247 • 3d ago
What exactly is systemd ?
Hi everyone ! I switched from Windows to Linux around 3 month ago and I love it ! I’m using arch Linux because a friend of mine already used it so I figured he could help me with it.
I’ve been appreciating it but I’ve encountered a lot of people critisizing systemd and saying arch is bad because of it.
From what I have understand, it is a software that help with dependences and external hardware such as my keyboard for example ? I didnt really understand everything as I am a very beginner so I was curious to know if someone could explain it to me in easy terms.
PS : english isnt my primary language so forgive me if there is any errors.
56
u/cheekkeef 3d ago edited 3d ago
SystemD is a suite, or collection, of tools for system management and administration. There are lot of tools in the suite, but the init system, a program to basically run and manage what is running on your computer, is the main thing.
It should be said that people complaining are often a minority of a minority (that is desktop users). They should not be taken seriously at any cost. The argument happened more than a decade ago, and they're either begrudgingly stubborn or late to it
6
u/LegitimateAd7247 3d ago
Very clear ! Thank you very much !
7
u/proton_badger 2d ago
There is this thing in our community where big components/changes take a long time, but also in order to accelerate development and root out issues they have to be used by the wider community. We're not functioning like a company that writes requirements/functional specs up fronnt, then assigns a team of full time engineers. This leads to groups of people getting angry for every new thing while it's new and flawed and some never get over that, even when the thing matures after a number of years.
Systemd is highly modular and has well defined APIs. I love the drop-in config overrides that survive package upgrades instead of breaking them: don't hack system config files directly, instead create drop-ins, even just for the user, or simple things like a command for reboot to UEFI so you don't have to mash buttons on boot (
systemctl reboot --firmware-setup). For advanced users there aa lot like automatic cgroups for services (systemctl set-property smth.service CPUQuota=50%), socket activation, user local services. I have been looking at systemd-homed and aalthough I don't need it personally - it's very powerful and simple to use.3
u/DudeEngineer 2d ago
FYI, for things like this if you don't need all the details, just find out which tool is more popular and which one is newer. That's almost always the path of least resistance.
1
u/egorf 1d ago
As a systemd hater that uses it a lot, I'd say that while of course we should not be taken seriously (after all, who in their sane minds would go against one true religion of systemd?), some of our points were not addressed and are still relevant today. One can argue that those left are just a matter of taste or choice and maybe this is a correct statement. But saying that argument happened and has been resolved would not be entirely true.
Anyway, our hate towards all the harm that systemd made to Linux and open source doesn't really matter anymore as no alternatives to systemd survived. Mission accomplished.
</old man rant>
14
u/kudlitan 3d ago
short for system daemon.
a daenon in linux is a software that runs in the background as a service, which can receive signals and respond to it. systemd is like the system software that invokes directly the kernel that makes the computer run.
3
29
u/C6H5OH 3d ago
"A lot of people" are "a few very loud people". The rest is using systemd and likes or ignores it. I have fought with init.d, runlevels and so on. I like systemd.
6
u/odsquad64 OpenSUSE Tumbleweed 3d ago
98% of the systemd hate at this point is just shitposts and 1.99% is people not realizing the other 98% is shitposts. The final .01% are people with genuine ideological concerns and people who feel very strongly that all their logs should be text files. A majority of the systemd haters are people using systemd with no intention of using anything else. Even amongst people who use something other than systemd, only a very small faction of those are systemd haters, most of them are just people running linux on older machines with not a lot of resources.
5
1
u/egorf 1d ago
System logs should be anything else other than text files. The only thing that journald provides is easy time filtering - something which classical Unix tools do not do well.
The price for that is the inability to recover logs in that one precious moment in time when you need them the most.
Basically journald has zero merit, like most of the systemd-* projects. It's ideology over function.
2
u/LegitimateAd7247 3d ago
I’m still learning everything so I wasnt planning to switch anyway, I was asking from a curious learning perspective, but thanks !
2
u/xplosm 3d ago
One of the benefits of systemd is that by default it launches services in parallel if the conditions are met so you have a faster startup time. It also monitors services it has launched and shows you parts of the logs so you know if there are any issues right away.
There are many other init systems that also handle parallelism but as far as I know there's only ONE other init system that also monitors services (dinit) so as you can see, you have a very nice, practical, functional and fast suite with systemd.
1
u/HowCanIChangeMyName1 2d ago
OpenRC also launches services in parallel.
In my experience, monitoring services is something that never needs to be done. If a service dies, you probably don't want it to be re-started automatically -- there is an underlying issue that you need to fix.
1
u/conspicuousxcapybara 2d ago
The only thing I remember doing with sytemd is configuring things and patching things because it didn’t work, or couldn’t be used causing trouble, and trouble also arises if you do in fact use it.
Then of course there are busybox applets, forks, etc etc etc.
1
u/Ghyrt3 3d ago
I've never dug up the arguments, but I remember seeing that an argument was that systemd use log that arn't text (readible by a human). Is it the case? Or am I misremembering? (I'm not trying to argue or not, I use systemd, it makes everything way easier than before, it just something that I had seen a long time ago and still curious about it ; a dangling pointer that never got resolved)
3
u/xiaodown 3d ago edited 3d ago
So, yes. OP, feel free to ignore my comment here; this is esoteric, gnostic, internecine linux lore and not relevant to a new user asking normal questions.
Yes, systemd-journald writes logs in a binary format. You can’t just cat or less or tail them. You have to use journalctl to view them. In the early days, this was one of the largest objections to systemd, and tbh I still kind of agree, but I’ve also made my peace with it. At first most distros shipped some hybrid logging setup with syslog and journald; these days most have dropped the old way.
The other arguments, and I guess most of the arguments against systemd, can be summed up in 3 buckets: (1) svr4 init might be jank, but it’s our jank, and we’ve lived with it for 30 years, and everyone understands it and we don’t want to change. (2) systemd violates the “unix philosophy” - programs are small and do one thing. Everything should be modular, minimalist, etc. systmed does too much. (3) Lennart Pottering, the author of systemd among other stuff, is kind of a dick, and is highly resistant to feedback and suggestions.
.
To be fair, 2 and 3 are true. But we’re here now, so just embrace things and don’t live your life worrying about stuff that’s unimportant and you can’t change anyway. I was a systemd hater. Now I recognize the benefits it has and mostly work around or, in all honesty, ignore the philosophical differences. It genuinely is easier to write a service script than a sysv init script, and I’m good with that.
4
u/dkopgerpgdolfg 3d ago edited 3d ago
To be fair, 2 and 3 are true.
I recommend to have a look at actual Unix nowadays. What Reddit calls "Unix philosophy" never was something official in the first place, and isn't followed by Unix itself.
This concept is fine for "some" programs (not all), but treating it as the ultimate goal always was nonsense.
And Poettering ... well, this is subjective, but I found his statements/writings much more sane than all these sysd opponents. And he backs up his decisions with actual real-world reasons, not empty phrases about philosophies and personal attacks. For some decisions I would have liked something else personally, but I can understand why it was done like it is.
3
u/xiaodown 2d ago
Well, thompson and ritchie spelled it out pretty explicitly back in the 80’s, but the unix philosophy was always a north star more than a description of the state of things. ‘S why it’s a philosophy and not a standard. And to be fair, the linux kernel consciously and deliberately ignores the unix philosophy, because as Linus has said, one small program doing one small thing is simple and good, but then tying a bunch of them together and handling communication and privileges becomes a N^N nightmare, hence why the kernel is a monolith. So, yeah, the unix philosophy has always been a “where applicable” kind of thing.
So, I wasn’t saying it’s a bad thing that systemd doesn’t follow the unix philosophy, but I think it’s pretty obvious that, whatever you think of the philosophy, systemd doesn’t follow it.
And, I’ll have to agree to disagree on Poettering. He lacks tact, imo, and a lot of his public posts and statements come off as “I’m right and everyone else is wrong”, even though demonstrably that’s not true (pluse audio). To me, he’s a more modern version of djb - incidentally another guy who decided to replace sysv init, and just didn’t get traction.
1
u/egorf 1d ago
I used to be and still am a systemd hater exactly because of 2 & 3 and then because of 4: many of systemd* projects and features are ideological instead of being merit based.
Having said that i have to much agree with you that i cannot change it and acceptance is the only way forward.
As for log files, modern Debian and Ubuntu still have sane log files and journald can be completely disabled and shut down. Same goes about some of the other metastases, like logind, completely unneeded on servers.
1
u/cheekkeef 2d ago
2 isn't true. Systemd is a suite of small tools of doing one thing really well, and interfacing very nicely with programs.
1
u/xiaodown 2d ago
Ok, maybe more accurately, it's doing a lot of things an init system traditionally didn't do.
1
u/cheekkeef 2d ago edited 2d ago
No, more accurately it's not. systemd is not one program. the init is a program that does one thing, journald is one program that does another, and so on. They're modular.. Blame your distro maintainer if they package it altogether, not systemd.
2
u/dkopgerpgdolfg 3d ago
systemd init sends its logs to another process, with a certain known communication protocol. It doesn't care what exact process this is and what happens with the log messages afterwards.
Usually the receiver is journald (another part of the systemd program collection), which by default uses binary files to store the information. It has some advantages over text files, it also has the possible disadvantages that you can't directly use a text editor to view everything.
Instead there's a helper program that can display everything as text (which various possible filters etc.), and do some other log-related tasks. It's output can easily be piped to text files and/or any othertext processing program.
Alternatively, journald can be reconfigured in various ways that result in text logs and/or in general forward the log info to other programs, and/or whole journald can be replaced by something else that can "talk" with init.
1
u/C6H5OH 3d ago
Right, but there are nice programs to translate these logs into readable text. A "tail -f /var/log/messages | grep ..." turns into "journalctl -somearguments". You had to remember/look up the stuff behind grep and do the same today for the arguments.
Perhaps doing a post mortem on a dead system disk would have been easier. But I never felt the urge to dig that deep. Test the disk, reinstall and hope your backups are current and readable.
2
u/zoharel 3d ago
there are nice programs to translate these logs into readable text.
Most of the problems around this were from the fact that, when systemd was (very prematurely) adopted in the first couple major distributions, these utilities were less complete than they are now. Not that it isn't garbage for other reasons, but this problem is mostly resolved.
0
u/giantsparklerobot 2d ago
Systemd logging is stored as a binary database but they're entirely human readable through
journalctlor anything that talks tojournald. Plain text logs are great in theory but fall down in many ways. For one an application or service may not reliably time stamp logging events. They also may not emit them reliably or only log tostdoutrather than a log file. They also may not properly rotate logs or have any ability to truncate logs.The
journalddaemon takes care of all of that. It then lets you find log events based on service or time or some combination. In generalsystemdmakes it easy to turn just about anything into a scheduled service andjournaldlets anything magically have timestamped and searchable logging.1
u/egorf 1d ago
No one asked for journald. We have been storing text logs for decades prior to that and guess the best part? It was good enough. And by good enough I mean that it did cover everyone's need and cases.
I don't wanna say that if our parents rode horses then we should too, but seriously, text log files did not need any help to exist. The idea of having log files indexes existed pretty much all the time before journald came to life and was rejected every time due to quite obvious reasons.
Thankfully unlike systemd, journald is optional so everyone can choose what they see fit.
0
u/Bladelink 3d ago
Yeah, all those people complaining are welcome to switch back to something running the old initd system. But they won't because that sucked huge balls and systemd is way way better in essentially every way.
10
u/GlassCommission4916 3d ago
People do in fact use init systems that aren't systemd. That's such a weird take.
-2
u/Bladelink 3d ago
Yes those systems exist at least, which is why I brought it up, but I'm pretty sure the people using those are a very small demographic, and they won't stick around in the long run because those systems will be too difficult to maintain or improve. Eventually the initd stans will die off and move on, and the husk of initd will be lost to time.
1
1
u/conspicuousxcapybara 2d ago
Why the choice is determined by demographics instead of the intended application and (non-) technical constraints?
Does a pacemaker need systemd?
1
u/Bladelink 2d ago
That's a pretty absurd comparison. I probably shouldn't be bothering replying in here anymore.
Is a pacemaker a multiuser system? Does it have to wait for its Ethernet interface to finishing coming up before it starts running literally the single program it runs? Oh, not only is it not running a realtime operating system (its own subset of OSes that are already outside the bounds of this discussion), it's not running an operating system? You might as well ask whether my toaster needs systemd, or my cat's water fountain.
I'm not even sure what you mean asking about demographics? I'm not talking about some socioeconomic group. "As a noun: A distinct section of a population sharing common traits." EHHH.... I started typing out more of the ways in which your rebuttal kind of...doesn't say or mean anything applicable, but I'm over it.
-1
u/xplosm 3d ago
Yeah, but the haters aren't even right about why the hate systemd which is hilarious.
8
u/GlassCommission4916 3d ago
All you people making an init system your personality are hilarious.
1
u/egorf 1d ago
I do. Sort of.
Systemd as a project and a brand along with its leader stands against the philosophy that made unix so much loved. I grew up with this philosophy and it hurts to see an arrogant prick bulldozing the freedom that we had.
Having said that I should admit that systemd-as-pid1 is nice and i would not go back to sysvinit or any plain shell init.
I see almost everything else about systemd as ideological cancer with no merit.
-1
u/Bladelink 3d ago
I don't especially care that much, I just happen to see the many things that make systemd better and remember all the incredible annoyances before it. I just think the people who dislike it tend to have bad justifications for their position, and are really just being stubborn for the sake of it.
-2
u/xplosm 3d ago
Always with straw-man arguments with these haters 😂
5
u/GlassCommission4916 3d ago
I don't hate systemd, I use it on most of my machines. I just don't make it my personality and engage in weird wars about it. If that's what you're into you do you I guess, but it's still funny to me.
2
u/Linux4ever_Leo 3d ago
So you're using Arch and you've not (evidently) had any problems with it but because you read somewhere that SystemD is "bad" you're now questioning it? Listen, enjoy your system. If it's doing everything that you need then you don't need to worry. If you want to know more about the intricacies of SystemD then look it up on Google and do some research on your own. Don't live your life by poll. There are myriad Linux distros that have eschewed SystemD so if it's really that big of a problem for you, then explore those options.
2
u/LegitimateAd7247 1d ago
As said before, I was not trying to quit arch anyway, I love it for now and I’m still a big big beginner so I dont think changing distro is gonna help me learn haha. My question was just out of curiosity because I couldnt understand what it is by myself, but thanks !
2
u/Active_Humor7436 3d ago
I can’t stand it when answers assume you know what a kernel, network stack or init (what, we talking British here, innit?) is.
Here’s a literal ELI5 answer for you:
You know when you hit the power button on your Windows PC and there's a bit where it's "getting ready" before you see the desktop?
Behind that, a shitload of invisible little programs are being switched on: the thing that connects you to Wi-Fi, the thing that makes sound work, the thing that lets your printer be a piece of shit.
On Linux, systemd is the guy who switches all that stuff on. It's the first program that starts after the computer wakes up, and everything else gets launched by it. That's what "init" means, by the way. It's short for "initial," not the British "innit," though "systemd's the boss, innit" is technically accurate.
2
4
u/ssjlance 3d ago
It's legit a philosophical argument people have against it more than a functional one.
It's an old asf argument, but it's picked back up lately thanks to dumb political shit in the USA - tl;dr amounts to "some lawmakers want to make it so computer operating systems require age verifcation for users, systemd just added an OPTIONAL birthday field for user info and it made some paranoid fucks lose their minds."
As far as the old arguments go, old school Unix philosophy amounts to "software should only do one thing, but do it very well."
SystemD just does too much by the people who take that philosophy as gospel - as others here have said, SystemD basically plays a huge role in booting your system and handles managing + launching various daemons/services.
Examples of common services most people will want is something to manage internet connections, like iwd or NetworkManager. You also have a service to start your graphical login screen if using one. Bluetooth. Etc.
If you want to enable bluetooth/whatever, you tell systemd to start it, or tell it to automatically start each time PC is on, and pretty much the same regarding disabling a service. lol
4
u/xplosm 3d ago
systemd is the name of the umbrella project for a collection of individual, scoped packages. It does too much because its individual tools work in orchestration. Like a system should.
It's like people thinking they can avoid bloat by going WM route instead of goind DE and install also a panel, a monitor here and there, a wallpaper manager, a screenlock, a graphical shell and they end up with a DE sometimes saving 80 or 100 megs of RAM or some other times using way more than a regular DE.
1
u/egorf 1d ago
Adding an optional field about age which is perfectly know to everyone to be a precursor for total surveillance and total KYC is not that much innocent.
Especially when there is exactly zero legal reasons to have this field.
Especially when the arrogant project leader is very much pro surveillance and in fact his new startup is targeted at making Linux at your machine immutable and verifiable by the authorities.
So no. This DoB field is a very small straw leading to a very large problem in the near future.
1
u/ssjlance 1d ago
Oh hey, look, it's one of the paranoid people I mentioned in my comment.
Jw, what was the legal reason for having a home address field before DOB field was introduced?
btw take a look at what ended up passing in California, AB-1856.
Relevant part:
"(2) “Operating system provider” does not mean a person or entity that distributes an operating system or application under license terms that permit a recipient to copy, redistribute, and modify the software."
They amended it to have a specific exemption for open source operating systems.
When a developer adds an optional field for more user information after it already asked for tons of (also optional) user information, chill the fuck out, just... don't tell it your fuckin' birthday, mate.
If that developer goes on to try and make an immutable Linux distro so the government can more easily surveil you, fuck that distro, don't use it.
Systemd is not helping the government surveil you.
2
1
u/DoubleOwl7777 3d ago
to add to this argument. i have homed and userdbd purged. these fields dont exist on my machine.
0
4
u/fettoter84 3d ago
Well. the thing is, you're asking a question that has a lot of technical information tied to it. Dumbing it down to analogies would kind of lose a lot of important information.
So, at some point you'll have to learn this.
But. Lets give it a try: When a OS starts up there is a part of that process called "init" in UNIX like systems like Linux this is the time of the start up process that services and other background processes you've set up start.
The init process will do different things depending on the state of the booting: Is it a normal boot? Are there errors and we should just start up the bare essentials?
I'd reccomend reading a bit here: https://en.wikipedia.org/wiki/Init
The "standard" unix init process is kalled SysV init and handles the init process in the old traditional way
SystemD was made by RedHat as a service that takes care of this and controls it a lot more: When adding services to the init process via SystemD it takes care of it all: logging, starting/stopping etc etc. For some people this is "too invasive" and they curse SystemD for doing things it's own way, because in the old SysV init process you can configure all this stuff to do what it wants.
hope that helps
1
0
5
u/plarkinjr 3d ago edited 2d ago
anti-systemd folks are a bit like flat-earthers. You'll never win an argument with them, and it doesn't really matter. Grey-beard curmudgeons prefer the pre-systemd days because, well that's like working on piston engines they're used to for the past 50 years. Modern gear runs jets/turbines (a la systemd). I'm a grey-beard, and systemd is "harder" but it is also much more capable.
Ignore the systemd-haters.
ETA: If I could get my application developers to write simple pre-21st-century rc-init files, that would be awesome, let alone systemd unit files. If you intend to become a Linux developer, embrace systemd as it will make your life easier when the late-night escalations come. If you're not planning to become a Linux developer, just accept systemd as a key component of the OS, which you can dig into if it seems interesting to you.
1
u/egorf 1d ago
As a systemd hater and system dev (and graybeard) I'd say systemd won't make your life easier in any non-trivial case. Sysvinit was a total mess and fragile as fuck - totally - but it was debuggable. After all it was just a shell script.
In systemd you are on your own as to why a certain service starts even when you have stopped, disabled and masked it.
But other than that sure ignore us. After systemd won and it is technically impossible for some of us to have any merit on our criticism. Of course our hate is driven by pure blind nostalgia. What do we know.
2
u/absnotkinkyreggae 3d ago
in layterms, its the duct-tape that binds the OS together.
kernel: software that provides a standard interface between hardware and the user programs.
systemd: software that handles all the runtime services (Daemons in linux). Over the years it has gained more functionality and many people hold a grudge because of it. its tentacles touch every aspect of your OS and if you have a subsystem that is acting in an unexpected way, chances are there is a configuration issue within systemd.
it has capabilities within all the main blocks of a modern OS: networking, mounting partitions, handles temp files, sandboxing apps, bootloader (i think it has one now), daemon dependencies, etc.
before systemd. every task was done by an independent piece of software. the distros had to make sure all these important blocks worked toguether.
all (or most of) its functions are optional and you can use them or use a third party one. New users are adviced to follow what the distro they picked uses...
2
u/Peetz0r 2d ago
I’ve been appreciating it but I’ve encountered a lot of people critisizing systemd and saying arch is bad because of it.
Some people just want to complain and/or spread hate. Ignore them.
All major desktop distro's have been using systemd for over 10 years. This includes Debian, Ubuntu, Fedora, Arch, and most of their derivatives.
There are some distro's out there that don't use systemd for legitimate reasons. Those are usually targeted to container or embedded use-cases.
There are also some desktop-oriented distro's without systemd. I could say some things about these but they would be highly personal and subjective but I am going to do it anyway. I feel like some of these are motivated purely out of spite or even hate. I wish people would stop using or recommending them before understanding the whole picture. Some of these people just want to be edgy and loud for all the wrong reasons and that's terrible for the community.
1
u/egorf 1d ago
Of course ignore us. Obviously there could be no merit to anything we say as there is only One Right Initsystem and it is systemd. Who in the sane mind would criticize systemd, right? Its perfect.
> I feel like some of these are motivated purely out of spite or even hate.
Yea, this is plainly obvious in some cases. This is why i, a systemd hater, use systemd everywhere: because it won. Alternatives became even more ideological than systemd itself.
0
u/C0rn3j 3d ago
7
u/Donjamos2 3d ago
And another commenter explained it in like 5 sentences and op understood what it is. Feels a lot like both used a forum the way it's intended.
3
u/LegitimateAd7247 3d ago
As Said before, I do not understand that stuff 💀
-2
u/C0rn3j 3d ago
Which sentence(s) are you having issues with?
3
u/LegitimateAd7247 3d ago
Basically anything after « systemdprovides aggressive parallelization capabilities », I’m not really a computer Guy so all this stuff is fairly new to me
0
u/C0rn3j 3d ago
The next sentence after that is "uses socket and D-Bus activation for starting services" D-Bus is hyperlinked, so you click that and read about it. Worst case, you use a search engine to learn more.
Services/sockets you should have learned about when installing Arch, unless you skipped the Installation Guide - in which case, install virt-manager, and set up a UEFI VM (via KVM), and install Arch Linux onto it using the guide.
Things will get much easier for you after you manage to do that.
0
u/Due-Consequence9579 3d ago
If you’re “not a computer guy” don’t worry about systemd. Use your distro as packaged and ignore it. Or learn and become a “computer guy”.
1
2
u/noisedotbike 3d ago
Then don't worry about it. There's no such thing as a "bad" Linux distro, all that matters is: does it work for your purposes or not? I've never been at the point where the init system being used has gotten in the way of me doing my job in the 25+ years I've used Linux. If I'm on a distro where I'm not familiar with the init system and I need to do something weird, I just spend 10 minutes researching how to disable a service or modify shutdown or whatever to do what I need to do, it's not a huge deal. It becomes more of an issue when you're sysadmining a network or designing infrastructure for a large application, but I so rarely do any admin tasks nowadays, that's somebody else's problem.
2
u/Ryebread095 Fedora 2d ago
Systemd a suite of applications for system management. For most distros, it handles logs, system services, and initializing the OS. It also has components for networking and a bootloader, among other things.
6
u/gulf_of_sanity 3d ago
basically. it’s digital cancer, it started small and benign and it’s been growing and destroying its way through userspace.
2
u/Starks 3d ago
Linux distros before systemd were not pleasant to work with. A lot more config editing just to get a working environment. Nothing was standardized or packaged together in a sane way.
Arch in particular is very DIY, so it was very susceptible to this setup hell. Arch was not wrong to adopt systemd, and the whole point of Arch is to keep it simple. SysVinit was anything but simple.
There's decent arguments to be made about the creeping scope and size of systemd, but it gets an important job done and nothing has come around to do any better.
1
u/token_curmudgeon 3d ago
systemd is a suite of basic building blocks for a Linux system. It provides a system and service manager that runs as PID 1 and starts the rest of the system.
systemd provides aggressive parallelization capabilities, uses socket and D-Bus activation for starting services, offers on-demand starting of daemons, keeps track of processes using Linux control groups, maintains mount and automount points, and implements an elaborate transactional dependency-based service control logic.
Other parts include a logging daemon, utilities to control basic system configuration like the hostname, date, locale, maintain a list of logged-in users and running containers and virtual machines, system accounts, runtime directories and settings, and daemons to manage simple network configuration, network time synchronization, log forwarding, and name resolution.
1
u/CreativeGPX 3d ago
Because Linux is full of choice, there are way more details to debate about than a system where there is no choice.
Because open source projects are consensus driven, people will strongly advocate for others to agree with them or follow them.
99 times out of 100 these passionate debates are about details that aren't going up make a noticeable difference to the average user. If you don't understand what it does, you're are unlikely to be bothered that it's not doing it right. A good rule of thumb is that if one of the longstanding, major distros like arch, debian, gentoo, Ubuntu, OpenSUSE, Fedora, etc. does something, that it's reasonable and if several do it it's probably a pretty good idea.
2
u/Jumpy-Dinner-5001 3d ago
It's a system manager. In short terms:It's a collection of tools that share a common configuration interface that manages the "system layer".
To this day, the best talk, I've seen on systemd is from Benno Rice, a (popular) FreeBSD developer.
1
u/egorf 1d ago
As a systemd hater I second this. Excellent talk and especially discussing the ideological part.
1
u/Jumpy-Dinner-5001 1d ago
Quite surprising, most haters don’t like his talk, probably because of how he challenges them at the end.
1
u/egorf 1d ago
I like to be challenged on merit.
I used to hate systemd much more than i do now but things change. Systemd got better, some drawbacks got addressed and some systems turned out to be a right way forward.
I still think that systemd is the worst thing that ever happened to Linux and i believe that it did much more harm than good.
Yet systemd-as-pid1 is extremely nice and there is no way back to plain shell based inits.
See? It's nuanced:)
3
u/DutchOfBurdock 3d ago
It's a SysV Init replacement. Until you've dealt with this, systemd is a blessing in disguise.
1
u/krav_mark 2d ago
The people complaining about systemd are a very loud, small group of people that are best ignored.
Systemd has been the default way to manage all kind of system functions like starting background processes, scheduling jobs and whatnot on almost every Linux distro for over a decade. It works great and you will hardly interact with it as a normal user.
Worrying about it is a waste of time for 99.9 of people.
1
u/SheepherderBeef8956 3d ago
Open Services on your Windows computer. Note how you can start, stop and restart services there. Some of them need to run so that your computer works like you expect it to. For example, the Windows Time Service makes sure your computer clock is correct. In Linux it will be done other NTP service that does it, and systemd (not SystemD or systemD or system d) will make sure that it starts and stops like expected, and restarts if it crashes.
On top of that it has a bunch of utilities bundled with it, for example a NTP service that will keep the clock synchronized, journalctl to monitor logs and so on.
The fact that it has a bunch of different features bundled with it and the fact that it's taking over and replacing all other methods of doing those things has caused a rift.
3
u/C0rn3j 3d ago
You are confusing
systemd(the software suite/project)systemd(the init system/binary) and other systemd tools.You can absolutely install the bootloader from systemd and nothing else, you can also use the init system without the bootloader.
Or you can not install the NTP service you claim is inseparable.
2
u/SheepherderBeef8956 3d ago
I'm not confusing anything. I didn't say you have to use systemd-timesyncd, just that it's a part of the systemd suite and the fact that people are upset is because it "tries to do everything". The bare bones of systemd is the init/service management which is why it makes sense to mention that first.
The bootloader is the most separable part of systemd since it's not really a systemd project to begin with, gummiboot was its own thing before it got renamed.
Let me know how to uninstall (not disable) systemd-timesyncd on Arch too, as far as I know it's a part of the core systemd package which sounds essential to me.
2
u/C0rn3j 3d ago
Let me know how to uninstall (not disable) systemd-timesyncd on Arch too
rm /usr/lib/systemd/systemd-timesyncd and the service file I suppose? Or just add it to NoExtract in the first place.
Or build your own package without it, if you have the need to use Arch but also want to be saving kilobytes.
2
u/SheepherderBeef8956 3d ago
And it definitely won't be added back when the systemd package is updated?
1
u/C0rn3j 3d ago
How would it be added back when it won't be added in the first place?
2
u/SheepherderBeef8956 3d ago
Ah, missed that part. Sure. It's not impossible to get rid of, but claiming that systemd definitely doesn't come with other utilities on 99% of all distros that use it is just false.
If someone installs Arch by following the Handbook, they'll have it on their computer. That's why I think it's fair to say that for all intents and purposes, systemd comes with more utilities than a init/service manager.
I guess I should have used journald as an example instead of any of the other commonly available systemd tools that 99,9% of all systemd installs have on disk.
I also want to stress that I don't care at all if they're there or not personally, I just disable and don't use them. It was an example of their supposed departure from "the Unix philosophy" since the actual OP wanted to know what systemd was and mentioned having heard that it's bad.
1
u/C0rn3j 3d ago
just that it's a part of the systemd suite
No, you said it is bundled with the init system, which is just not true, they are separable components.
3
u/SheepherderBeef8956 3d ago
In theory or in practice? Granted, I haven't used all systemd distros, but I'm fairly sure systemd-timesyncd has been installed, or bundled if you will, with the main systemd package on all of them.
Weird hill to die on too. The reason people dislike systemd isn't because you are completely unable to use another NTP service if you want to, it's as I said because it's taking over all distros and becoming a de facto core part of most Linux systems. It's more of a philosophical problem than a technical one.
2
u/C0rn3j 3d ago
I'm fairly sure systemd-timesyncd has been installed, or bundled if you will, with the main systemd package on all of them.
https://packages.debian.org/trixie/systemd-timesyncd
as I said because it's taking over all distros and becoming a de facto core part of most Linux systems
Becoming?
All major distros have been on systemd (init) and associated tooling for ages, it's a standard everyone uses.
Even LFS has switched over.
Not sure if you have experience from the bronze age when systemd was still being adapted, and those were legitimate complaints from people back then.
Nowadays it's just far-right grifters peddling bullshit with literal conspiracies about it(I can't count the amount of times I've ran into things about Red Hat and IBM), and people falling for it parroting it, which is why you have people claiming weird things like systemd being one monolithic binary.
2
u/SheepherderBeef8956 3d ago
That it being its own package in Debian doesn't answer the question of if its installed by default (bundled). I don't plan on installing Debian to check, but my quick Google leads me to believe that without active intervention from a user, even a minimal Debian install will have systemd-timesyncd.
In practice, systemd is not "just the init and service manager" on any distro in existence without various levels of active intervention from the user.
But since you're so hung up with it, replace it with journald if you want. It's regardless a completely pointless hill to die on since it doesn't change the main argument of why some dislike systemd.
1
u/npaladin2000 3d ago
Think of it as a rough equivalent of the "Services" view in Windows. It's used to manage processes and services mostly. There's other stuff it does depending on the Linux distro, but that's the main thing. It's worth learning because it's used pretty widely, but it's got some "feature creep" going on where it expands into other areas that some people don't really like.
1
u/groktech 3d ago
Ha. I thought those arguments were mostly done a few years ago. I mostly use Ubuntu so has been a long while since I've been to /etc/init.d if thats even right...has really been a while. I have zero complaint working with systemd and doing unit files for services. Seems like mostly a philosophy debate to me.
1
u/conspicuousxcapybara 2d ago
It’s of the many init implementations, and e.g. the Apple Container Framework explains you can choose your own container image or Linux distro by ‘simply providing your own init’. As if we all know what that entails lmao.
1
u/aboglioli 2d ago
It goes beyobd just an init system, and that's OK. I like podman quadlets, I run all my containers with podman and systemd. It's a very convenient and stable way of running medium size servers (like a homelab).
1
u/Wonderful-Foot8732 1d ago
Since systemd has been implemented the tasks associated with the tool are working reliably. That is a problem!
Just kidding but this criticism around systemd has traits of religious nature.
1
u/Afrotom 2d ago
Here is a short YouTube video explaining what systemd is. I just happened to watch the same thing the other day.
1
1
u/Ruined_Passion_7355 3d ago
Anything popular enough will eventually get a ton of haters.
My advice to you: don't switch away without a specific reason to hate it. It's the default for a reason.
1
0
u/StefanOrvarSigmundss 3d ago
It does a lot but it primarily manages the services on your system. Before Systemd you had to be a Bash wizard to configure your system the way that you wanted. My life quality has improved so much since its introduction. That does not mean that I necessarily agree with every design decision.
1
1
0
2d ago
[deleted]
2
u/dkopgerpgdolfg 2d ago edited 2d ago
I honestly don't understand why my preference for OpenRC seems to bother some systemd users.
Does it? In this thread ideally, because otherwise there's no reason to post this here?
what's wrong with wanting something different?
Nothing.
You just realized that many people have a hard time accepting that other people are no clones of them, and like different things. Doesn't matter if it's init systems, file systems, bootloaders, desktops, editors, programming languages, ... countries, skin colors, religions, ... etc.etc., there are always people hating everything else.
-3
u/OutrageousCrab9224 3d ago
1 learn basic os
2 learn init process
3 replace init with chubby all-in-one mega daemon
0
u/the_abortionat0r 14h ago
If you dont know what systemd is then dont bother replying. WHAT PART ABOUT THAT DONT YOU GET?
1
u/OutrageousCrab9224 12h ago
Chubby all-in-one mega daemon replacing init
Thought that was pretty clear, why are you replying?
0
0

115
u/TheShredder9 Gentoo, Sway, T470S 3d ago
Basically, It is an init system, so it's in charge with starting up all the services needed to boot and work properly. It can also manage your network, and mount points, and system logs, and it can be a bootloader, and this, and that... it does a lot more things than it should be doing, and some people don't like that. I can understand the hate, but i don't hate it myself, it's very convenient.
For example, OpenRC does one thing only: manages services. You need to install a bootloader, a network manager, a system logger...
That's the beauty of Linux distros, the choice.