親愛なるコミュニティでこの質問を重複としてマークする前にサイト検索を行いましたが、このような重複する質問が見つからなかったことに注意してください。協会繰り返さない
私は以下の指示に従いました。
この手順に従って、ステップ1は/etc/apt/sources.list
次の行を追加して更新することです。
deb http://deb.debian.org/debian bookworm-backports main contrib non-free
この手順を完了したら、次を実行してインデックスを更新する必要があります。sudo apt update
これから2つのオプションがあります。
- たとえば、バックポートからパッケージを明示的にインストールするには
apt install -t bookworm-backports <package>
- バックポートから暗黙的にパッケージをインストールする
apt install <package>/bookworm-backports
これら2つの方法にはかなりの違いがあります!
最初のアプローチでは、バックポートからパッケージをインストールしますが、その依存関係などを含むバックポートからすべての依存関係を取得するため、パッケージのインストールは「肥大します」。
2番目の方法はよりクリーンでより良いですが、最初の方法とは異なり、依存関係(バックポートではなくデフォルトで)を再利用し、インストールされているデフォルトパッケージのみがbackportsからインポートされるため、Debianでお勧めします。
つまり、2番目の方法は、システムにすでにインストールされている依存関係をダウンロードせずに再利用します。ただし、これが不可能な場合は、バックポートから依存関係を取得します(まれですが)。
私が経験している問題は、-t
オプションを使用する最初の方法は常に機能しますが、2番目の方法はまったく機能しないことです。
これがなぜ起こるのか、そして2番目のアプローチをどのように機能させるかを知りたいです。
以下は、テストできる再現可能な2つの例です。
sudo apt install wine/bookworm-backports
sudo apt install passwordsafe/bookworm-backports
以下は、最初の例の出力です。
sudo apt install ワイン/本虫-バックポート
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Package wine is a virtual package provided by:
wine 8.0~repack-4
You should explicitly select one to install.
E: Release 'bookworm-backports' for 'wine' was not found
ご覧のとおり、bookworm-backports
何も見つかりませんでした!
ただし-t
、次のオプションを使用して実行すると、これが間違っていることを確認できます。
sudo apt install wine -t bookworm-backports
これはうまく機能し、パッケージをインストールする機会を提供します。
質問は簡単です。 2番目の方法(optionsを除く-t
)が機能しないのはなぜですか?これを機能させるにはどうすればよいですか?私が何か間違っているのですか?
詳細については、Debian 12(bookworm)を使用しています。
私のsources.list
外観は次のとおりです。
deb https://deb.debian.org/debian/ bookworm main
deb-src https://deb.debian.org/debian/ bookworm main
deb http://security.debian.org/debian-security bookworm-security main
deb-src http://security.debian.org/debian-security bookworm-security main
deb https://deb.debian.org/debian/ bookworm-updates main
deb-src https://deb.debian.org/debian/ bookworm-updates main
deb https://deb.debian.org/debian/ bookworm-backports main
deb-src https://deb.debian.org/debian/ bookworm-backports main
答え1
特定wine
のインストールの試みに失敗した理由は次のとおりです。wine
該当しませんbookworm-backports
。
あなたの一般的な混乱は理解することができます。 1つの情報がありません。ピン優先順位バックポーティングに関連しています。バックポートされたリポジトリのデフォルトの優先順位は100です。これにより、バックポートされたパッケージが安定したリポジトリ内の同じパッケージの代わりにアップグレードまたはインストール候補にならないようにします。
apt
したがって、それを使用してパッケージをインストールするように要求すると、/bookworm-backports
バックポートされたパッケージが選択されますが、すべての依存関係は優先順位ルールを使用して評価されます。安定したリポジトリのパッケージバージョンは、常にバックポートされたバージョン(存在する場合)よりも優先順位が高く選択されます。場合によっては、apt
バックポートのバージョン管理要件が考慮されますが、すべての場合で動作するわけではありません。特に失敗しますwine
(Debian 11では、apt install wine/bullseye-backports
すべての依存関係を解決するapt install -t bullseye-backports wine
代わりに)。
apt -t bookworm-backports
一方、bookworm-backports
優先順位を990に一時的に変更すると、バックポートされたパッケージがインストールおよび/またはアップグレード候補になります。あなたが言うように、これはあなたが必要とするよりも多くのパッケージをアップグレードするかもしれませんが、実際にはバックポートされるライブラリパッケージがほとんどないので、一般的に問題にはなりません。とにかく、バックポートされたパッケージ変える元のリリースは安定したリポジトリで提供されるため、結果として生じる膨張が最小限に抑えられます。
これらすべての最終結果はあなたがしなければならないということです
- 目的のパッケージが実際にバックポートであることを確認してください(
apt policy wine
)。 /bookworm-backports
試してみてください。- 失敗した場合を使用してインストールします
-t bookworm-backports
。