GNU/Linux >> Linux の 問題 >  >> Linux

適切な依存関係の問題を解決するには、どのような情報が必要ですか?

依存関係が満たされていない人を何度か見たことがありますが、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の問題?

問題の実際の例:

  1. バックポートを使用した後の依存関係が満たされていない
    リポジトリ:ユーザーは
    www.deb-multimedia.orgのソースを含めました 、低い優先度に固定せずに

    低い優先度に固定せずに、サードパーティのソースを含めないでください。これは、デフォルトの
    リリースのパッケージを提供する
    正常に動作するリポジトリには必要ありませんが、www.deb-multimedia.orgには必要ないことに注意してください。 はDebianでうまくプレイできないことでよく知られています。一般的に、未知のソースを信頼するべきではありません。
    より一般的には、リポジトリがシステムで使用するように設計されていないことがわかっている場合、低い優先度で固定します。例えば。 Debianでのテスト/不安定なソース
    安定しています。

  2. 満たされていない依存関係:
    ユーザーは、どういうわけか、自分のシステムに
    デフォルトバージョンではないバージョンのPythonをインストールすることができました。当然のことながら、すべての地獄が崩壊しました。
    話の教訓として、システムに適したバージョンの
    パッケージのみをインストールしていることを確認してください。上記のようにapt-cache policy pkgname 教えてくれます。

  3. 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で操作する必要があります 物事を修正するレベル。


Linux
  1. VPNとは何ですか? VPNについて知っておくべきことすべて

  2. Python を使用して Microsoft Access データベースを読み取るには何が必要ですか?

  3. Linux オーディオ スペクトラム アナライザー

  1. システム管理者がBashの使用について知っておくべきこと

  2. 壊れたapt、欠落している依存関係、今は何ですか?

  3. 情報セキュリティ101:あなたのビジネスが知っておくべきこと

  1. /etc/apt/apt.confに何が起こったのですか?

  2. Perl モジュールには Module::Build が必要ですが、インストールされていません

  3. ActionScript (Linux) で開発する必要があるツールは何ですか?