banner
Aki

Aki

太阳能维修,月亮可更换,星星不闪包退换。
twitter

Debian11でapt updateを実行する際に、Debian bookwormのエラーが発生しました。

説明#

Debian11 で apt update を実行する際に、Debian bookworm のエラーが発生します。
エラーメッセージは以下の通りです。

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
6 packages can be upgraded. Run 'apt list --upgradable' to see them.
N: リポジトリ 'Debian bookworm' は 'non-free' から 'non-free non-free-firmware' に 'non-free component' の値を変更しました
N: 詳細については、リリースノートのオンライン版を参照してください: https://www.debian.org/releases/bookworm/amd64/release-notes/ch-information.html#non-free-split

原因はバージョンの変更により、apt ソースの non-free コンポーネントが変更されたためです。警告の説明に従って、sources.list ファイルの内容を変更し、non-free を non-free-firmware に変更する必要があります。
もちろん、既に国内のソースを変更している場合でも、公開されているソースリストを確認してコンポーネントが正しいかどうかを確認する必要があります。通常、オープンソースの apt ソースの説明に従って sources.list を変更すると、この問題は発生しません(当然ですよね)

すべてには例外がありますので、記録しておきます。

私が使用しているマシンは、内部ネットワーク環境にあり、内部ネットワークにはソースミラーがデプロイされており、プロキシを介してソースコンポーネントのアドレスとのハンドシェイクを行っています。この場合、ファイルを変更しても問題が発生する可能性があります。
例えば:

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
6 packages can be upgraded. Run 'apt list --upgradable' to see them.
W: リポジトリ 'http://repos.inside.com:19796/debian bullseye-updates InRelease' に 'non-free-firmware' コンポーネントが存在しないため、設定されたファイル 'non-free-firmware/source/Sources' の取得をスキップしています (sources.list でコンポーネントのスペルミスがありますか?)
W: リポジトリ 'http://repos.inside.com:19796/debian bullseye-updates InRelease' に 'non-free-firmware' コンポーネントが存在しないため、設定されたファイル 'non-free-firmware/binary-amd64/Packages' の取得をスキップしています (sources.list でコンポーネントのスペルミスがありますか?)
W: リポジトリ 'http://repos.inside.com:19796/debian bullseye-updates InRelease' に 'non-free-firmware' コンポーネントが存在しないため、設定されたファイル 'non-free-firmware/i18n/Translation-en' の取得をスキップしています (sources.list でコンポーネントのスペルミスがありますか?)
W: リポジトリ 'http://repos.inside.com:19796/debian bullseye-updates InRelease' に 'non-free-firmware' コンポーネントが存在しないため、設定されたファイル 'non-free-firmware/i18n/Translation-zh_CN' の取得をスキップしています (sources.list でコンポーネントのスペルミスがありますか?)
W: リポジトリ 'http://repos.inside.com:19796/debian bullseye-updates InRelease' に 'non-free-firmware' コンポーネントが存在しないため、設定されたファイル 'non-free-firmware/i18n/Translation-zh' の取得をスキップしています (sources.list でコンポーネントのスペルミスがありますか?)

セキュリティ上の理由から、アドレスは架空のものですが、実際にはこの方法でリモートのソースコンポーネントにアクセスし、内部ネットワークデバイスで apt の更新とパッケージのインストールを行っています。
この場合、apt の情報によると、そのアドレスには non-free-firmware コンポーネントが存在しないということです。つまり、non-free を non-free-firmware に変更しても apt の更新は実現できません。

これが上記の Debian ソースのコンポーネントを確認する必要がある理由です。

少し冗長になりましたが、以下に解決策があります。

解決策#

問題の解決策は、解決策を提案した「人」に対して警告を表示しないことです。

su -c 'echo "APT::Get::Update::SourceListWarnings::NonFreeFirmware \"false\";" > /etc/apt/apt.conf.d/no-bookworm-firmware.conf'

上記のコマンドを実行すると、apt の更新と他のパッケージのインストールが可能になります。

参考

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。