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 snapshot my machine, set it to go overnight, went to bed. Woke up, 24% done “Do you want to use the package maintainer’s version?”. Grr. Went smooth though.
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.
This is where docker becomes a godsend
I upgraded 50 boxes from 9 to 13 last week.
The two dovecot were the most work. Some guacd had trouble with file permissions and I had to manually install and enable a few php8.4 packages and manually apply powerdns db migration scripts.
Oh, powerdns renamed master/slave to primary/secondary, too.
0.076
Update when you can afford downtime. The update should be painless but you know how it is: things go crazy when they shouldn’t. Every time.
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
The official docs have everything, though not as well ordered and concise as they could be.
I’ve taken my server from 11 to 12 to 13. Only issue was 11->12 where backports caused some issue that I no longer remember the specifics of (never broke SSH link), so I just don’t fuck with backports anymore. You need to have your shit together for backports, from what I’ve gathered.
12->13 was abs smooth as butter. Extra 3rd party repos weren’t even an issue. One I had to leave “bookworm” because they didn’t have trixie entries; I found it had no trixie entry by looking at the repo itself - it just kept working no problem after the upgrade anyway.
And I have a “stretch” repo I took from 12 to 13 on another server (it’s mongoDB 4.4 for unifi, an abs shitshow of software those bozos cook up)Anyway tldr docs are good narry a problem will occur.
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.



