依存関係が満たされていない人を何度か見たことがありますが、apt-getでは、次のように問題が何であるかがわかりません。
The following packages have unmet dependencies:
libgl1-mesa-dri:i386 : Depends: libdrm-intel1:i386 (>= 2.4.38) but it is not going to be installed
Depends: libdrm-nouveau2:i386 (>= 2.4.38) but it is not going to be installed
Depends: libdrm-radeon1:i386 (>= 2.4.31) but it is not going to be installed
Depends: libdrm2:i386 (>= 2.4.38) but it is not going to be installed
Depends: libglapi-mesa:i386 but it is not going to be installed
libgl1-mesa-glx:i386 : Depends: libdrm2:i386 (>= 2.3.1) but it is not going to be installed
Depends: libglapi-mesa:i386 (= 9.2.1-1ubuntu3) but it is not going to be installed
Depends: libx11-6:i386 (>= 2:1.4.99.1) but it is not going to be installed
Depends: libxcb-dri2-0:i386 (>= 1.8) but it is not going to be installed
Depends: libxcb-glx0:i386 (>= 1.8) but it is not going to be installed
Depends: libxcb1:i386 but it is not going to be installed
Depends: libxdamage1:i386 (>= 1:1.1) but it is not going to be installed
Depends: libxext6:i386 but it is not going to be installed
Depends: libxfixes3:i386 but it is not going to be installed
Depends: libxxf86vm1:i386 but it is not going to be installed
すべての依存関係をウォークスルーすることを知っていますapt-get install libgl1-mesa-dri:i386 libdrm-intel1:i386
私が何かを打つまでは利用可能ですが、この場合、パッケージの量のためにそれは骨の折れる仕事になります。これを行う簡単な方法はありますか?
承認された回答:
最初に試す合理的なことは、aptに、なぜそれが何をしているのかを尋ねることです。これは、-o Debug::pkgProblemResolver=yes
を使用して実行できます。 オプション。例:
apt-get -o Debug::pkgProblemResolver=yes install libgl1-mesa-dri:i386 libdrm-intel1:i386
aptが予定されていない場合、そのような問題をデバッグするための標準的なアプローチは、エラーメッセージに記載されている各パッケージの利用可能なバージョンの優先順位番号を確認することです。これは通常、apt-cache policy
を使用して行われます。 。
たとえば、エラーメッセージの最初の部分だけを使用するには、
を実行する必要があります。apt-cache policy libgl1-mesa-dri:i386 libdrm-intel1:i386 libdrm-nouveau2:i386 libdrm-radeon1:i386 libdrm2:i386 libglapi-mesa:i386
その場合、どのように進むかは、これが何を示しているかによって異なります。ただ実行することもしばしば役に立ちます
apt-cache policy
利用可能なすべてのパッケージソースとその優先順位番号が表示されます。この情報は通常、/etc/apt/sources.list
の一方または両方で指定されます または/etc/apt/sources.list.d
。
ここで助けを得ようとしている人は、最初にこれらのコマンドの結果を質問に投稿する必要があります 。問題を特定するには、これで十分な情報になる可能性があります。
関連:UpdatePanel DataTableの問題?問題の実際の例:
-
バックポートを使用した後の依存関係が満たされていない
リポジトリ:ユーザーは
www.deb-multimedia.org
のソースを含めました 、低い優先度に固定せずに
。
低い優先度に固定せずに、サードパーティのソースを含めないでください。これは、デフォルトの
リリースのパッケージを提供する
正常に動作するリポジトリには必要ありませんが、www.deb-multimedia.org
には必要ないことに注意してください。 はDebianでうまくプレイできないことでよく知られています。一般的に、未知のソースを信頼するべきではありません。
より一般的には、リポジトリがシステムで使用するように設計されていないことがわかっている場合、低い優先度で固定します。例えば。 Debianでのテスト/不安定なソース
安定しています。 -
満たされていない依存関係:
ユーザーは、どういうわけか、自分のシステムに
デフォルトバージョンではないバージョンのPythonをインストールすることができました。当然のことながら、すべての地獄が崩壊しました。
話の教訓として、システムに適したバージョンの
パッケージのみをインストールしていることを確認してください。上記のようにapt-cache policy pkgname
教えてくれます。 -
dpkg / apt-getが別のパッケージをインストールして上書きしたい
:ユーザーは
基になるdpkg
にもかかわらず、パッケージをインストールしようとしました
データベースが
壊れていました。道徳的、dpkg
からのメッセージが表示された場合
またはその他のパッケージに問題があります。この場合は、0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 2 not fully installed or removed.
パッケージデータベースに問題があります。
他のものをインストールする前に、まずそれらを修正してください。apt-get -f install
の場合 動作しない場合は、
dpkg
で操作する必要があります 物事を修正するレベル。