Linux From ScratchThis Forum is for the discussion of LFS.
LFS is a project that provides you with the steps necessary to build your own custom Linux system.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I have been reading lots of hate about systemd, but why?
I have implemented systemd in my LFS, before the LFS systemd book was made. Just because I want to try it, and I didn't want to spend time writing my own boot scripts before I got my LFS build scripts working.
Now my build scripts is working, so I have plans on updating them to the latest LFS release (or maybe current dev book). But before that I need to decide if I'm going to hang on to systemd or change. I really do like BSD init.
So, what is wrong with systemd? discuss! no flame wars..
For me and why I was agitated by Systemd, a lot had to do with the way Systemd was rushed into Fedora which I was using at the time. Compared to GRUB2 which was a demo project in Fedora for years, Systemd was on rails. Within a year of Lennart Poettering's initial announcement of Systemd (which I now cannot find), Fedora planned to replace Upstart/SysV with Systemd in Fedora 14. But the devs were nervous, chickened out, and delayed it to Fedora 15. I remember reading comments by Lennart somewhere about that at the time. He was pissed since he had worked hard to get it ready for Fedora 14. Six months later, Fedora 15 was released with Systemd as the default.
When Fedora 15 came, in addition to me having to learn a bunch of new stuff that I was not interested in, Systemd made my computer reboot about half of the time when it was shutdown. I would shutdown, get up to leave, and the thing would turn back on about the time I got to the door. I never figured that out. I even found comments by Lennart to some others with similar complaints, and he had nothing to suggest other than some scheme to generate a shutdown log to sift through. I ended up figuring out a way to install Fedora 15 starting from a minimal system without using Systemd. And it worked, too. But I had to maintain the SysV scripts myself with rsync after every system update because the various package maintainers were beginning to make their update rpms delete their old SysV and Upstart stuff (and Fedora was making them do that, or else). Systemd is not just another package. It's a core component probably second only to the kernel.
So Lennart was pissed that Fedora delayed Systemd. But by now, I was pissed that it hobbled my erstwhile solid system. I left Fedora forever. I stopped merely thinking about LFS and started building it looking to gain back the feeling of control I thought I had lost to Systemd. I never went back to Fedora, and I've been using BLFS for several years. Now, Systemd is muscling its way into that.
I guess the short version of all this is: I didn't have a problem for Systemd to fix. I didn't ask for it. It was forced on me. It gave me new problems. It wasn't transparent or user-neutral. I couldn't get rid of it or work around it. So it bugged me. Still does. BTW, I highly regard Lennart Poettering as a person and Linux contributor.
P.S.: You probably should edit your thread's title to mention LFS or it might get moved (in case it matters).
So, what is wrong with systemd? discuss! no flame wars..
Good luck to have a discussion about systemd without flamewars...
I hate it because it is so terribly bloated. I don't need all that crap, and I want to keep my system as simple as possible. I have written my own initscripts in bsd-style.
I left Arch because of systemd, and I really loved Arch until then...
Actually, the reason I hate systemd is not because it is bloated - there are other blotware that I don't waste energy on hating, I just ignore them. The real reason I hate systemd is because it is like a religious mission trying to force it upon everybody.
if you really NEED the old init system
install the legacy RHEL5 or the current RHEL6
Linux From Scratch still uses SysV, but now offers Systemd. I think the OP has built both versions of LFS and now just wants to read some opinions before deciding which way to stick with.
Systemd offers no real benefits that are not currently available through the standard system other than controlling the OS through a sealed interface-less hyper-visor in PID-1.
All the touted features of systemd are available as modular units.
sysvinit, OpenRC, or Runit
pm-utils
inetd
acpid
sysklogd
watchdog
cron
atd
consolekit
eudev
libcgroups
perp, daemontools, or Runit
dhclient, dhcpcd, or networkmanager
Basically put, it's all those tools in one toolkit in a sense MACified to make things easier, but with an extreme level of complexity that isn't warranted, needed, or required by GNU/Linux.
On paper it's nice, but in practically it's vastly overbloated because it requires extras from BLFS that may or may not be needed by an administrator and could lead to potential security hazards. The very fact it becomes a hard dependency within the system is another bad problem. In order to remove systemd, you basically have to scrub the system and rebuild it all over again. It also claims to be sysvinit script friendly, but it's not. All service daemons have to be redrafted using service start files and can not truly use sysvinit scripts unless called because the service manager will not assign a socket to that application.
Systemd basically is a clone of what Sony Computer Entertainment did with their PlayStation 3 Operating system with a locked hyper-visor that only allowed privileged software access to underlying resources, which was very little, if any at all.
Plus, there is another factoid...
Systemd is far from completed featurewise... when completed it's entire ultimate long-term goal is to completely eliminate the need for the current GNU operating system, shell interfaces, compilers, libraries, and other kernel handling toolkits. Basically put... Linux OS (or systemd-OS if you want to be technical).
Plan9 actually has done this with UNG/Linux, but on a more modular scale that is at least backwards compatible with GNU.
Yeah, already saw Frank, and from what I've gathered from backtracking through the mail there, Kay and Lennart are on thin ice trying to hijack kernel commandline functions which is a major no-no of kernel developers. Not only that but it seems Linus has nicer things to say about Nvidia compared to how he feels about Lennart and Kay not fixing stuff and letting bugs pile up endlessly, as well as their attitudes towards problems and code submissions.
I honestly wouldn't be surprised if they actually start a war with the Linux developers and Linus and the developers just start going through the code base and dumping out udev and systemd derived code, and in the end GNU/Linux goes back to DevFS and Hotplug. I could imagine how Red Hat would deal with both Lennart and Kay in terms of their employment with them as well.
It also appears kdbus got quickly put to death as well due to all this.
We all better start dusting off our archived sources and patch set for DevFS and Hotplug, because at this rate, them, HAL, and all those other long dead projects we used to use in GNU/Linux may need to be forcibly revived. I've already been scrapping up the sources for each and all known patch sets to work on getting them compiled, and updated for newer kernels, rule sets, and other stuff.
Whatever the rate, this isn't over, and the fireworks have yet to fly.
Linux From Scratch still uses SysV, but now offers Systemd. I think the OP has built both versions of LFS and now just wants to read some opinions before deciding which way to stick with.
Exactly this ^ altough I have missed all the "war" going on against systemd
Quote:
Originally Posted by frankbell
Take a look at this thread, and particularly the link in the first post.
Okay, so Udev extracted from Systemd was out of the LFS book and Eudev was in (for a few days). Now Eudev is out and Systemd itself is in. But SysVinit will still be there and scripts will be used to configure the system for one or the other, I guess.
systemd will not be going in my future builds. I'll keep eudev and all info on it with a buildscript. I refuse to poison my system with that garbage.
Bruce shouldn't be playing fast and loose with systemd being it's still technically in development and isn't near a stable long term release.
If needed guys I'll draft up a hint we can see about getting stickied here for anyone willing to avoid using it. I still have my eudev book, and it looks like I'll be keeping it for some time unless Bruce recants this decision.
Distribution: LFS 9.0 Custom, Merged Usr, Linux 4.19.x
Posts: 616
Rep:
From a purely technical perspective, it's not very modular and creates lots of dependency by absorbing other things in non-modular ways. That, by itself is very contrary to the traditional UNIX philosophy of focused, modular and simple. There's been a lot of feature creep in that whole project.
It can be said that all of that is normal to overhaul processes in software development, and that it will eventually shake out. However, there are serious personality clashes between some members of that team and large portions of the Linux community.
Personally, I don't use systemd because I tried it on Debian and there was no noticeable difference to me, other than it changing the way some things work that I didn't see a need to change. But, I run in console mode most of the time, and the real difference is supposed to be on the desktop.
Why do I run in console? I hate X, always have and always will. That's not to say I hate GUI's, I've used plenty, and liked them. X I hate though... really, really hate it. Even when it's not buggy, it's still flaky, things like text-selection and whatnot... drives me nuts.
One of biggest beefs I personally had was how LP said BSD was a irrelevant toy OS when everyone who knows the history of GNU/Linux all know BSD was responsible for GNU/Linux being born as well as one of the breeding grounds for a lot of software for modern Linux.
BSD has contributed a lot to GNU/Linux and he takes those contributions far too lightly.
The other beef I have is how falsified the supposed backwards compatibility with sysvinit scripting is portrayed by LP and crew. If you don't use systemd exclusively you don't get service daemon management and you end up with a huge dependency pit as well as a vast amount of unnecessary software cluttering the system unused.
The Gentoo people saw this.
On top of that his sheer attitude towards UNIX on the whole is extremely condescending and his willingness to trash POSIX, one of the standards that GNU/Linux has a goal towards, as well as the philosophy of UNIX as quoted by Doug Mcllroy, leaves me to wonder how such a reckless buffoon could have ever gained such a following.
One thing that angers me is that hardly any GNU/Linux distributions attempted to use more sound init alternatives like OpenRC, s6, Runit, Upstart, and other 3rd party init solutions which do the same thing as systemd (parallel daemon startup and management) but aren't a dependency pit, allow full sysvinit compatibility and compliance, and have unnecessary software if you opt to use sysvinit.
Exactly and with Apple's launchd now being open sourced out to the public, launchd could in fact be utilized as a Cross-Platform system management daemon. FreeBSD even has a work-in-progress port of it to possibly be used as an alternative to bsdinit+devd+hald that's starting to show some weaknesses. If launchd can be ported it would bring a full featured daemon manager and init system to BSD that is very well established. It could even have a Linux port if work is done.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.