It give something to start with but still requires human intervention from someone who knows how to navigate in this mess.
It give something to start with but still requires human intervention from someone who knows how to navigate in this mess.
Deleting older versions of packages that people may still be relying on seems like a very obvious no-go in a dependency management system. Any idea why this happens regardless? Is it just a matter of costs? Or is there more nuance to it that I'm missing?
Visible behaviour and functionality is changed or removed without user involvement, choice or recourse, turning every update into a game of Russian Roulette. Even LTS builds don't mean no breakage of behaviours users rely on.
From the developer's POV maintaining security/bugfix-only forks of every feature branch rapidly becomes intractable as a project gains complexity / matures. Meanwhile, for startups, "move fast and break things" is the creed. So as we demand more from our software overall, this situation can only get worse, not better.
The temptation for modern users to say "you know what? it's MY bloody computer, not yours; my problems are actually more important to me than whatever you think you're solving" and unplug from the update streams is overwhelming.
I would maintain a local apt repository for that situation.
If you're provisioning machines on a regular basis it's a different story, but if it's your own personal machine that you're reinstalling maybe every couple years this seems like the most straightforward approach.
Also: Use LVM and snapshot before updating to save yourself a lot of headaches.