https://mastodon.social/@nixCraft/112637213238431183
A friend of mine joked when this came to light the other day that we should start the timer to see how long it would be before some SystemD person crawled out of the woodwork to say that was expected behavior and you're an idiot for using it wrong. And we laughed to ourselves, wouldn't that would be funny, that really is the reputation they have now isn't it.
Well, jokes on us, because that's the first fucking comment on the bug.
https://github.com/systemd/systemd/issues/33349
refuse systemd-tmpfiles --purge invocation without config file specified on cmdline · Issue #33349 · systemd/systemd
systemd version the issue has been seen with 256 Used distribution Debian Unstable Linux kernel version used 6.8.12-amd64 CPU architectures issue was seen on x86_64 Component systemd-tmpfiles Expec...GitHub
This entry was edited (3 months ago)
silverwizard likes this.
reshared this
mhoye
•Tired: ignoring usability problems.
Wired: ignoring that words mean things.
jollyrogue reshared this.
Gabriele Svelto
•mhoye
•@gabrielesvelto
"/home is a tempfile" isn't just a footgun, it's an explicit ideological attack on the whole idea of Linux.
I am dead serious when I say that.
SystemD has replaced a human-legible init system with a project whose constituency is large scale SAAS deployments, and if the only people who matter to Linux are the people using an Linux as an invisible, unexaminable underpinning of a service platform then there is _no point to Linux at all_. It's just free labor for infracorps.
Gabriele Svelto
•mhoye
•Hubert Figuière
•JimmyChezPants
•@gabrielesvelto
"Goddamit Lennart. I said /home is a *temple*, not a tempfile. You idiot!"
mathew
•@gabrielesvelto At least on Fedora, it looks as if tmpfilesd is being used purely to make sure quotas are applied. So there are multiple layers of stupid here:
- Using a temporary file management daemon to handle quotas for non-temporary files.
- Making quota-management part of a temporary files daemon rather than keeping it as a separate composable utility.
- Making --purge purge things that aren't set up to have any cleanup applied.
Fun feature for trolls though. "To clean up temporary files and clear space, just run sudo systemd-tmpfiles --purge."
argv minus one
•I cannot for the life of me comprehend how you can, with a straight face, claim that the pre-systemd shell scripts were human-legible. I am SO GLAD they're finally gone forever.
@gabrielesvelto
mhoye
•Look, "/home is a tempfile" isn't just a footgun, or a bug.
It's an explicit ideological attack on the whole idea of what Linux is and who Linux is for.
If /home is just a tempfile to be purged when drivespace pressure hits some arbitrary threshold then Linux is a corporate-owned SAAS shim, and that's all it is. It's not just "breaking userspace", it's abandoning the idea that the people using that space and the stuff they've made there matter at all.
reshared this
Chris Siebenmann, MrCopilot and Charlie Stross reshared this.
Esther Payne :bisexual_flag:
•I've been worried about this sort of thing happening ever since I heard systemD was aiming at userspace.
I knew /home would be in their sights.
neoluddite
•mhoye
•SystemD is for landlords.
The whole system makes sense when your realize that SystemD's only constituency is people who want to rent out computers. Not for people who want to live under a their own roof, maybe in a community, to maybe build something together.
SystemD is just software for landlords.
reshared this
Maddie, Wizard of Installs 🪄 and Charlie Stross reshared this.
Fly-paper-love-maker
•Adrian Vovk
•tmpfiles just needs to be renamed. It hasn't been just for temporary files for a very long time. Yes this is a foot gun
/home is not a temporary file. And it has never been seen as one by systemd. In fact, systemd has tools like homed that are designed explicitly to give more control of your home dir to you, the user, with more flexibility over it than with traditional home dirs. I think that's as clear as it gets.
So no, systemd is not only for landlords. Quite the opposite.
Rich Felker
•Adrian Vovk
•@dalias
Nothing happens automatically here... It's a command you have to run. Yeah it was poorly documented that it's essentially a factory reset and that has since been corrected.
By your own argument, the presence of rm makes your system exclusive to landlords, whatever that means. Which is silly.
tmpfiles is not a conspiracy to secretly run rm -rf /home on your system when you're not looking. It's a tool that creates /home on first boot, told by user to delete everything it created
mhoye
•Something _absolutely does_ happen "automatically" here. The Systemd team has created a program _named for managing temp files_ that automatically and invisibly started including homedirs, a "feature" that was in turn invisibly included in an update, nowhere in which the words "tmpctl" and "/home" appear in the same sentence.
I have no idea what train of thought makes you believe this kind of user-hostile nonsense is reasonable, justifiable or excusable.
wants to befriend a capybara
•Héctor The One And Only
•Why does every piece of software in the FOSS world have to become a religious crusade?
If you don’t want to use it, don’t!
mhoye
•Philip J. Hollenback
•argv minus one
•Jules 🍺
•Arne Babenhauserheide
•I remember the discussions about whether Debian should adopt systemd.
My argument was: no, that would be dumb for distributions on many levels (top 5 strategic problems systemd causes for distributions):
https://www.draketo.de/light/english/top-5-systemd-troubles
I use Guix these days, and that it does not use systemd is one of the reasons.
https://guix.gnu.org/
I trust neither systemd nor its developers.
Linux once promised not to break userspace. Sounds like that should also mean to advise against using systemd.
Top 5 systemd troubles - a strategic view for distros | Zwillingssterns Weltenwald | 1w6
www.draketo.demhoye
•Arne Babenhauserheide
•I’m not sure. One word of warning: Guix requires quite a lot of diskspace, because it can freely mix and match versions of dependencies, and quickly getting a program just for one shell (as I do regularly) causes high disk usage on the long run.
⇒ don’t use it for small devices. I have 500 GB for / and 500GB for /home to shield myself from that.
guix gc cleans up, but then packages added in the running shell need to be re-installed.
That said: it’s really nice to be able to do that
prasoon
•JimmyChezPants
•Only thing here, you should've put "GNU" in several of the places you put "Linux".
Strictly speaking, Linux is just one of the pieces of software that comprise the majority of GNU releases.
I do not ever give this lecture when people just use Linux as shorthand for the OS, but the cognitive dissonance is kinda high with this one cause what we're really talking about is the Unix philosophy, which is from the old times, but informs the ethics of GNU/Linux.
Chris Combs (he/him)
•JimmyChezPants
•Don't you have a class on macaroni art to teach or something?
mhoye
•JimmyChezPants
•@combs
Oh sorry, I thought we were talking about some deep history and fundamental philosophies of the thing, not being promo guys.
Someone ad homs, I might ad hom back, it's just how it goes.
mhoye
•Jamie McCarthy
•JP
•mhoye
•Sheogorath
•> It's an explicit ideological attack on the whole idea of what Linux is and who Linux is for.
May I ask, because I honestly don't know: Who is Linux for?
mhoye
•railmeat
•@sheogorath
I don’t think that is the complete answer.
⛈️ Information ⛈️
•it's interesting you say this because NixOS, in practice, also sorta believes that /home shouldn't contain anything other than generated outputs and purely transient state.
Lord help you if you have browser bookmarks.
ROTOPE~1 :yell:
•⛈️ Information ⛈️
•@rotopenguin I enjoyed how it took me 6 hours of research, 3 incorrect tutorials, multiple shrugs from local nix experts here and I still couldn't get a straight answer on how to use local files in a nix flake.
But more directly: you're supposed to be able to completely reproduce any process and produce an immutable output. So is this "I put my family photos in a repo and then the flake copies them locally and I sync by hand?"
mhoye
•⛈️ Information ⛈️
•mhoye
•⛈️ Information ⛈️
•curtosis
•@Elucidating @rotopenguin Linux was never* that hostile to longstanding, intuitive core behavior. “Where I put my stuff” was never temporary by default.
Even Solaris-isms like /export/home were completely predictable.
*And my first Linux was kernel 0.99.3 on 5.25” floppies.
Empathic Qubit (Old)
•@gsuberland
leo vriscrab² (homestuck) :dado_verified:
•systemd-tmpfiles --purge
with no additional flags sounds like something useful (removes unused temporary files?) but it's not actually an operation that makes any sense to do" (it'll be disallowed in the next release)Simon Frei
•mhoye
•Everything you've just said is wrong.
The bug got fixed after public outcry, but the working culture that allowed that bug to exist in the first place hasn't changed at all and that's the problem.
If you've ever maintained a sizeable project, you know that long term, discoverability and legibility outweigh literally everything else, and when you find a problem with supportability you can solve with grep you take that win every single time.
Also, this shit's not funny in the least.
Simon Frei
•mhoye
•@imsodin "Nothing intentional?" Guy, _read the bug_.
bluca's opening comment is quite literally "this is working as intended and you are stupid".
The second comment says explicitly "the tool itself is nothing wrong."
It's not until you're 2/3rds of the way down the page that someone says "We need to rethink how --purge works. The principle of not ever destroying user data is paramount" and the next 2 comments from Poettering and Bluca are repeating that No Actually It's Right Actually.
Simon Frei
•Oh and yes, Luca's communication here (not dating it's the only time) is not conductive of a constructive discussion (to put it mildly) - if that was what you all were complaining about, that would make a lot more sense.
silverwizard
@Simon Frei @mhoye So you agree
1) the tool was improperly designed
2) the tool was improperly documented
3) the bug were improperly triaged
4) the bug improperly managed
So what is your issue with being annoyed about being annoyed that things were put in a state where you could destroy your system using a tool where the documentation implies that it does something that *isn't* destroy the system?
Simon Frei
•Also I wasn't poking at "being annoyed", I was poking at all the conjecture about intent and outrage, ask the huge noise being made over this (at least many outraged and well populated toots made it into my timeline, a perfectly objective measure of scale of outrage of course).
silverwizard
Simon Frei
•jollyrogue
•There really needs to be a split. The corps can have LINUX(tm), and people can get the personal *nix Linux was supposed to be.
I have no idea how this would be accomplished, but out needs to happen. From some who runs Linux on servers and my laptop.
prom™️
•argv minus one
•phillmv
•i feel like maybe we get around some of this stuff by like,
having a folder with some shell scripts that represent each service being booted
mhoye
•JimmyChezPants
•@phillmv
I seem to recall it being recognized lol
On all sides, as a telling foible of their ideological opponents. It felt like old BBS flame wars round here for a while. :>
markusmunch
•Sebastiaan
•mhoye
•@sebastiaanfranken @markusmunch
There is no world in "I should see if this command thinks /home is a temp file" is a reasonable question to believe a human might ask. None.
Sebastiaan
•KasTas
•well, in general, pointing out that "something is in the documentation" is just missing half of the problem :|
Too many times it's been misleading, out-dated, trumped by some defaults or just... not there.
Also, talking about (missing) ways and means to actually test shit before deploying to actual machine :|
mhoye
•Will
•Charlie Stross reshared this.
Charlie Stross
•Tek say vote
•Will
•BardMoss the Linux Guy
•It's not fair to call him an MS employee, as a means of putting down systemd, because he was a Red Hat employee the whole time he developed it until he recently left to be employed by Microsoft.
mhoye
•Jonathan Lamothe
•@mhoye Look, it's plainly in the documentation that when you press this button, the computer will shoot you in the face. It's your fault for not reading the docs.
Do not question why there exists a button that shoots you in the face without warning
argv minus one
•Jonathan Lamothe
•/
and*
. My point, which remains unchanged, was that there is an effort underway to reduce the number of foot guns, and that's a good thing.mhoye
•JimmyChezPants
•@rootwyrm
This was my conclusion just from the few receipts I found a number of years back, but good to know my assessment was accurate.
I was just a pup when the big Debian controversy went down, but once Debian failed to explode and perish I decided to try to be open-minded about it and use it on its own terms and such, but the conclusion I reached after a while is that the dev team is kind of a cult. Not quite one, but definitely holders of articles of faith, like "concurrency".
nutilius@SDF
•Juan Luis
•Peaceful Assembly Robot
•Maybe the fix is to rename the option "--purge-all-including-home"
Human factors do matter, and human factors bugs are also bugs...
gim
•i keep repeating this, but there's only one cure... #nosystemd
https://nosystemd.org/
No systemd
nosystemd.orgIPmonger
•Jonathan Lamothe
•@Krangled Failstate
This is nonsense for at least three reasons:
rm -rf /
requires you to use--no-preserve-root
. I'm not sure about using*
from within the root directory and I'm not about to spin up a VM to test it, but this at least acknowledges that there's a problem.It was bad UX, plain and simple.
Jonathan Lamothe
•Jonathan Lamothe
•@Krangled Failstate As for your remaining points, watch this video:
If you still don't understand, watch it again.
Jonathan Lamothe
•@Krangled Failstate
"Oh no, we found an unexploded land mine from the second world war."
"Pfft. It hasn't been a problem in all this time. It's fine."
This is basically the same argument.
Seriously. Just stop.
Bakunin Boys
•argv minus one
•@SecurityWriter
My sibling in Sheogorath, if you blindly run a command with an option named “purge” and simply *assume* what it does, then I'm very glad you don't have root on any system I'm responsible for.
@mhoye
dr_barnowl
•At first I was all
"Well clearly the problem lies with the idiot who used `systemd-tmpfiles` to create their /home folder"
Then I found the idiot
mhoye
•