Linuxパッケージのインストールをブロックする要素をどのように診断しますか?

Linuxパッケージのインストールをブロックする要素をどのように診断しますか?

詳細な回答


firmware-misc-nonfree特定のLinuxインストールにDebianパッケージをインストールしようとしています。

╰─○ apt install firmware-misc-nonfree
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Package firmware-misc-nonfree is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'firmware-misc-nonfree' has no installation candidate

何かを防いでいるようですが、他の2つのシステムでは問題ありません。

これはの出力ですapt-cache policy

╰─○ apt-cache policy firmware-misc-nonfree
firmware-misc-nonfree:
  Installed: (none)
  Candidate: (none)
  Version table:
     20210315-3 -1
         -1 http://uk.mirrors.clouvider.net/debian bullseye/non-free amd64 Packages

クラッシュの原因を自動的に見つける方法はありますか?

内容は次のとおりです/etc/apt/sources.list

# updated 2023-03-11-1956 for Debian 11 Bullseye

deb http://uk.mirrors.clouvider.net/debian/ bullseye main contrib non-free
deb-src http://uk.mirrors.clouvider.net/debian/ bullseye main contrib non-free

deb http://security.debian.org/debian-security bullseye-security main contrib non-free
deb-src http://security.debian.org/debian-security bullseye-security main contrib non-free

# bullseye-updates, previously known as 'volatile'
deb http://uk.mirrors.clouvider.net/debian/ bullseye-updates main contrib non-free
deb-src http://uk.mirrors.clouvider.net/debian/ bullseye-updates main contrib non-free

# deb http://uk.mirrors.clouvider.net/debian/ bullseye-backports main contrib non-free
# deb-src http://uk.mirrors.clouvider.net/debian/ bullseye-backports main contrib non-free

私が考えることができる唯一のことは、今回のインストールがVirtualBoxシステムであり、仮想化がそれに関連している可能性があることです。

正しいディレクトリにないいくつかのバイナリファームウェアが必要ですが、他のシステムから起動時にロードできる正しい場所にコピーできます。

Debian パッケージングシステムは、あるパッケージをインストールしたときに別のパッケージが保存、削除、またはブロックされたときに実行されたコマンドログを保持しますか?

私はいくつかの提案を試しましたhttps://askubuntu.com/questions/640986/how-to-get-a-list-of-installed-packages-held-back-from-upgradeしかし、コマンドは何も表示しません。

答え1

apt-cache policy firmware-misc-nonfreeパッケージが使用可能で優先順位が-1であることを示します。 -1は、複数の候補の中から(唯一の候補でも)候補に選ばれるのを防ぎます。 ~からapt_preferences(5):

APTが優先順位を解釈する方法

[...]

P<0

このバージョンのインストールを防ぐ

リリース候補を直接指定することで、この設定を上書きできます。たとえば、次のパッケージをインストールする必要があります。

apt-get install firmware-misc-nonfree=20210315-3

適切なデフォルト設定に関連する一部の設定が変更された可能性があります。最初に見るのは/etc/apt/preferencesorです/etc/apt/preferences.d/

答え2

ソフトウェアパッケージファームウェア - その他 - 無料は以下のアドレスからダウンロードできます。https://packages.debian.org/sid/all/firmware-misc-nonfree/download。それが最新です。以前のBullseyeパッケージが必要な場合は、以下を使用してください。 https://packages.debian.org/bullseye/all/firmware-misc-nonfree/download

dpkg -i コマンドを使用してインストールできます。

apt-file listfirmware-misc-nonfreeを実行すると、パッケージ内のすべてのファイルと/ lib / firmwareディレクトリの対応する場所が表示されます。

/var/log/apt ディレクトリには、apt アクティビティの履歴が保持されます。

答え3

non-free何が起こったのかは、Debianがさまざまな非フリーファームウェアを無視できないストレージツリーとは別に独自のストレージツリーに移動したことです。

次のようにソースを更新してください。

deb http://uk.mirrors.clouvider.net/debian/ bullseye main contrib non-free

到着

deb http://uk.mirrors.clouvider.net/debian/ bullseye main contrib non-free non-free-firmware

パッケージを再確認する必要があります。

答え4

の提案に従った後選択した回答そのディレクトリに次の内容の/etc/apt/preferences.dファイルがあることがわかりました。non_free_policy

Explanation: Disable packages from non-free tree by default
Package: *
Pin: release o=Debian,a=stable,l=Debian,c=non-free
Pin-Priority: -1

Debian インストーラは、デフォルトでnon-freeパッケージに対してこの優先順位を設定するようです。これがおそらく、過去に多くのワイヤレスドライバとBluetoothドライバをコンパイルする必要がある理由です。

ここ数年間、何人のユーザーがこの設定に違反しているのか疑問に思います。

関連情報