this post was submitted on 25 Sep 2024
53 points (83.5% liked)
Linux
48287 readers
627 users here now
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Praise be the Unix Philosophy. May all your projects do precisely one thing, and let they not be tempted by forbidden fruit and do two things.
You do know that systemd is modular and every part of it does only one thing? Don't see a real conflict with the Unix Philosphy
I fear that the situation will not be better after nearly a decade.
In fact, the situation has gotten much worse. The coupling of SystemD's components to each other has gotten tighter. The coupling of things that aren't SystemD to SystemD has gotten tighter. SystemD itself has gotten less stable. The overall result? Our operating systems require more, not less, troubleshooting, and they're less, not more, enjoyable to use and develop on
I've never ever had an issue with systemd and I've been running Linux for years.
However, systemd makes the system much more secure and reliable as it is vastly superior to just a couple of shell scripts from 1999
less secure and less reliable day-by-day you meant? systemd introduces needless dependencies ever since as if that was it sole intention ever from its very beginning, which already were used for wide attacks, and exactly those attacks that the people working hard to remove unneeded dependencies for security reasons meant to prevent by things like "do one thing only" (but security was not the number 1 reason for this one i think), systemd instead: 'lets add another level of that exponential dependency tree from the insecurity hell' felt like they did this stupid thing intentionally every month for a decade or more.
and stability... if you don't monitor what systemd does, you'll never know how bad it actually is. i've made custom scripts to monitor systemd's failures (failing in doing a very primitive of its job) and there are hundreds (actually varying around 200 to 300 sometimes more) of such per day on all our systems for one particular(!) measurement only that was breaking service stability and i wrote a measure-and-fix+monitor workaround. other fixes were not monitored however, only silently fixed by workarounds, thus just unnumbered systemd bugs/instabilities in the dark that stole a lot of work capacity...
if you run distros with systemd, unreliability is your daily experience unless you don't really care or have never experienced stability before - like running a service (a single process) for 8 years without any interruption then it suddenly stops and you go like "was it maybe an attack? the process died, how could that be? were there any connects from outside at that moment?" not talking about not updating something that long, but "stability" itself CAN be like if you dont stop it, it'll still run in 10000+ years maybe millions, more likely that humans extincted themselves way earlier than of a process "just dying" by a bug.. while systemd even randomly stops things that were running well for no reason (varying) once a month more or less (also varying in what it actually randomly stops, sometimes (2 times) it even stopped ssh on my servers, me asking myself if i should create yet another workaround for systemds buggyness to not locking me out again from network or ratjer go for the real solution for most* of all systemd problems - *see below) on the few standard installs i personally have as i didn't have the way to automatically replace provider installed distro on VMs in the DC. i want this replacing automatically for the same reason why i don't like systemd, it causes manual work for a thing that should go automated. however due to systemd's perpetuated instability i now managed to have this way, and every second working on getting rid of systemd is worth it 100k times. this however does not solve all systemd-introduced problems as the xz attack showed (a systemd-dependency on xz made the infected xz library beeing useful-for-the-atracker during compiletime of sshd binary with which then the attacker could infect the newly built sshd binary),one could still be attacked through systemd's dependency hell even if one does not use systemd by oneself, but the build machines used for your distro could be affected/infected by systemd's needless dependencies when "also" compiling for systemd-affected distributions thus there is the risk of becoming a victim of needless-systemd-dependencies while not using systemd at all. however the attack through systemd dependency (and that the public solution was not the removal of needless dependencies only included as source for superflous third party "needs") made clear that systemd is an overall problem for security that will not be solved quickly but stay just like all windows insecurities will stay as long as they whish to push them to their "users".
systemd reducing overall security and its unreliability combined with some builtin impediments (i.e. when debugging its defects) is what drove me away from systemd. there are solutions way more stable and way more secure (and way better documented btw) that do not call in for needless dependencies, reducing risks, attack vectors and increases overall debuggability i.e. by deterministic behaviour as an easy example. and none of its important (to me) promises have been fulfilled yet by systemd, drop-in-replacement? have heared that lie thousands of times, but in the last decade i have not experienced it a single time in a distro and it does not seem to be included/finished any more.
for windows users or windows admins a linux with systemd on it IS an improvement in stability, security and of course for updating, yes. but all of that does not come from systemd, rather the opposite is the case, systemd reduces it month by month, thats my experience and thats the most important experience for me, idc what lies whitdepapers tell or what broken promises are believed by anyone or the masses, i want secure and stable servers and services and systemd does not fit in for any of these goals and the time it was still "young" and early problems could be accepted in the hope they get fixed soon are gone, but without those fixes having ever appeared.
this is everything i see monitoring Linux boxes everyday. we've shifted mostly to OpenRC about it. i can't imagine defending SystemD if you have experienced anything other than it and SysInitV. yeah compared to SysInitV, it's really nice, but to say it's good and stable? that's like praising your landlord for all the work they do and the reason they haven't fixed your broken dishwasher is because they're so busy from what a good landlord they are
Lol what???
wouldn't that be the definition of stable?
the computer on voyager 2 is running for 47 years now, they might have rebooted some parts meanwhile but overall its a long time now, and if the program is free of bugs the time that program can run only depends on the durability of the hardware, protection from cosmic rays (which were afaik the problems the voyager probes faced mostly, not bugs) which could be quite long if protected from hazardous environments and maybe using optoelectronics but the point is that a bug free software can run forever only depending on hardware durability and energy supply, in any other way no humans are needed for a veery long time ;-)
Too long didn't read.
"Situation"
I'm pretty sure everyone moved on
Just read http://judecnelson.blogspot.fr/2014/09/systemd-biggest-fallacies.html and I see now that I was in error with my claim. So yes, I accept all the down votes in shame.
he's joking
Yeah, was more poking fun of people who cling to the while Unix Philosophy stuff like it's some unwritten rule that must be followed.
I honestly think there's tons of Linux software that could be broadly defined as "multiple things".
Even looking at the links other responders have posted, I even think a lot of linux software is made up of components which are tightly coupled together.
one example of a program that did multiple things is sfdisk, it used to make the kernel reload the new partition table but that was not its main job, only changing them. the extra functionality moved to blockdev which is nearer to doing such as it also triggers flushing buffers and i think setting read/write status. i am fully ok with that change as it removes code from a program that doesn't need it to another that already does similar things so that other partitioning programs like gdisk fdisk or parted could go the same way so that maintainers of the reread-partition-table things can concentrate on one solution at one place (in userspace) instead of opening issues at an unknown number of projects that also alter partitioning. the "do one thing" paradigma is good for developers who maintain the code and i pretty much appreciate their work. if you are up to only want one-day-flies that either die or take huge amounts of resources only for keeping them alive (image of a mayfly in an emergency room and a heart-lung machine attached while chirurgs rushing around trying to enlenghten its life a few seconds more) then you are good with monolithic tools that could hardly be maintained and suck allday as no one wants to fix any bugs or cannot without creating new ones due to the tightened dependency hell it has internally.
the point is not a lack of examples doing wrong but where one wants to be heading towards.
Stop it Patrick, you're scaring him