The server that hosts this page was updated from Debian Jessie (8) through Stretch (9) and onto Buster (10) over the course of a few hours today. It involved surprisingly little suffering and should not affect functionality, please let me know if you find anything left in a broken state.
I didn’t realize how long it had been since I did any manual maintenance here, apt unattended upgrades, certbot, and a few scripts for user-installed package upgrades and backup had done such a good job maintaining things just visibly enough to know it was being taken care of that I’d let it get past-due. Most of my other individually-installed boxes are Arch rolling-release machines that require a few minutes of attention every month or two, so they don’t have the periodic major breaking maintenance issue to the same degree.
Now I can let it take care of itself again until 2022 or thereabouts.
A few notes that may be useful to others under the fold.
- The Debian upgrade guides at linuxconfig.org (the 8-to-9 and 9-to-10 versions basically only differ by
's/stretch/buster/g') are good checksheets to make sure you haven’t done anything that will leave a dangling problem, at least for someone like me who doesn’t have the dpkg/apt incantations in my fingers.
- The advice about using
aptitude search '~i(!~ODebian)'to track down errant packages-no-longer-in-repo is useful. I knew
pacman -Qdtqbut not the
pacman -Qmqequivalent. It sped things along.
- Don’t be a dumbass, if you have /usr/bin/php5 hardcoded in any configurations, like say ttrss’s config.php, you probably need to change it to /usr/bin/php for PHP7 support…that only took an hour to spot why update_daemon2.php was barfing looking for php5 while spawning workers.
- The changelog for fail2ban warns that configs are likely not compatible between the versions shipped with the major Debian releases. They aren’t kidding, take the package version and forward-port your customizations, it’s not worth trying to port the whole config.
- You obviously don’t want to overwrite your server configs for things like nginx, Debian does-the-right-thing and drops a
default.dpkg-distfor nginx that you can swipe appropriate-for-version php-fpm lines from to keep things pointed at the best supported php packages.
- It turns out that when I’m working on a freshly-snapshotted VM which also has pruned nightly borg backups for years, I’m willing to do some seriously brazen shit even on a “production” system. It also turns out that it all worked out and I didn’t have to revert once.