Because of something I did during an anthropology lecture, I learned the hard way to read the "The following packages will be REMOVED" list when upgrading a package to backports in Debian GNU + Linux.
I upgraded pipewire from stable to backports (I want to know if this is related to my problem why essential packages were removed)
I reinstalled tlp because installing gdm3 removed it
After selecting an app search result, instead of a new window opening, an existing window was focused, and this led to me discovering that my built-in extensions were gone
While writing this post, I got the idea of using the list of removed packages in the apt history log output from apt install libpipewire-0.3-0/bookworm-backports to see what packages to install again, so I did that, then I also had to uninstall firefox-esr again
I rebooted, and my built-in extensions and other stuff were resurrected, so now I have full redemption
Another Window Session Manager restored my windows in a way that pissed me off
(Failed attempts of recovery are not listed)
Edit: actually I made the mistake 1 minute before the start of class
What is wrong with your system that requires disabeling updates?
Been running debian stable on a few hundred servers for 25 ish years.
And I always install and enable unattended upgrades. And it have never been a problem. Not even once.
This is why I love ostree distributions so much for my laptop. Not only can I safely update in class, I once switched distributions twice in one day of classes with only like 30s of total downtime, I just waited for the professor to go off on a tangent I didn't need to take notes about so I could reboot.
True, I still think it's fair to criticize the package managers and distros for not anticipating this common scenario and having the ability to roll back easily. How many millions of Linux users have experienced this issue? I'll bet a few.
Debian, Gentoo come from another generation and sometimes it shows, I mean snapshots weren't even a thing yet AFAIK.
Actually, I don't think you could break a system in quite this way in Gentoo these days. Portage generally doesn't remove packages during upgrades (certainly not unrelated ones that would break the depgraph!). It would have exited with (in this case) a message about version conflicts before changing any packages and left it for the user to sort out. Modern versions of portage do a pretty good job of keeping you from shooting yourself in the foot by accident, while leaving you with a lot of leeway for doing so on purpose.
This is one of the reasons I love nix. Most of the time if I break it I just roll back, if I really fuck it up I just reinstall, rebuild my config and I'm back