this post was submitted on 26 Oct 2023
-4 points (47.0% liked)
Linux
48200 readers
1638 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
That's the one thing about systemd that is sort of nice. We don't really need to have more than one init system, and it does a sufficiently comprehensive job of being one. If it were only an init system and nothing else, there basically wouldn't be any remaining complaints about it by now.
I do agree somewhat. The main argument coming against it is not following the "Unix philosophy" which I'm a proponent for, making
systemd
annoying.Gosh, don't use a "GNU's Not Unix" system then!
I think you're confused about what "Not Unix" means in the name "GNU's Not Unix". It's nothing to do with the Unix philosophy. It's to do with overcoming the limitations of proprietary Unices from the 1980's. From the GNU Manifesto:
"GNU will be able to run Unix programs, but will not be identical to Unix. We will make all improvements that are convenient, based on our experience with other operating systems. In particular, we plan to have longer file names, file version numbers, a crashproof file system, file name completion perhaps, terminal-independent display support, and perhaps eventually a Lisp-based window system through which several Lisp programs and ordinary Unix programs can share a screen. Both C and Lisp will be available as system programming languages. We will try to support UUCP, MIT Chaosnet, and Internet protocols for communication."
https://www.gnu.org/gnu/manifesto.html
Nah, I'm not confusing anything, I just decent to the level of people claiming that systemd was not following the Unix philosophy.
I disagree.
I don't really have a choice in the matter: most software is written for GNU/Linux systems, which is Unix-like at best. I agree that Linux has had many improvements since then, and I wholeheartedly support and applaud Linux for what it has achieved as a project.
If there was a usable Unix derivative (different from *nix clones) I would seriously consider it, but I don't think there's much development other than AIX and what was Solaris by Sun.
macOS is certified Unix and its technically BSD
I've had good luck with the BSDs over the years. Great system documentation.
Indeed. It is most fantastic to peruse through their documentation, very well written.
And here I'm sitting, thinking that more software is being written for Windows and macOS, a UNIX® Certified Product. (Don't look up Apple's launchd, your brain would meld trying to reconcile your insane claim that systemd "is not following the Unix philosophy" when launchd certifiably is.)
That said, GNU's Not Unix, so GNU/Linux does not have to follow an archaic philosophy anywhere.
To be fair, every part of it is a small binary that generally does a single thing. You don't have to run them all or even install them but they bring a lot of necessary functionality around base host bootstrapping that everyone used to write in shell for every distro.
I find it nice as an operators of multiple infrastructures to be able to log into a Linux system and have all the hosts bootstrapped in a relatively similar fashion with common tools.
Sysv kinda sucked because everyone had to do it all themselves. Then we got sysv, openrc, upstart and then systems and there was a while there where you never knew what you'd get if you logged into a box. And oh look, I gotta remember 10 different config file locations and syntaxes to assign an IP. Different syntaxes to start a daemon. Do I need to install a supervisor or does that come with the init.
People are doing a lot of really cool stuff with Linux OSs assigning IP addresses in 10 different ways or starting programs was never one of them.
Its also not that systemd has a monopoly, there are other init systems out there, but all the big distros, RH, Debian, ubuntu, arch . . . all came to the same decision that it was the best available init and adopted it. There are other options and any one of those projects is big enough to maintain its own init, but no one really finds the value in dedicating reaources, so they haven't.