4 ms·
SystemD has something of a reputation for being a bunch of arrogant young engineers making fundamental changes to the long established status quo in order to so
by gorgoiler 5y ago
SystemD has something of a reputation for being a bunch of arrogant young engineers making fundamental changes to the long established status quo in order to solve clever problems that range from tiny-minority-edge-case to non-existent.
It’s an absolute classic anti-pattern any industry veteran would recognise. Your new-grad engineer, top of their class and incredibly smart, spends two weeks rewriting a core system in Idris without telling anyone.
So accordingly, I was delighted to see the following:
> [files in] systemd-homed home areas are now internally owned by the "nobody" user and dynamically mapped to the UID used locally.
> This makes migrating home areas between different systems cheaper because recursively chown()ing file system trees is no longer necessary.
All that to save a chown -R if I screw my drive into a new PC (or rebuild the current PC around it)?
If I move it to a non systemD system, you’ve just added the need to chown -R all my files because the new OS says they are all owned by nobody.
I don’t even believe for one moment that a recursive chown of 100k files takes any appreciable amount of time. Certainly not when it’s a one off. (5s for 66k files on my crappy VPS just now.)
In any case, the nobody user is a blunt but useful instrument for running daemons as a user that does not own any files. I don’t really want some janky daemon to run as a user which has write access to /home/gorgoiler.
[I have some guacamole prepared, to spread on my inedible but soon to be eaten hat, the moment someone links me to a diff showing the author of this change as Alan Cox.]
[Update: The hat and condiment survive, author is one L Poettering: https://github.com/systemd/systemd/commit/cf5115f6e531c65bbb5b78c8 https://github.com/systemd/systemd/commit/cf5115f6e531c65bbb...
- fsh 5y agosystemd-homed is not intended for your single-user desktop. Don't use it.
- traverseda 5y agoWhat is it intended for? Certainly not large scale user groups backed by an LDAP server, as those would have consistent uid/gid so setting everything to be owned by nobody wouldn't make sense technically... What is the use case?
- pritambaral 5y agoPortable home directories. Think pen drives.
- AstroDogCatcher 5y agoIn a cloud setting, I guess having user /home dirs on separate volumes from the root disk and having them relocatable is a reasonable analogue. The real issue is that much like the pen drive thing, absolutely no-one actually does this.
- hasperdi 5y agoNo one? Some people were cared enough about this use case to push it through, so I don't think it's no one. Minority maybe, but not no one.
- gorgoiler 5y agoWhat place do these niche solutions have in the main project? In the old days you would write a little script to set up the mapping for your USB drive, once it is plugged in. Linux provides the UID mapping feature, udev gives you a place hook your script, and you glue it together the way you want. If your solution was particularly high quality it might get included as a package in the OS. Someone else might write a different solution that gets packaged alongside yours. Maybe they scratch the same itch in two different ways? Maybe theirs is just better? Systemd on the other hand is judge, jury and package maintainer. What they decide upon is what gets included. They are the cathedral, where once there was a bazaar.
- oynqr 5y agoI guess the use case is for when you want to migrate home to a different install. At the same time assuming you can't just adjust passwd to make uids work. So I guess there is none.
- mariusor 5y ago> SystemD has something of a reputation for being a bunch of arrogant young engineers making fundamental changes to the long established status quo in order to solve clever problems that range from tiny-minority-edge-case to non-existent. With all due respect, but this is bullshit. The devs that started and are working on systemd are clearly veterans of linux system programming and understand quite well the ins and outs of initializing a linux machine. Unless by some chance you're a gray beard that was working on posix in the eighties, I would give the title of veteran to Lennart and the gang.
- esarbe 5y ago> SystemD has something of a reputation for being a bunch of arrogant young engineers making fundamental changes to the long established status quo in order to solve clever problems that range from tiny-minority-edge-case to non-existent. Now, I wonder what could be the reason for that? Maybe because some people just trow out unsubstantiated accusations and hearsay as matter-of-fact? Maybe. Who knows. > If I move it to a non systemD system, you’ve just added the need to chown -R all my files because the new OS says they are all owned by nobody. Looks like you completely misunderstood the use case. Congratulation.