The insidious urge to fix what ain’t broke has arisen. I’ll probably follow the official documentation, unless someone has a better suggestion.
I’m not running anything unusual and I haven’t done much, if any, “customization”. I update packages maybe a couple of times a week, so they’re current.
Should I go ahead and put myself through this now, or wait until support is dropped and I’m forced?
Most of my infra is Debian, and I did it without serious incident:
#Update everything to latest apt update && apt upgrade && apt full-upgrade && apt --purge autoremove reboot #Verify that debian_version is 12.x (STOP IF NOT 12!) cat /etc/debian_version #Check for any pinned or held packages apt list '?narrow(?installed, ?not(?origin(Debian)))' apt-mark showhold #Swap bookworm for trixie in repo files sed -i 's/bookworm/trixie/g' /etc/apt/sources.list sed -i 's/bookworm/trixie/g' /etc/apt/sources.list.d/* #Carry out update apt update apt upgrade --without-new-pkgs -y apt full-upgrade -y reboot #Verify that debian_version is 13.x cat /etc/debian_version #Modernize apt sources to v3 apt modernize-sources -yAnd then maybe apt update to make sure the updates still work OK.
Sometimes you have to make changes to certain repos that don’t have Trixie manifests, but that’s easy enough to roll back.
apt modernize-sources -y
Thanks for this - I hadn’t seen it yet in the docs I’ve been looking at.
No idea what it does, but it looks legit, so I’ll run it!Apt v3 comes with some quality-of-life stuff that apt has been direly missing for years, and one of those is apt sources that make sense to a human.
So the new apt source files have local key location, components, suites, and Uris.
The sources from the before-time just had a one-liner with a uri and some components.
Edit:also the modernize command makes a backup of the source files it touches.
I remember it being none, i modified my app source to pount to the newer release codebame, then
apt update && apt upgrade. I had everything as a container on my minipc and no extreem modifications to the base OS to make my upgrades (both software and hardware) as easier as possible.I’ve yolo’d every major upgrade from debian 8 to 13 without any backups of configs and survived… (dont do that though)
For most desktop systems where you’re not dicking around with files in /etc, there is almost no pain ever
For servers, dealing with the “do you want to install the maintainers version of ____.conf”, sucks… trying to remember all the things i put in php.ini is a pain
Probably skill issue
Make sure linux headers stay installed. Mine didn’t for some reason and then zfs dkms didn’t compile anymore. All I had to do was install it again, though, so the googling why it didn’t compile was the hard part. The boot disk was luckily just ext.
The first sentence gives away, that this is not a technical, but a psychological question. I think most of us know this feeling of this kind of urge, I’d say plan ahead, backup then upgrade. Or -depending on your usecase- a clean install and rebuild satisfies the urge even better. :) (no offense, I did this myself multiple times)
I updated NAS, VPS and Raspberry Pis not so long ago. All when smooth and without issue.
I backed up my configs, made snapshots, and rebuilt each VM from scratch. If I forgot to copy a cron script, i pulled it from the snapshot. It took a full Saturday, but it was a chance to apply everything ive learned the last 3 years and improve some architecture decisions I’d made when i was first learning. With proxmox, you can build a VM that has the basic things you’ll change on every machine (networking, docker, automatic updates, ssh keys, monitoring) and clone it for each server you need.
Annecdata here, but I didn’t have any significant problems on like 5 servers. I recall there being one minor edge case, but I don’t remember what it was (sorry). But other than that it was really easy. Even my nvidia drivers continued to work (for cuda, not GUI), which was really surprising. ZFS, docker, ssh, nfs, etc. all continued to work without any problems.
If you want to do a test run, create a 12 VM and install your same package list, then upgrade it and see what happens. That could take as little as an hour to do, but more likely a few hours if you want to really take time to inspect everything after the upgrade.
I recently upgraded my gaming pc from Bookworm to Trixie. It was fairly painless. Had to fiddle with some third party repos, but I anticipated that and read up on them beforehand.
The upgrade itself is never a problem.
The real problem is when your server is running an old software that breaks after the update.
For example I had an old php/drupal site and it broke after upgrading debian because the upgrade also updated php to a newer version that is not supported by that old version of drupal.
I’ve done it twice so far (main server and a Raspberry Pi). Although I recall I had some package breakage with the main server (some changes in Podman that did not go well with the migration to pasta, the new rootless network stack), the process was mostly pain free and I could fix things remotely with SSH.
This is why I’ve started running most services as containers inside of an LXC container in Proxmox
Is it painful? I’ve upgraded several versions without difficulty. “third party” repositories are problematic so be sure you follow the guidelines about disabling them.




