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
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

Getting Node.js installed was a pain. It has a separate sources list from NodeSource. ☹️

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". ☹️

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. ☹️

Looking at 2018-05-07 Laptop Fan and trying to disable to crawling:

2018-05-07 Laptop Fan
# 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`.

a discussion on the Arch Linux forum
How to disable GNOME Keyring on GNOME desktop
cp -a /var/log/chkrootkit/log.today /var/log/chkrootkit/log.expected