Feature #15281: Stack one single SquashFS diff when upgrading
Prevent system user uid:s and gid:s from changing between releases
In Tails 3.6 the uid and gid are different compared to previous releases, making incremental upgrades impossible. I.e. it is #13426 all over again (see discussion there for details on why it breaks incremental upgrades). Let's fix this for good this time!
The automatic upgrade bug this will fix was identified in aufs. Assuming overlayfs hasn't this bug:
#4 Updated by anonym almost 2 years ago
So in Tails 3.5 the
debian-tor uid was 108 and in Tails 3.6 it is 107, which causes this new instance of #13426. The reason is simple: in Tails 3.5 we have the
systemd-bus-proxy user, but it is not present in Tails 3.6 due to the
(Now you might wonder why we didn't catch this when testing Tails 3.6~rc1, since the
systemd upgrade was in by then. Well, for some reason (I failed to find why) the
Debian-exim user was added in Tails 3.6~rc1 only, which "took"
systemd-bus-proxy's place so the uid for
debian-tor was the same as in Tails 3.5. Talk about bad luck! :/)
#6 Updated by intrigeri almost 2 years ago
- Assignee deleted (
- Target version changed from Tails_3.7 to Tails_4.0
Sadly, there won't be incremental upgrades to the first release that includes the proper fix suggested on this ticket (using fixed UID+GID for the
debian-tor user and possibly a few others). So I think we should do this in 4.0. I'm thus postponing this ticket accordingly. In passing, another option would be to use systemd dynamic users but it's much more involved.
#31 Updated by CyrilBrulebois over 1 year ago
- Assignee changed from CyrilBrulebois to intrigeri
- QA Check changed from Ready for QA to Pass
- Feature Branch changed from bugfix/15695-avoid-breaking-automatic-upgrades-to-tails-3-9 to kibi:bugfix/15695-avoid-breaking-automatic-upgrades-to-tails-3-9
The changes look good to me, even if there were quite a few merges and fixups needed.
I've pushed a branch with the same name to my repository, only with a few squashed commits.
git diff against the branch on the main repository shows no differences.
We could probably compare sorted lists, but after discussion with intrigeri, that looks to be happening seldomly enough that it's not worth the cost.