https://www.theregister.com/2024/06/20/systemd_2561_data_wipe_fix/
Following closely after the release of version 256, version 256.1 fixes a handful of bugs. One of these is emphatically not systemd-tmpfiles recursively deleting your entire home directory. That's a feature.
The 256.1 release is now out, containing some 38 minor changes and bugfixes. Among these are some changes to the help text around the systemd-tmpfiles command, which describes itself as a tool to "Create, delete, and clean up files and directories." Red Hat's RHEL documentation describes it as a tool for managing and cleaning up your temporary files.
That sounds innocuous enough, right?
It isn't, as Github user jedenastka discovered on Friday. He filed bug #33349 and the description makes for harrowing reading, not just because of the tool's entirely intended behavior, but also because of the systemd maintainers' response, which could be summarized as "you're doing it wrong".
(Score: 5, Insightful) by Unixnut on Sunday June 23 2024, @10:44AM (3 children)
Putting my cynic hat on (which unfortunately is right more often than not, especially in "business"), Redhat adopted systemd (to not say sponsored its development and is actively forcing on the Linux ecosystem) because it sees big money in support and consulting fees in the problems and obfuscation it creates. Being a RH creation they will always be in control of its development direction. They have the best documentation on it, would be the first to get bugfixes, new features, and the developers can make good consulting money on the side with support and modification of systemd for others.
One of the original big strengths of Linux was that it was open and hackable, with loads of little systems that could easily be replaced, modified and debugged without having to pay "consultants" a huge amount of money. Anyone who read a bit about shell programming could modify all these programs and how they connected to each other to make the system do what they wanted.
Contrast this with Windows which is basically a black box, where almost everything is shoved in "svchost", and you have to know arcane black magic to understand and configure the registry to do what you wanted it to (meaning lots of money for MS consultants).
The second was that Linux's reliability and openness meant that there really was little money to be made in providing support. Considering how many Linux systems are out there, the income generated from support and consulting was minuscule. Having worked in mixed Linux and Windows environments, I can tell you pre-systemd Linux was effectively bulletproof, it could run for months if not years without an issue.
As a result we had 5 MS sysadmins, always had an expensive MS support contract, and often had their consultants around to debug some issue or make some changes our sysadmins could not do. While Linux took care of itself so well that we only needed two Linux sysadmins for an estate 10x larger than the Windows one (and we only had two so that there was some redundancy if one of us was away).
RH looked at Microsoft and the sheer amount of money it generated on support contracts and consulting fees, and decided it wanted to emulate that. Hence why systemd is effectively a mirror of svchost, and gconf was a mirror of the windows registry. Given enough time I expect systemd to subsume everything between the kernel and application layer, becoming effectively "LinuxD", the Linux subsystem.
As to why Debian adopted it, I remember the eventual vote on whether to adopt systemd was very bitter, with accusations of bribary and "stacking the deck" of voters for systemd (along with all kinds of threats and abuse hurled about) and loads of resignations. The compromise was to allow "init choice" at install, with both systemd and other options available. When this compromise was rejected the Debian community split, those who split off formed Devuan [devuan.org], which is the only Linux distribution I have used since.
As both RedHat and Debian are the two "seed" distros from which almost all others were derived, getting those two to be "systemd only" was the first big success for systemd adoption.
The second one was that almost all proprietary Linux software ran on RHEL, so by RH adopting systemd all those proprietary software companies adopted it too. That effectively gave no alternative to adopting systemd for companies that use Linux, because even if you could hack the proprietary software to run on a non systemd Linux, you would not get any support from the supplier for the setup.
Devuan (and other distros) are holding their own well against the onslaught, but due to the above they are unlikely every to be used in Enterprise environments, and as systemd subsumes more and more of Linux subsystems, they will drift further apart in compatibility (not to mention the increasing workload to fork and maintain every single subsystem) and end up on the fringes.
Well, the original Linux users from long ago are now a minority. A large influx of people from the Windows world entered Linux, without understanding the Unix philosophy nor the culture, and most not really caring (they just wanted a "free" OS). Ex Windows developers brought their design and development mindset, and effectively started re-implementing what they knew from Windows on Linux.
They are generally the ones who are most "pro systemd", and do try hard to make Linux into Windows. The above occurred to me when one of our Windows sysadmins sang the praises of systemd. He found it much easier to understand because it reminded him of Windows which allowed him to put "Windows and Linux sysadmin" on his CV.
Correspondingly MS has been implementing more and more of Linux on a Windows core, perhaps when the "LinuxD" project is finished you may be able to run the entire thing as a subsystem on Windows in a transparent fashion. The ultimate embrace, extend and extinguish.
(Score: 2) by Reziac on Monday June 24 2024, @01:56PM (2 children)
I just read somewhere that the linux subsystem for Windows now supports systemd.
I doubt the original idea was for RH to monopolize support, but as with all complicated things where you control how it goes, that's certainly how it's going to end up, and the bean counters will have no complaint.
The non-systemd and non-Wayland distros (I use one of 'em) are already fringe, they just haven't yet fallen far enough behind to become nonviable, or forked and fragmented into total irrelevance. It's unfortunate, but I think was predictable as soon as linux penetrated the paying market enough for non-gurus to appear and need support. RH just got there first.
And there is no Alkibiades to come back and save us from ourselves.
(Score: 3, Interesting) by Unixnut on Tuesday June 25 2024, @10:20AM (1 child)
Correct it does but support is not yet complete, plus systemd has not yet subsumed enough of the Linux OS layer to be a complete abstraction away from the kernel. I suspect if systemd successfully becomes an abstraction layer between the application layer and kernel layer, you will be able to run what looks like a full Linux distro under Windows.
Already some companies I worked give developers Windows with the Linux subsystem and say "it is just like Linux" instead of actually offering a Linux machine. It isn't "just like Linux" but from their point of view they just need one OS, one support contract and everyone can be managed by Active Directory. Much simpler than a separate Windows/Linux infrastructure.
Why doubt it? It seems logical, and from a business perspective it seems like a definite way to increase revenue. Don't forget Red Hat was bought by IBM. IBM as we know is very big on making money on consulting and support fees, that is their bread and butter. They also don't shy away from obfuscation and lock-out of systems so that you have to use their support and consulting services.
I also ponder if there is a larger fight going on between IBM and MS for the share of the OS market. After all Microsoft through SCO launched some serious legal attacks against IBM and Linux in the 00's, not to mention all the FUD against Linux.
Now IBM through Red Hat is effectively turning Linux into an equivalent of Windows in order to compete directly against Microsoft for the enterprise market, while Microsoft builds out its subsystem in order to successfully subsume Linux into a Windows service and neuter the threat.
I agree, but I think the point where they become non-viable is coming close. The Devuan team have done a great job ripping out as much of systemd as they can but as I can see from the mailing lists, it is getting harder and harder.
Firstly as systemd takes over more Linux systems, they have to fork the original systems and maintain them, which takes a lot of man power and as no companies are interested in a non-systemd Linux (for reasons mentioned in the previous post), nobody is really willing to pay developers to work on the non-systemd code, meaning it is left to volunteers.
Secondly they find themselves implementing systemd "shims" so much now to get programs to work that some on the list started joking that Pottering has got us inadvertently re-implementing systemd for him.
I do feel like it is a losing battle which is why I started moving to FreeBSD a couple of years ago. The servers were moved first because they were easier to migrate, leaving Devuan on my workstations.
However a few months ago I moved my main desktop workstation to FreeBSD after a Devuan upgrade to the latest stable broke my graphics. The Nvidia driver is proprietary and assumed systemd exists on the Linux machine. It tried to register some nvidia systemd component which predictably failed, borking the install and preventing the driver from working.
After a week of trying to get Devuan to boot with a GUI, including multiple re-installs I gave up and set up FreeBSD as I needed the system up for work. It took a bit of fiddling but once working seems perfectly suitable as a replacement (Except sleep/resume doesn't work, a throwback to the early 00's Linux).
Unfortunately unless there is a sea change in the Linux ecosystem I suspect events like the above will become more common. Things will just get harder and harder for non-systemd distro's to keep compatibility. Eventually they may well turn into nothing more than hobby/experimental distros, not fit for everyday use.
As the moment my laptop is the only Linux OS I have left. Simply because suspend/resume works on it and it does not need a proprietary graphics driver to work, so the Nvidia issue above has not occurred. However I feel it is a matter of time until even that drifts too far out of compatibility.
(Score: 2) by Reziac on Tuesday June 25 2024, @01:33PM
Myself, I'm not running servers or needing to support a bunch of systems; I just wanted something that didn't make my eyes bleed like Win10 did (and still does) and where the file manager (where I more or less live when I'm not doing something else) doesn't make me want to string up a UI developer. A good stable desktop OS that would give me no grief and would Just Work. (I was spoiled by XP; suits me very well, never a bit of trouble and uptimes measured in years, and the ability to make it wholly restful to the aging eyes. And I'm past where I'm willing to fight the everyday OS to a draw. Immediate surrender or it's on the next prospect.)
Daily driver is still XP64 (deal with it, world, I'm safer than you are). Mostly PCLinuxOS when I need "modern". And a whole stack of small HDs and a hotswap bay for Test OSs (have found live and installed are often not the same). But as you say... "Eventually they may well turn into nothing more than hobby/experimental distros, not fit for everyday use." I think it's already to that point. And an awful lot of 'em are one or two guys struggling to keep up. So I've been hunting a distro that suits me as well as PCLOS and that has a definite future in the linux ecosystem, but so far have found only tolerable, not "I enjoy using this" and "everything works". So far Fedora/KDE is the least trouble and least annoying but jaysus the performance is nowhere close to PCLOS, which runs like the wind on any piece of crap. Not quite Puppy, but close.
"The Nvidia driver is proprietary and assumed systemd exists on the Linux machine."
Oh. Oh dear. This perhaps explains why a recent attempt to install PCLOS (which happens to be non-systemd) on Default VM Hardware... simply refused to work. And perhaps why on real hardware with random vidcard (would have to check what's in there), Devuan was weird after an update, to where I deemed it "needs a do-over" and Debian refused to update at all.
And there is no Alkibiades to come back and save us from ourselves.