Sunday, 31. August 2025 Week 35

How to fix crypttab/cryptsetup boot problems after Debian Trixie upgrade

After upgrading one of my physical hosts to Debian Trixie, it failed to boot.
It complained about the service for mounting my encrypted disk not starting.

Turns out this is a known problem (even mentioned in the Trixie release notes).
For cryptsetup to work in Debian 13, the systemd-cryptsetup package must be installed:

# apt-get install systemd-cryptsetup

After doing this (via the rescue shell) and rebooting the host, the system started seamlessly.
And the encrypted disks were mounted as expected.

Monday, 25. August 2025 Week 35
Friday, 22. August 2025 Week 34

Copy and paste from the commandline in WSL

On a work computer I'm currently using WSL quite often and thus wanted to see if there is a pbcopy/pbpaste equivalent.
Turns out WSL integrates with the X11 and Wayland clipboard APIs, thus we can simply install wl-clipboard.

With this in place, running wl-paste inside WSL dumps the content of the Windows clipboard.
And echo "foobar" | wl-copy puts "foobar" into the Windows clipboard.

Monday, 11. August 2025 Week 33
Sunday, 10. August 2025 Week 32

Fixing 'Repository changed its 'Codename' value' errors during Debian upgrades

Debian 13 (Trixie) was released yesterday. 🎉

As I refer to the stable repositories in my sources list, the following error is now shown since their release information changed:

# apt-get update
Hit:1 https://security.debian.org/debian-security bookworm-security InRelease
Hit:2 https://download.docker.com/linux/debian bookworm InRelease
Get:3 http://mirror.iway.ch/debian stable InRelease [138 kB]
Get:4 http://mirror.iway.ch/debian stable-updates InRelease [47.1 kB]
Hit:5 https://deb.goaccess.io bookworm InRelease
Reading package lists... Done
N: Repository 'http://mirror.iway.ch/debian stable InRelease' changed its 'Version' value from '12.11' to '13.0'
E: Repository 'http://mirror.iway.ch/debian stable InRelease' changed its 'Codename' value from 'bookworm' to 'trixie'
N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details.
N: Repository 'http://mirror.iway.ch/debian stable-updates InRelease' changed its 'Version' value from '12-updates' to '13-updates'
E: Repository 'http://mirror.iway.ch/debian stable-updates InRelease' changed its 'Codename' value from 'bookworm-updates' to 'trixie-updates'
N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details.

To fix this message (and enable upgrading to the new release!), I use the following command:

# apt-get --allow-releaseinfo-change update
...
N: Repository 'http://mirror.iway.ch/debian stable InRelease' changed its 'Version' value from '12.11' to '13.0'
N: Repository 'http://mirror.iway.ch/debian stable InRelease' changed its 'Codename' value from 'bookworm' to 'trixie'
N: Repository 'http://mirror.iway.ch/debian stable-updates InRelease' changed its 'Version' value from '12-updates' to '13-updates'
N: Repository 'http://mirror.iway.ch/debian stable-updates InRelease' changed its 'Codename' value from 'bookworm-updates' to 'trixie-updates'

Afterwards I run the usual apt-get dist-upgrade to upgrade the system to the new Debian version.

Thursday, 31. July 2025 Week 31

Serious coding with AI in 2025

[Keep] a very tight leash on this new over-eager junior intern savant with encyclopedic knowledge of software, but who also bullshits you all the time, has an over-abundance of courage and shows little to no taste for good code. And emphasis on being slow, defensive, careful, paranoid, and on always taking the inline learning opportunity, not delegating.

— Andrej Karpathy, twitter

(via)

Tuesday, 29. July 2025 Week 31
Sunday, 27. July 2025 Week 30

pgp-expiry-monitor now skips revoked subkeys

I revoked a signing subkey of my GPG key.
The expiry date of this subkey will no longer be updated (as the key is revoked).
But I plan to keep the revoked subkey itself in my public key (so people can still associate old signatures with me).

The pgp-expiry-monitor would now alert for all eternity on the expiry date once it passes.
To avoid this, I now added functionality to read the revocation status of a subkey and skip the expiry date check if it has been revoked.

You can install the newest version of pgp-expiry-monitor from GitHub:

go install github.com/x-way/pgp-expiry-monitor@latest
Saturday, 26. July 2025 Week 30
Thursday, 24. July 2025 Week 30

Taking screenshots with GNU Screen

In the tmux and gist and trying to make students happier article, Jan-Piet Mens explains how to take screenshots with tmux.

As I still haven't migrated from Screen to tmux, I was wondering if this is also possible in Screen.
And turns out that there is indeed a similar mechanism that can be used in Screen.

By using the hardcopy command, Screen can write the current scrollback buffer to a file.
This can also be done for a detached session:

screen -X hardcopy -h /tmp/myscreenshot.txt

It's also possible to specify an explicit session and pane to use:

screen -p 0 -S 12345.pts-0.rocky -X hardcopy -h /tmp/myscreenshot.txt