On Wed, 01 Jun 2022 22:09:11 +0200 Maxime Devos <maximede...@telenet.be> wrote:
> Ludovic Courtès schreef op wo 01-06-2022 om 18:38 [+0200]: > > There’s a talk by Lennart Poettering where he explains that, > > contrary to what one might think, “chown -R $HOME” turns out to be > > fast enough that systemd-homed can do that unconditionally (off the > > of my head). > > Interesting. > Taking "find $HOME > /dev/null" as an approximation of how long "chown > -R $HOME" would take: > > $ time find . > /dev/null > > real 0m7,066s > user 0m0,427s > sys 0m1,341s > > Assuming that ‘unconditionally = only chown -R $HOME if the uid of > $HOME isn't what was expected’ (otherwise, +7sec for every boot), > that's not too bad. > > That's on a SSD and not a hard disk though, I'd image it would be > worse on a hard disk. > > Depending on the size of $HOME, it could be a lot longer though: > > $ time find /gnu/store > /dev/null > > real 1m9,729s > user 0m4,135s > sys 0m13,840s > > Might still be acceptable as long as uids aren't switched too often > ... > > Can we, as-is in Guix, assume we can modify /home/foo though? E.g. > what if it's put on a separate storage medium not attached at boot. > > Greetings, > Maxime. Could we instead check for existing homes and set uids in /etc/passwd based on that instead? That's practically O(1), but is a bit more involved.