> Understanding the boot process is a big part of that. systemd is about 1678 "C" files plus many data files. System V is "22" C files plus about 50 short bash scripts and data files. Systemd is basically the Windowsfication of Linux. I'm always surprised by the people that champion it who also used to shit on Windows with the registry or whatever. Cognitive dissonance is a hell of a thing.
Pedantic but systemd is inspired by MacOS launchd, not by Windows services. It has nothing akin to the registry, which even microsoft admits is a pain on windows. Oh, and usually people shit on windows for many reasons, but some of the very core features of the OS are robust and the Linux crowd could take a hint. Like, you know, the notion of service at the OS-level and not some random bash script that nohup'd a bina…
Linux From Scratch ends SysVinit support
301–310 of 416 posts
Re: Linux From Scratch ends SysVinit support
#302Earlier quoted context omitted.
Runit is 5474 SLOCs. Most source files are shorter than 100 lines. Works like a charm. Implements an init system; does not replace DNS, syslog, inetd, or anything else. Systemd, by construction, is a set of Unix-replacing daemons. An ideal embedded system setup is kernel, systemd, and the containers it runs (even without podman). This makes sense, especially given the Red Hat's line of business, but it has little rel…
I use runit on my production workstation and don't think about it; it just works.
Re: Linux From Scratch ends SysVinit support
#303Earlier quoted context omitted.
Makes no sense to dump a superior kernel and executive for Linux. The Win32 layer is the issue, not the underbelly.
I’ve had more hard crashes and BSODs on Windows than any other OS. And I use Linux & Mac more than Windows. Not sure how it’s superior.
Don't get me wrong, NT also has its share of questionable design decisions. However overall the technical design of the kernel is great.
Re: Linux From Scratch ends SysVinit support
#304Earlier quoted context omitted.
> Linux has nothing to do with UNIX design Respectfully, that's nonsense. Linux is directly inspired by Unix (note: lowercase) and Minix, shares many of their traits (process and user model, system calls, shells, filesystem, small tools that do "one thing well", etc.), and closely follows the POSIX standard. The fact that it's not a direct descendant of commercial Unices is irrelevant. In fact, what you're saying her…
Yet, UNIX or Unix proper descendents, have replaced, or complemented their init systems, with systemd like approaches, before systemd came to be. So is UNIX design only great when it serves the message?
If you're going to argue that Linux implementing systemd is a good idea because it's following the trend in "proper" UNIX descendants, then the same argument can be made for it following the trend of BSD-style init systems. It ultimately boils down to which direction you think is better. I'm of the opinion that simple init systems, of which there are plenty to choose from, are a better fit for the Linux ecosystem than a suite of tightly coupled components that take over the entire system. If we disagree on that, then we'll never be on the same page.
Re: Linux From Scratch ends SysVinit support
#305Earlier quoted context omitted.
> It's hard to build a Linux system with a desktop these days without Sysd. Most Gentoo Linux desktop users disagree. In fact, OpenRC is the default in that distro. Having said that, I do expect that Gentoo has more manpower available than LFS.
Maybe they're KDE users. I was under the impression that gnome requires it. FTA it sounds like KDE will soon too. Gentoo doesn't come with a desktop by default either, you have to emerge it, which might install systemd.. FTA: "The second reason for dropping System V is that packages like GNOME and soon KDE's Plasma are building in requirements that require capabilities in systemd"
It doesn't seem to require it at this moment. I have "-systemd" in my USE flags, and have neither sys-apps/systemd nor gnome-base/gnome currently installed. After enabling several USE flags that have nothing to do with systemd [0], emerge was quite happy to offer to install gnome-base/gnome and its dependencies, and absolutely did not offer to install systemd.
Honestly, I don't even know if GNOME has a hard dependency on Wayland... I see many of the dependent packages in the 'gnome-*' categories have an "X" USE flag. I CBA to investigate, though.
Is KDE Plasma building in hard systemd requirements, or is it just building in hard Wayland requirements? I'd known about the latter [1] and -because I'd thought it was important to the KDE folks that KDE runs on BSD- would be surprised if they irreversibly tethered themselves to systemd.
[0] introspection pulseaudio vala server screencast wayland theora eds egl gles2
[1] Though do note that the same blog post that announced the change in policy for Plasma also announced that no other KDE software was going to have a hard dependency on Wayland for the foreseeable future.
Re: Linux From Scratch ends SysVinit support
#306Earlier quoted context omitted.
> Developers don't have to package their project for all distros Essentially nobody uses the sources we provide. Literally nobody packages them. A few people use our rpm and deb packages, but the vast majority uses a (slightly broken and outdated) docker image built by third party. You might not like it, and I certainly do not, but unfortunately containers seem to be the best alternative that just works, compared to…
> but unfortunately containers seem to be the best alternative that just works, compared to everything else. I think it's actually the worst alternative that works. If it didn't work, people wouldn't do it. And the better alternatives require more effort. I think it unfortunately goes with popularity: when programming becomes more accessible, the average quality of code gets worse. When Linux becomes more accessible,…
Re: Linux From Scratch ends SysVinit support
#307Earlier quoted context omitted.
To pile on, a minimal OpenRC service file is just as complicated as a minimal SystemD service file; that is, they're both almost-exclusively composed of key-value pairs. For instance, this is the service file for the 'rsyncd' service [0]: #!/sbin/openrc-run command="/usr/bin/rsync" command_args="--daemon ${RSYNC_OPTS}" pidfile="/var/run/${SVCNAME}.pid" depend() { use net } Like SystemD, OpenRC provides pre/post start…
> As a trivial example, you can dynamically depend on other services depending on system configuration (as PostgreSQL does) Depending on what you want to do, a generator might be appropriate: > Their main purpose is to convert configuration and execution context parameters that are not native to the service manager into dynamically generated unit files, symlinks or unit file drop-ins
get_config() {
[ -f "${PGDATA%/}/postgresql.conf" ] || return 1
eval echo $(sed -e 's:#.*::' "${PGDATA%/}/postgresql.conf" \
| awk '$1 == "'$1'" { print ($2 == "=" ? $3 : $2) }')
}
depend() {
use net
provide postgresql
if [ "$(get_config log_destination)" = "syslog" ]; then
use logger
fi
}
If PostgreSQL has been configured, this reads its config file, looks to see if it's configured to use 'syslog' as its log destination, and -if so- adds a dependency on the 'logger' "meta-service". [0]What would this look like with a systemd service file generator?
[0] What's a "meta-service"? 'provide postgresql' makes the service started by this service file provide the 'postgresql' "meta-service". This is useful for PostgreSQL because you can install multiple versions of the software simultaneously... so the service files are named like postgresql-17, and postgresql-18. The 'logger' "meta-service" is useful because who cares which syslog software you have installed... you only care that it speaks syslog.
Re: Linux From Scratch ends SysVinit support
#308Earlier quoted context omitted.
> but unfortunately containers seem to be the best alternative that just works, compared to everything else. I think it's actually the worst alternative that works. If it didn't work, people wouldn't do it. And the better alternatives require more effort. I think it unfortunately goes with popularity: when programming becomes more accessible, the average quality of code gets worse. When Linux becomes more accessible,…
I've been using Gentoo for 20+ years, it hasn't changed much. I have changed different logger, cron, ntp, login and probably other daemons over time. Stability has gotten better over time, making me not switch to anything else.
I really didn't want to mean that systemd/flatpak are impacting Gentoo and that I am considering moving away.
My hope is that some distros like Gentoo will keep the "old" spirit of Linux forever, while others try to please those who want Windows-but-without-ads.
Re: Linux From Scratch ends SysVinit support
#309Earlier quoted context omitted.
I think systemd is the one to learn now if you want to learn Linux. Maybe someone can make a Unix from Scratch for people more interested in the Unix philosophy than Linux per se.
SysVInit on Linux isn’t true Unix though as the way it abuses runlevels to start daemons was never intended by the original designers of init.
If the intention is to create a system that users can reason about, then sysvinit offers the worst of all possible worlds.
Re: Linux From Scratch ends SysVinit support
#310Earlier quoted context omitted.
Not as much as people in Linux community think, especially those that never used commercial UNIX offerings. GPL is on its way out, a good example is that all Linux competitors in the embedded space, including Linux Foundation's Zephyr, none of them has adopted GPL. GPL based software is now a minority, almost everything uses licenses that businesses rather reach for.
I find Zephyr to be a somewhat poor example. It's typically used on MMUless microcontrollers where the application is linked into the same binary as the OS. I'm sure you'll point out that it's not strictly necessary to use it in that manner, but that's how most people use it and that's how they expect it to work. Licensing it as GPL would mean that basically nobody would use it because it would require releasing your…