2025-08-11 Upgrading Debian Bookworm (12) to Trixie (13)
Before starting the upgrade, make sure your `/boot` partition is at least 768 MB in size, and has about 300 MB free. If your system does not have a separate /boot partition, there should be nothing to do. -- 5.1.5. Ensure /boot has enough free space
I am missing 34M for boot!
# df -h | grep boot /dev/sda2 734M 141M 540M 21% /boot
I'm ignoring this for the moment. :(
Deleting files from the last upgrade:
find /etc '(' -name '*.dpkg-*' -o -name '*.ucf-*' -o -name '*.merge-error' ')' -exec rm '{}' ';'
Purging config files:
apt purge '?narrow(?config-files)'
Removing old stuff and making space:
apt autoremove apt clean
Lots of reading. Replacing `/etc/apt/sources.list` with `/etc/apt/sources.list.d/debian.sources`:
Types: deb URIs: https://deb.debian.org/debian Suites: trixie trixie-updates Components: main non-free non-free-firmware contrib Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg Types: deb URIs: https://security.debian.org/debian-security Suites: trixie-security Components: main non-free non-free-firmware contrib Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
And then:
apt update apt upgrade --without-new-pkgs apt full-upgrade
I'm ignoring the warnings about directories the upgrade process was unable to delete: The ones I did check contained scripts and the like. I would have felt OK to delete directories with generated files, or files modified by me. But this? I don't know.
Conflicts I ran into:
/etc/exim4/conf.d/main/03_exim4-config_tlsoptions
This file showed up as a conflict but it was nothing I remember doing. Install the maintainer version!
/etc/systemd/journald.conf
I had added `SystemMaxUse=200M` and `MaxRetentionSec=7d` because I didn't want to give the log files that much space. So I redid those changes for the maintainer version.
/etc/pam.d/login
I'm not sure what this is about. Did I comment `session optional pam_motd.so motd=/run/motd.dynamic`? Perhaps I did. Let's go with the maintainer version and see if that's OK.
To do after the upgrade:
rm /var/log/wtmp* /var/log/lastlog* /var/log/btmp*
I noticed that the sway background image is back. I had to add a line at the very end of my config file:
# # Debian # # Include all the extra config include /etc/sway/config.d/* # Override the background output * bg "#333333" solid_color
- *2025-08-11**. The things that aren't working on the server:
Getting Node.js installed was a pain. It has a separate sources list from NodeSource. ☹️
- Solved, hopefully.*
Services that rely on Monit starting a Mojolicious app via Hypnotoad no longer work. Monit claims "File '/home/alex/perl5/perlbrew/perls/perl-5.40.0/bin/hypnotoad' does not exist". ☹️
- Rewriting the wrappers as systemd services.*
My local Emacs can no longer connect to the server via Tramp. It just hangs. `ssh` and `mosh` still work, the config files are unchanged. ☹️
- *2025-08-12**. Ah, if I start Gnome, my old enemy is back: `localsearch-3`.
Looking at 2018-05-07 Laptop Fan and trying to disable to crawling:
# gsettings get org.freedesktop.Tracker3.Miner.Files crawling-interval -2 # gsettings get org.freedesktop.Tracker3.Miner.Files enable-monitors false
The old `tracker` package is now a transitional package that depends on `tinysparql`. Trying to `apt remove` either of them will attempt to remove `gnome-session gnome-sushi tinysparql xdg-desktop-portal-gnome gnome-session-xsession nautilus tracker-extract`. Fuuuck.
Looking at the man pages, I get the feeling that `localsearch-daemon(3)` is what I need kill the processes. But how to disable them?
# locate localsearch|grep .service /etc/systemd/user/gnome-session.target.wants/localsearch-3.service /usr/lib/systemd/user/localsearch-3.service /usr/lib/systemd/user/localsearch-control-3.service /usr/lib/systemd/user/localsearch-writeback-3.service /usr/share/localsearch3/miners/org.freedesktop.Tracker3.Miner.Files.service /var/lib/systemd/deb-systemd-user-helper-enabled/localsearch-3.service.dsh-also /var/lib/systemd/deb-systemd-user-helper-enabled/gnome-session.target.wants/localsearch-3.service
OK, some candidates!
The manual page for `localsearch-3(1)` mentioned that it was started by a `.desktop` file. But perhaps I can just disable the service?
Maybe not.
# systemctl --user disable localsearch-3 The following unit files have been enabled in global scope. This means they will still be started automatically after a successful disablement in user scope: localsearch-3.service # sudo systemctl disable localsearch-3.service Failed to disable unit: Unit localsearch-3.service does not exist
I'm not sure what to do.
# locate localsearch|grep .desktop /etc/xdg/autostart/localsearch-3.desktop /usr/lib/x86_64-linux-gnu/localsearch-3.0/extract-modules/libextract-desktop.so /usr/share/localsearch3/extract-rules/10-desktop.rule /usr/share/localsearch3/miners/org.freedesktop.Tracker3.Miner.Files.service
Perhaps it's that first file. But how to disable *that*?
Ah, I am not alone. With that info I found a discussion on the Arch Linux forum with various strategies being discussed. I will try to change the `X-GNOME-Autostart-enabled` line to `false` and see whether that helps. And while I am at it, I will also change `X-GNOME-HiddenUnderSystemd` to `false`.
- *2025-08-13**. Oh, and I can no longer edit remote files with my Emacs at home. It just hangs there and waits for the prompt or something, I guess.
- *2025-08-13**. Oh, and that annoying Gnome keyring? How to disable GNOME Keyring on GNOME desktop by Dan Nanni suggests to copy the `gnome-keyring-*.desktop` files from `/etc/xdg/autostart` to `~/.config/autostart` and append the line `X-GNOME-Autostart-enabled=false` to each one.
- *2025-08-14**. The chkrootkit mail I get every day has a lot of useless information. One looks like *all* the dotfiles? Ugh.
- *2025-08-17**. Ah, at the very end of the `chkrootkit` email is the answer:
cp -a /var/log/chkrootkit/log.today /var/log/chkrootkit/log.expected
- *2025-09-13**. Upgrading the Raspberry Pi I got a very long time ago from a friend. I use it as a music server connected to the Auxiliary input for my radio in the kitchen.