2024-06-09

LMDE の apt preference を調整してみた

LMDE 6 のベースとなっている Debian 12 の apt リポジトリの優先度を調整してみました。具体的には bookworm-backports の優先度を上げました。

きっかけ

元々、bookworm-backports はパッケージリポジトリとして登録されてあり、これに testing(trixie)も追加して運用しています。

testing リポジトリは自動で拾ってくる設定ではないので、気が向いたら Debian のサイトに行って欲しい物のアップデートがないか人力でチェックしていました。

その際、Mozc とか Fcitx5 とかの更新がないかと探してみたところ、なんとなく新しいバージョンが testing に登録されていることを発見しました。

という所から Synaptic で Fcitx5 の状態を確認してみたところ、backports リポジトリにも新しいバージョンが配信されていることに気づきました。

backports にも新しいバージョンがある?

なんでこの backports のパッケージはアップデートとして通知されないんだろう?というのが始まりです。

 

 

やってみた

testing リポジトリを使うために /etc/apt/preferences.d に my-package-repositories.pref というカスタム定義を置いて使っていました。

$ cat my-package-repositories.pref 
Package: *
Pin: release a=testing
Pin-Priority: -1

Package: *
Pin: release a=stable-backports
Pin-Priority: 900

Package: mesa-va-drivers
Pin: release a=testing
Pin-Priority: 999

1 つ目のブロックは testing リポジトリを使うためにカスタム定義として使っていました。リポジトリとして使えるようにするけど、自動ではアップデートを反映させないよ、という定義です。

3 つ目のブロックが Mesa を testing リポジトリから自動アップデートさせるための定義です。これも前から用意していた定義です。

2 つ目のブロックが今回に追加した定義で、bookworm-backports を優先して使いますよ、という定義です。標準のリポジトリは PinPriority = 500 で、数字が大きい方が優先される仕組みです。

pref ファイルの編集が終わったら apt update コマンドで反映されます。

その後に apt policy コマンドを実行するとカスタム定義が反映されていることを確認できます。

