dpkg --get-selections | cut -f1 > ~/installed_pkgs.log
cat installed_pkgs.log | xargs sudo apt install dpkg --get-selections | cut -f1 > ~/installed_pkgs.log
cat installed_pkgs.log | xargs sudo apt installIt 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.
If she's like mine she's going to tell you everything is fine and when you visit her in a few months you'll see it isn't working.
I once helped my grandma, on the phone, navigate through a VCR to record a star trek episode. Everything was going well but I came home to an empty VHS.
"I told you it was fine so you wouldn't worry."
I miss my grandma more than that episode of star trek.
Or even get the legendary confusion of them never having turned the machine on in the first place.
Generally, after years of experience doing exactly this, I've found it is a lot easier to dictate a literal sequence of characters over the phone than coordinate a complex visual action with only confused verbal feedback.
Of course, with terminal stuff, you have even further options in, say, sending an email with an attached bash file for them to download and click, or if this continues, set up a script for them (and ad an icon for it in their start menu) that ssh's them into a handy aws or digital ocean instance so you can then ssh into their machine from the comfort of your own home and do it yourself.
This might be a bit too much to expect grandma to perfectly type, but "sudo apt-get update" and "sudo apt-get upgrade" to update her system is certainly easier then trying to describe what to click on a graphical UI.