Press "Enter" to skip to content

“E:Unable to correct problems, you have held broken packages. “が出たときの対処法(Linux)

こんにちは。

Linuxを使っていて、タイトルのエラーメッセージが出たときの対処法をご紹介いたします。

このエラーには、大きく分けて3つの原因が考えられます。

Contents

原因1. リポジトリがアップデートされていない

最も考えられるのが、アプトリポジトリがアップデートされていないということ。

この原因に該当するときは、何らかのパッケージをインストールしたりアップグレードしたりしようとしたときにエラーが起きたはずです。

sudo apt update

を実行しましょう。

原因2.パッケージが壊れている

パッケージを削除した時、依存関係がシステムに残ってしまった場合にエラーが起きます。

sudo apt autoremove

で、依存関係のあるパッケージを削除しましょう。

自分はこれで治りました。

原因3.システムが特定のパッケージを保持したままになっている

この場合は削除もアップデートもできないので、以下のコマンドでシステムがパッケージを保持しているか確認しましょう。

$ sudo apt-mark showhold

このコマンドを実行しても何も表示されない場合は保持されているパッケージはありません。

表示されたときは以下のコマンドで開放します。

sudo apt-mark unhold パッケージ名

パッケージ名のところには前のコマンドで表示されたパッケージ名を入れます

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です