Debian 13 trixieでbackportsを使い最新のsnacを利用

さくらのナレッジに軽量ActivityPub Server のsnac についての記事を寄稿しました．

さくらインターネットのさくらのナレッジにsnacの記事を寄稿 – matoken’s blog

ここに書かなかったsnac のことをいくつか書いていこうと思います．
今日はDebian trixie backports のsnac パッケージを使うよう設定してみます．

Debian でのsnac2 パッケージのバージョン

snac2 はDebian パッケージになっています．しかし，stable のDebian 13 trixie のsnac2 パッケージのバージョンは 2.75-2 で少し古いバージョンです．
stable-backports のパッケージのバージョンは現在の上流の最新と同じ 2.85 なのでこれを利用してみます．

$ rmadison snac2| grep -v debug
snac2 | 2.75-2~bpo12+1 | oldstable-backports | source, amd64, arm64, armel, armhf, i386, mips64el, mipsel, ppc64el, s390x
snac2 | 2.75-2 | stable | source, amd64, arm64, armel, armhf, i386, ppc64el, riscv64, s390x
snac2 | 2.84-3~bpo13+1 | stable-backports | source, riscv64
snac2 | 2.85-1~bpo13+1 | stable-backports | source, amd64, arm64, armel, armhf, i386, ppc64el, s390x
snac2 | 2.85-1 | testing | source, amd64, arm64, armhf, i386, ppc64el, riscv64, s390x
snac2 | 2.85-1 | unstable | source, amd64, arm64, armhf, i386, ppc64el, riscv64, s390x

Debian — パッケージ検索結果 — snac2

Debian 13 trixie に backports を設定

Debian backports はDebian stable で一部のtesting パッケージを利用できるよう調整されたもので対応したパッケージであればstable より新しいバージョンが利用できます．

Debian Backports

Instructions

これを利用するためにはbackports 情報を sources.list に追加する必要があります．
ここでは公式ドキュメントと同じ /etc/apt/sources.list.d/debian-backports.sources としてファイルを作成しました．

/etc/apt/sources.list.d/debian-backports.sources を作成

Types: deb deb-src
URIs: http://deb.debian.org/debian
Suites: trixie-backports
Components: main
Enabled: yes
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg

続いてパッケージ情報をbackports を含む最新状態にします．

パッケージ情報更新

$ sudo apt update

backports の snac を導入

backpots のパッケージは通常のインストールでは導入されません．backports のパッケージを導入するにはパッケージ名に /trixie-backports を付けて導入します．

$ sudo apt install snac2/trixie-backports

もしくは -t trixie-backports を付けて導入すると不足した依存関係も導入されるようです．

$ sudo apt install -t trixie-backports snac2

$ dpkg-query -W snac2
snac2 2.85-1~bpo13+1
$ snac version
snac 2.85 - A simple, minimalistic ActivityPub instance
Copyright (c) 2022 - 2025 grunfink et al. / MIT license

upgrade {basedir} Upgrade to a new version

導入されたbackports パッケージは通常と同じ優先度100に固定されるので導入後はいつもの apt upgrade でbackports パッケージも更新されます．つまり通常の運用で大丈夫です．

snac アップグレード操作

snac のバージョンアップ時にディスク構成が変わることがあり，その場合snac が起動しないようです．その場合snac の upgrade コマンドを実行する必要があるようです．
自分は念の為毎回実行しています．

snac(8)より

Upgrading to a new version
Sometimes, the data storage disk layout changes between versions. If there is such a change, snac will refuse to run and require an upgrade. Do this by running

snac upgrade $HOME/snac-data

Take special care to execute this upgrade operation without any snac processes serving on the same folder. You can break everything. I know this because Tyler knows this.

$ snac | grep upgrade
upgrade {basedir} Upgrade to a new version

upgrade コマンドはデーモンが起動していない状態で実行する必要があるので一旦snac を停止してから実行，その後snac を起動します．

$ sudo service snac2 stop (1)
$ sudo -u debian-snac snac upgrade /var/lib/snac2/ (2)
19:45:50 Linux sandbox not compiled in
19:45:50 OK
$ sudo service snac2 start (3)
$ w3m -dump https://snac.kagolug.org/info | tail -1 (4)
about this site - powered by snac/2.83

snac 停止

snac upgrade

snac 起動

バージョン確認

という感じでDebian stable でも最新のsnac が利用できています．一旦設定すると通常のDebian パッケージ更新操作で追従してくれるので運用もいつもと変わりません．更新タイミングも公式と見比べると結構すぐ対応してくれているようです．

タグ – grunfink/snac2 – Codeberg.org

Debian Package Tracker