The folly of Debian major version upgrades The author attempted to upgrade their Debian server from Buster to a newer version but encountered a critical failure when installing a new package, which removed libcrypt and locked them out of the server. Thanks to a backup, they recovered and used the opportunity to migrate to new software like Dendrite and Forgejo, concluding that Debian major version upgrades should be treated as full migrations rather than simple upgrades. The folly of Debian major version upgrades I recently realized that my web server was still on Debian Buster, 2 whole major versions behind the latest Debian version. Normally this kind of thing wouldn’t matter to me except that my matrix-synapse server was unable to federate with matrix synapse servers running newer versions. I normally run rolling release distributions on my local machines I use Void btw and it had been a long time since I tried this kind of upgrade. I went in hopeful that it would be straightforward. This is a reminder to backup consistently. Of course after thinking everything went fine, I tried to install a new package and libcrypt ends up getting removed leaving me unable to login to my server. Luckily I had backed up before this which saved all of my bespoke configurations. I’m sure no one noticed the down time but I did use this as an opportunity to make the followjng changes: - matrix-synapse upgrade to dendrite for better performance. - Gitea to forgejo just to try something different. - Properly set up actions to auto build and deploy site on push. - Rework website and swap to the terminal hugo theme So far, I have positive opinions of all of my changes and highly recommend dendrite and forgejo. Note to self: Never consider it upgrading Debian version. Always structure it as a migration to newer Debian version to avoid downtime