$ apt policy
パッケージファイル:
 100 /var/lib/dpkg/status
     release a=now
  -1 http://ftp.riken.jp/Linux/debian/debian testing/non-free-firmware i386 Packages
     release o=Debian,a=testing,n=trixie,l=Debian,c=non-free-firmware,b=i386
     origin ftp.riken.jp
  -1 http://ftp.riken.jp/Linux/debian/debian testing/non-free-firmware amd64 Packages
     release o=Debian,a=testing,n=trixie,l=Debian,c=non-free-firmware,b=amd64
     origin ftp.riken.jp
  -1 http://ftp.riken.jp/Linux/debian/debian testing/non-free i386 Packages
     release o=Debian,a=testing,n=trixie,l=Debian,c=non-free,b=i386
     origin ftp.riken.jp
  -1 http://ftp.riken.jp/Linux/debian/debian testing/non-free amd64 Packages
     release o=Debian,a=testing,n=trixie,l=Debian,c=non-free,b=amd64
     origin ftp.riken.jp
  -1 http://ftp.riken.jp/Linux/debian/debian testing/contrib i386 Packages
     release o=Debian,a=testing,n=trixie,l=Debian,c=contrib,b=i386
     origin ftp.riken.jp
  -1 http://ftp.riken.jp/Linux/debian/debian testing/contrib amd64 Packages
     release o=Debian,a=testing,n=trixie,l=Debian,c=contrib,b=amd64
     origin ftp.riken.jp
  -1 http://ftp.riken.jp/Linux/debian/debian testing/main i386 Packages
     release o=Debian,a=testing,n=trixie,l=Debian,c=main,b=i386
     origin ftp.riken.jp
  -1 http://ftp.riken.jp/Linux/debian/debian testing/main amd64 Packages
     release o=Debian,a=testing,n=trixie,l=Debian,c=main,b=amd64
     origin ftp.riken.jp
 900 http://ftp.riken.jp/Linux/debian/debian bookworm-backports/non-free i386 Packages
     release o=Debian Backports,a=stable-backports,n=bookworm-backports,l=Debian Backports,c=non-free,b=i386
     origin ftp.riken.jp
 900 http://ftp.riken.jp/Linux/debian/debian bookworm-backports/non-free amd64 Packages
     release o=Debian Backports,a=stable-backports,n=bookworm-backports,l=Debian Backports,c=non-free,b=amd64
     origin ftp.riken.jp
 900 http://ftp.riken.jp/Linux/debian/debian bookworm-backports/contrib i386 Packages
     release o=Debian Backports,a=stable-backports,n=bookworm-backports,l=Debian Backports,c=contrib,b=i386
     origin ftp.riken.jp
 900 http://ftp.riken.jp/Linux/debian/debian bookworm-backports/contrib amd64 Packages
     release o=Debian Backports,a=stable-backports,n=bookworm-backports,l=Debian Backports,c=contrib,b=amd64
     origin ftp.riken.jp
 900 http://ftp.riken.jp/Linux/debian/debian bookworm-backports/main i386 Packages
     release o=Debian Backports,a=stable-backports,n=bookworm-backports,l=Debian Backports,c=main,b=i386
     origin ftp.riken.jp
 900 http://ftp.riken.jp/Linux/debian/debian bookworm-backports/main amd64 Packages
     release o=Debian Backports,a=stable-backports,n=bookworm-backports,l=Debian Backports,c=main,b=amd64
     origin ftp.riken.jp
 500 http://security.debian.org bookworm-security/non-free-firmware i386 Packages
     release v=12,o=Debian,a=stable-security,n=bookworm-security,l=Debian-Security,c=non-free-firmware,b=i386
     origin security.debian.org
 500 http://security.debian.org bookworm-security/non-free-firmware amd64 Packages
     release v=12,o=Debian,a=stable-security,n=bookworm-security,l=Debian-Security,c=non-free-firmware,b=amd64
     origin security.debian.org
 500 http://security.debian.org bookworm-security/contrib amd64 Packages
     release v=12,o=Debian,a=stable-security,n=bookworm-security,l=Debian-Security,c=contrib,b=amd64
     origin security.debian.org
 500 http://security.debian.org bookworm-security/main i386 Packages
     release v=12,o=Debian,a=stable-security,n=bookworm-security,l=Debian-Security,c=main,b=i386
     origin security.debian.org
 500 http://security.debian.org bookworm-security/main amd64 Packages
     release v=12,o=Debian,a=stable-security,n=bookworm-security,l=Debian-Security,c=main,b=amd64
     origin security.debian.org
 500 http://ftp.riken.jp/Linux/debian/debian bookworm-updates/non-free-firmware amd64 Packages
     release v=12-updates,o=Debian,a=stable-updates,n=bookworm-updates,l=Debian,c=non-free-firmware,b=amd64
     origin ftp.riken.jp
 500 http://ftp.riken.jp/Linux/debian/debian bookworm-updates/non-free i386 Packages
     release v=12-updates,o=Debian,a=stable-updates,n=bookworm-updates,l=Debian,c=non-free,b=i386
     origin ftp.riken.jp
 500 http://ftp.riken.jp/Linux/debian/debian bookworm-updates/non-free amd64 Packages
     release v=12-updates,o=Debian,a=stable-updates,n=bookworm-updates,l=Debian,c=non-free,b=amd64
     origin ftp.riken.jp
 500 http://ftp.riken.jp/Linux/debian/debian bookworm-updates/contrib amd64 Packages
     release v=12-updates,o=Debian,a=stable-updates,n=bookworm-updates,l=Debian,c=contrib,b=amd64
     origin ftp.riken.jp
 500 http://ftp.riken.jp/Linux/debian/debian bookworm-updates/main i386 Packages
     release v=12-updates,o=Debian,a=stable-updates,n=bookworm-updates,l=Debian,c=main,b=i386
     origin ftp.riken.jp
 500 http://ftp.riken.jp/Linux/debian/debian bookworm-updates/main amd64 Packages
     release v=12-updates,o=Debian,a=stable-updates,n=bookworm-updates,l=Debian,c=main,b=amd64
     origin ftp.riken.jp
 500 http://ftp.riken.jp/Linux/debian/debian bookworm/non-free-firmware i386 Packages
     release v=12.5,o=Debian,a=stable,n=bookworm,l=Debian,c=non-free-firmware,b=i386
     origin ftp.riken.jp
 500 http://ftp.riken.jp/Linux/debian/debian bookworm/non-free-firmware amd64 Packages
     release v=12.5,o=Debian,a=stable,n=bookworm,l=Debian,c=non-free-firmware,b=amd64
     origin ftp.riken.jp
 500 http://ftp.riken.jp/Linux/debian/debian bookworm/non-free i386 Packages
     release v=12.5,o=Debian,a=stable,n=bookworm,l=Debian,c=non-free,b=i386
     origin ftp.riken.jp
 500 http://ftp.riken.jp/Linux/debian/debian bookworm/non-free amd64 Packages
     release v=12.5,o=Debian,a=stable,n=bookworm,l=Debian,c=non-free,b=amd64
     origin ftp.riken.jp
 500 http://ftp.riken.jp/Linux/debian/debian bookworm/contrib i386 Packages
     release v=12.5,o=Debian,a=stable,n=bookworm,l=Debian,c=contrib,b=i386
     origin ftp.riken.jp
 500 http://ftp.riken.jp/Linux/debian/debian bookworm/contrib amd64 Packages
     release v=12.5,o=Debian,a=stable,n=bookworm,l=Debian,c=contrib,b=amd64
     origin ftp.riken.jp
 500 http://ftp.riken.jp/Linux/debian/debian bookworm/main i386 Packages
     release v=12.5,o=Debian,a=stable,n=bookworm,l=Debian,c=main,b=i386
     origin ftp.riken.jp
 500 http://ftp.riken.jp/Linux/debian/debian bookworm/main amd64 Packages
     release v=12.5,o=Debian,a=stable,n=bookworm,l=Debian,c=main,b=amd64
     origin ftp.riken.jp
 500 http://ftp.jaist.ac.jp/pub/Linux/linuxmint/packages faye/backport i386 Packages
     release v=6,o=linuxmint,a=faye,n=faye,l=linuxmint,c=backport,b=i386
     origin ftp.jaist.ac.jp
 500 http://ftp.jaist.ac.jp/pub/Linux/linuxmint/packages faye/backport amd64 Packages
     release v=6,o=linuxmint,a=faye,n=faye,l=linuxmint,c=backport,b=amd64
     origin ftp.jaist.ac.jp
 500 http://ftp.jaist.ac.jp/pub/Linux/linuxmint/packages faye/import i386 Packages
     release v=6,o=linuxmint,a=faye,n=faye,l=linuxmint,c=import,b=i386
     origin ftp.jaist.ac.jp
 500 http://ftp.jaist.ac.jp/pub/Linux/linuxmint/packages faye/import amd64 Packages
     release v=6,o=linuxmint,a=faye,n=faye,l=linuxmint,c=import,b=amd64
     origin ftp.jaist.ac.jp
 700 http://ftp.jaist.ac.jp/pub/Linux/linuxmint/packages faye/upstream i386 Packages
     release v=6,o=linuxmint,a=faye,n=faye,l=linuxmint,c=upstream,b=i386
     origin ftp.jaist.ac.jp
 700 http://ftp.jaist.ac.jp/pub/Linux/linuxmint/packages faye/upstream amd64 Packages
     release v=6,o=linuxmint,a=faye,n=faye,l=linuxmint,c=upstream,b=amd64
     origin ftp.jaist.ac.jp
 500 http://ftp.jaist.ac.jp/pub/Linux/linuxmint/packages faye/main i386 Packages
     release v=6,o=linuxmint,a=faye,n=faye,l=linuxmint,c=main,b=i386
     origin ftp.jaist.ac.jp
 500 http://ftp.jaist.ac.jp/pub/Linux/linuxmint/packages faye/main amd64 Packages
     release v=6,o=linuxmint,a=faye,n=faye,l=linuxmint,c=main,b=amd64
     origin ftp.jaist.ac.jp
 500 https://download.docker.com/linux/debian bookworm/stable amd64 Packages
     release o=Docker,a=bookworm,l=Docker CE,c=stable,b=amd64
     origin download.docker.com
Pin されたパッケージ:
     mesa-va-drivers -> 24.0.8-1 優先度 999

apt list --upgradable で更新可能なパッケージを確認できるよ、とお知らせしてくれるのですが、思っていたよりもたくさんでてきてビックリしました。

stable-backports という名前が付けられているものの、さすがに怖いので Timeshift でシステムバックアップを取ってから少しずつアップデートを取り込んでいみている状況です。