重複の可能性に関する注意:
私の知る限り、これはPPAを追加した後、満たされていない依存関係を解決するにはどうすればよいですか?それ以外の場合は、そこからの回答を使用して、以下で言及するテスト問題を解決することによってそれを証明してください。
バックグラウンド:
Ubuntu 14.04.3LTS 64ビットでのインストールワインの修正方法の前に、この問題に直面しました。これは、ターゲットパッケージ(wine
)のすべての再帰的な依存関係の手動/人間によるレビューによって解決されました。
問題を再現します(テストケース):
トラブルパッケージを1つだけ使用して、単純化された同じシチュエーションを作成しましょう。
- VirtualBoxに新しいUbuntu 14.04をインストールします。
- リポジトリを開い
software-properties-gtk
て有効にしbackports
ます。 最後のパッケージリストを取得
sudo apt-get update
実行
apt-get -s install wine
してwine
、インストールできることを確認します。問題のあるパッケージ
libcgmanager0
をバックポートからインストールします$ apt-cache policy libcgmanager0 libcgmanager0: Installed: 0.24-0ubuntu5 Candidate: 0.24-0ubuntu7.5 Version table: 0.39-2ubuntu2~ubuntu14.04.1 0 100 http://dz.archive.ubuntu.com/ubuntu/ trusty-backports/main amd64 Packages 0.24-0ubuntu7.5 0 500 http://dz.archive.ubuntu.com/ubuntu/ trusty-updates/main amd64 Packages 0.24-0ubuntu7.1 0 500 http://security.ubuntu.com/ubuntu/ trusty-security/main amd64 Packages *** 0.24-0ubuntu5 0 500 http://dz.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages 100 /var/lib/dpkg/status
バージョンを強制的
apt
にインストールするlibcgmanager0
0.39-2ubuntu2~ubuntu14.04.1
sudo apt-get install libcgmanager0=0.39-2ubuntu2~ubuntu14.04.1
バックグラウンドで言及された質問からユーザーの同じ状況になりましたが、ワインのインストールは満たされていない依存関係で失敗し、最初のレベルの依存関係パッケージのみを表示します。
apt-get -s install wine
Reading package lists... Done Building dependency tree Reading state information... Done Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation: The following packages have unmet dependencies: wine : Depends: wine1.6 but it is not going to be installed E: Unable to correct problems, you have held broken packages.
apt-get -s install wine1.6
Reading package lists... Done Building dependency tree Reading state information... Done Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation: The following packages have unmet dependencies: wine1.6 : Depends: wine1.6-i386 (= 1:1.6.2-0ubuntu4) E: Unable to correct problems, you have held broken packages.
apt-get -s install wine1.6-i386
Reading package lists... Done Building dependency tree Reading state information... Done Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation: The following packages have unmet dependencies: wine1.6-i386:i386 : Depends: libglu1-mesa:i386 but it is not going to be installed or libglu1:i386 Depends: libgphoto2-6:i386 (>= 2.5.2) but it is not going to be installed Depends: libgphoto2-port10:i386 (>= 2.5.2) but it is not going to be installed Recommends: libsane:i386 but it is not going to be installed E: Unable to correct problems, you have held broken packages.
依存関係をapt-get install
1つずつ追跡することは実用的ではありません。
理想的なソリューション:
ここでの本当の問題
apt
バックポートリポジトリの優先度がリポジトリのバージョンよりも低いため、libcgmanager0:i386
バージョンをインストールできませんでした0.39-2ubuntu2~ubuntu14.04.1
100
0.24-0ubuntu7.5
updates
500
apt
別のバージョンでインストールされているため、libcgmanager0:i386
バージョンをインストールできませんでした0.24-0ubuntu7.5
libcgmanager0:amd64
0.39-2ubuntu2~ubuntu14.04.1
最も速い修正は、バックポートから同じi386バージョンを強制的にインストールすることです
sudo apt-get install libcgmanager0:i386=0.39-2ubuntu2~ubuntu14.04.1
または、通常のリポジトリから任意のバージョンにダウングレード(amd64)します
sudo apt-get install libcgmanager0=0.24-0ubuntu7.5
私が試した方法/ツール:
- PPAを無効にしても問題とは関係ありません。
aptitude
インタラクティブモードで使用すると、多くの削除(> 200 !!!)があるソリューションのみが表示されます。apt-get install
依存関係ツリーに従って手動で使用します。実用的ではありません。第1レベルと第2レベルの依存関係では、競合に関する意味のあるメッセージが発生しませんでした。debfoster
再帰的な依存関係を生成できますが、既にインストールされているパッケージに対してのみです。ただしwine
、まだインストールされていません。
トピック/私の興味:
libcgmanager0
パッケージの問題(またはlibcgmanager0:amd64=0.39-2ubuntu2~ubuntu14.04.1
既にインストール済みの問題)を知らずにwineをインストールしたいとしましょう 。
デバッグ方法または問題のあるパッケージの名前を知り、何が起こっているかを素早く理解する方法を探しています。
一般的に満たされていない依存関係の問題をデバッグするには?
内部の依存関係リゾルバーをトレースするいくつかの新しいオプションが
dpkg
/apt
/にaptitude
ある場合があります。それはlibcgmanager0
その出力に表示できます。これに対する標準的な答えがない場合、誰かが再帰的な依存関係リストを生成するか、問題を解決するのに役立つ詳細な依存関係リゾルバをシミュレートするより良い方法を教えてもらえますか?
なぜすべての依存関係ですか?すべてのパッケージについて、以下のコマンドの出力を一度に確認したいので。
apt-cache policy <all-dependencies>
apt-get -s install <all-dependencies>
libcgmanager
、依存関係にありますか?依存関係を再帰的にリストすることに言及しました。試しましたapt-rdepends
か?
wine
と-o Debug::pkgProblemResolver=yes
どうなりますか?
backports
バージョンが必要なのですか?