[Debian][apt] apt-get でエラーが出るようになってたので対応した。その2

AIX、UNIX、Linuxapt, debian, OpenMediaVault

先日、以下のような記事を書きました。

その後すぐにTwitterで以下のようなツッコミおよび情報を教えていただきました。

おおう、素のDebianであれば、今回対象にしていた /etc/apt/apt.conf.d/99target は自分が作成しない限りは存在しないファイルとのこと。

実際に確認してみた

確認環境:

~# cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 10 (buster)"
NAME="Debian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

で実際にインストール直後に確認したのがこちら。

~# ls -l /etc/apt/apt.conf.d/
total 16
-rw-r--r-- 1 root root 1018 May 28 14:40 01autoremove
-r--r--r-- 1 root root 2379 Jul 21 11:34 01autoremove-kernels
-rw-r--r-- 1 root root  182 Feb 26 09:30 70debconf
-rw-r--r-- 1 root root   80 Jul 28 12:01 90cloud-init-pipelining

あー、本当だ・・・ 自分の思い切り勘違いですね。

公式情報は

私が知らなかった部分はここですね。

POINT

APT-conf configuration

APT-conf must itself be configured
Like the rest of the APT configuration resources, APT-conf is configured by writing information to files in one of 2 ways:

1. The newer, more easily extensible, preferred way: writing multiple files to a directory. For APT-conf, that directory is /etc/apt/apt.conf.d/.
2. The old, deprecated way: writing all APT-conf information to a single file, /etc/apt/apt.conf

https://wiki.debian.org/AptConf

改めて

素のDebianであれば、ターゲットリリースは指定したファイルは存在せず、使用中のディストリのバーションが優先されるはずだった。

APT のデフォルト優先度の割り当て

プリファレンスファイルがなかったり、プリファレンスファイルに特定のパッケージを割り当てるエントリがない場合、そのバージョンの優先度は、そのバージョンが属しているディストリビューションの優先度となります。デフォルトで他のディストリビューションより高い優先度を持つ、特定のディストリビューションを「ターゲットリリース」としておけます。ターゲットリリースは、apt-get のコマンドラインや、APT 設定ファイル /etc/apt/apt.conf で設定できます。後述する /etc/apt/preferences ファイルで設定した一般優先度よりもこれは優先されますが、pin 止めしたパッケージには及ばないことに注意してください。例えば以下のようになります。

https://manpages.debian.org/unstable/apt/apt_preferences.5.ja.html

今回の問題そのものは、

POINT

ArmbianベースのDebianイメージで且つOpenMediaVaultを使用している場合は、今回の /etc/apt/apt.conf.d/99target が標準で配置され、また、そのファイルで「ターゲットリリース」 が“stable"と指定されていた。そのため、先日Debian buster(v10)がstableとしてリリースされたため、使用中のバージョン(Debian stretch(v9))とのコンフリクトが発生し問題が発現した

と言うことになると思います。

最終的に

なので今回の問題は特定の環境(OpenMediaVault On Armbian(base Debian))での問題であって、Debianに由来した問題ではありません。紛らわしい記事を書いて申し訳ありませんでした。

@henrich さん、色々とありがとうございました。