[Ubuntu] apt-get upgradeで保留が出た時の対処方法

Ubuntuでapt-get upgradeで保留が出た時の対処方法をまとめみました。簡単なことなんですが、意外と知らなかったので自分用備忘録的に。

現象

普段使いのサーバーでは、OSにUbuntuを入れているのですが、普通にapt-get update && apt-get upgradeで更新しようとしたら、「保留」というやつに遭遇。

sudo apt-get upgrade
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
アップグレードパッケージを検出しています... 完了
以下のパッケージは保留されます:
  libdrm-amdgpu1 libdrm-dev libdrm-intel1 libdrm-nouveau2 libdrm-radeon1 libdrm2 libegl1-mesa libgbm1 libgl1-mesa-dri
  libwayland-egl1-mesa linux-generic linux-headers-generic linux-image-generic
アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 13 個。

こういうやつです。

対処方法

実は、対処方法というほどのものでもなくて、普通に個別にアプリをインストールするだけです。

保留アプリを個別インストールする

保留になっているアプリは何回apt-get update && apt-get upgradeしても保留のままなので、個別にインストールします。

上記の例でいうと、

sudo apt-get install libdrm-amdgpu1 libdrm-dev libdrm-intel1 libdrm-nouveau2 libdrm-radeon1 libdrm2 libegl1-mesa libgbm1 libgl1-mesa-dri
  libwayland-egl1-mesa linux-generic linux-headers-generic linux-image-generic

今回はきちんとインストールされます。

もう一度apt-get update && apt-get grade

それでもまだ保留になってたり、さらにアップデートが必要なことがあるので、もう一度apt-get update && apt-get gradeをします。

sudo apt-get update

sudo apt-get upgrade
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
アップグレードパッケージを検出しています... 完了
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
  libllvm4.0
これを削除するには 'sudo apt autoremove' を利用してください。
以下のパッケージは保留されます:
  linux-generic linux-headers-generic linux-image-generic
アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 3 個。

保留になっているアプリを、またsudo apt-get installで、個別にインストールします。

sudo apt-get install linux-generic linux-headers-generic linux-image-generic

これでアップグレード対象がなくればOKです。


本来は依存関係とかをきちんと確認すべきなんですが、取り急ぎ、保留になっているアプリを更新する方法でした!