まず以下のようなエラーが出ている状況を想定します。実際に出て困った訳ですけど。
$ sudo apt-get install wine-stable
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
wine-stable はすでに最新バージョン (3.0-1ubuntu1) です。
これらを直すためには 'apt --fix-broken install' を実行する必要があるかもしれません。
以下のパッケージには満たせない依存関係があります:
wine32:i386 : 依存: libwine:i386 (= 3.0-1ubuntu1) しかし、インストールされようとしていません
wine64 : 依存: libwine (= 3.0-1ubuntu1) しかし、インストールされようとしていません
E: 未解決の依存関係です。'apt --fix-broken install' を実行してみてください (または解法を明示してください)。
エラーが出たら最初は説明通りに以下のコマンドを打ってみましょう。
$ sudo apt --fix-broken install
長いので省略
:
処理中にエラーが発生しました:
/var/cache/apt/archives/libwine_3.0-1ubuntu1_amd64.deb
/var/cache/apt/archives/libwine_3.0-1ubuntu1_i386.deb
/var/cache/apt/archives/fonts-wine_3.0-1ubuntu1_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
たいていは上記のコマンドで解決するのですが、今回は解決しませんでした。 そういう時は以下のコマンドで問題を探ると良いです。wine* の3つが設定不足で悪さをしているらしい。
$ sudo dpkg --audit
以下のパッケージは展開されましたが、まだ設定されていません。
これらのパッケージが正常に動作するためには、dpkg --configure か
dselect の設定 (configure) メニューオプションを使って設定を完了
させなければなりません:
wine-stable Windows API implementation - standard suite
wine32:i386 Windows API implementation - 32-bit binary loader
wine64 Windows API implementation - 64-bit binary loader
以下のパッケージはトリガされましたが、トリガ処理はまだ完了していません。
トリガ処理は dselect または dpkg --configure --pending (あるいは dpkg
--triggers-only) の利用で要求できます。
hicolor-icon-theme default fallback theme for FreeDesktop.org icon themes
libc-bin GNU C Library: Binaries
man-db on-line manual pager
説明に従って dpkg --configure を実行して設定を試みてみましょう。
$ sudo dpkg --configure -a
dpkg: 依存関係の問題により wine32:i386 の設定ができません:
wine32:i386 は以下に依存 (depends) します: libwine (= 3.0-1ubuntu1) ...しかし:
パッケージ libwine:i386 はまだインストールされていません。
dpkg: パッケージ wine32:i386 の処理中にエラーが発生しました (--configure):
依存関係の問題 - 設定を見送ります
libc-bin (2.27-3ubuntu1) のトリガを処理しています ...
dpkg: 依存関係の問題により wine64 の設定ができません:
wine64 は以下に依存 (depends) します: libwine (= 3.0-1ubuntu1) ...しかし:
パッケージ libwine:amd64 はまだインストールされていません。
dpkg: パッケージ wine64 の処理中にエラーが発生しました (--configure):
依存関係の問題 - 設定を見送ります
man-db (2.8.3-2ubuntu0.1) のトリガを処理しています ...
hicolor-icon-theme (0.17-2) のトリガを処理しています ...
dpkg: 依存関係の問題により wine-stable の設定ができません:
wine-stable は以下に依存 (depends) します: wine64 (>= 3.0-1ubuntu1) | wine32 (>= 3.0-1ubuntu1) ...しかし:
パッケージ wine64 はまだ設定されていません。
パッケージ wine32:i386 はまだ設定されていません。
wine-stable は以下に依存 (depends) します: wine64 (<< 3.0-1ubuntu1.1~) | wine32 (<< 3.0-1ubuntu1.1~) ...しかし:
パッケージ wine64 はまだ設定されていません。
パッケージ wine32:i386 はまだ設定されていません。
dpkg: パッケージ wine-stable の処理中にエラーが発生しました (--configure):
依存関係の問題 - 設定を見送ります
処理中にエラーが発生しました:
wine32:i386
wine64
wine-stable
上記のコマンドで直る時も多いのですが、今回はこれまた駄目。 このままだと apt-get upgrade もできないので、以下のコマンドで壊れているパッケージを取り除いてしまいましょう。
$ sudo dpkg --remove --force-remove-reinstreq wine32:ie86
dpkg: 警告: インストールされていない wine-i386 を削除する要求を無視します
$ sudo dpkg --remove --force-remove-reinstreq wine64
dpkg: 警告: インストールされていない wine-64 を削除する要求を無視します
$ sudo dpkg --remove --force-remove-reinstreq wine-stable
(データベースを読み込んでいます ... 現在 539892 個のファイルとディレクトリがインストールされています。)
wine-stable (3.0-1ubuntu1) を削除しています ...
man-db (2.8.3-2ubuntu0.1) のトリガを処理しています ...
hicolor-icon-theme (0.17-2) のトリガを処理しています ...
警告が出てるけど特に問題はないです。私の環境ではこれで依存関係のエラーは消えました。 解決に少し時間を取られたので、今後はこの手順でやっていこうと思います。
参考文献:
- apt-getによる依存関係の解決方法 | サーバーエンジニアブログ
- dpkgやapt-get関連でエラーが出た時の対処法 - Qiita
- apt - How to delete broken packages in ubuntu - Ask Ubuntu
2 件のコメント:
助かりました。ありがとうございます。
susaka
コメントを投稿