
Ubuntuのupgradeで保留(not upgraded)されたときの解決法
こんにちは。匠技術研究所の谷山 亮治です。
今回は「Ubuntuのupgradeで保留(not upgraded)されたときの解決法」です。
■apt-get upgradeで保留=not upgradedと表示
Ubutnuを運用している際に、ソフトパッケージの差分更新を実行すると「保留(not upgraded)」されることがあります。
$ sudo apt-get update && sudo apt-get upgrade
■保留(not upgraded)の表示例と解決例
保留が表示された例です。日本語のあと、英文でも表示しています。
# apt-get upgrade
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
アップグレードパッケージを検出しています ... 完了
以下のパッケージは保留されます:
language-pack-gnome-ja language-pack-ja linux-headers-lowlatency
linux-image-lowlatency linux-lowlatency
アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 5 個。
日本語環境を英語環境(正確にはC)に変えて同じ表示を確認します。
# export LANG=C
# apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages have been kept back:
language-pack-gnome-ja language-pack-ja linux-headers-lowlatency
linux-image-lowlatency linux-lowlatency
0 upgraded, 0 newly installed, 0 to remove and 5 not upgraded.
root@cbkkawa01:~#
保留が5個あると表示されています。そのパッケージをインストールします。
# apt-get install language-pack-gnome-ja language-pack-ja linux-headers-lowlatency linux-image-lowlatency linux-lowlatency
インストール完了後、updateとupgradeを実行し、保留の有無を確認します。
# apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages have been kept back:
language-pack-gnome-ja language-pack-ja
0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.
#
まだ日本語関係のパッケージが保留されています。
以下の通り、再々度インストールした保留は無くなりました。
$ sudo apt-get install language-pack-gnome-ja language-pack-ja
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下の特別パッケージがインストールされます:
language-pack-gnome-ja language-pack-ja
アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 0 個。
$
以上です。
コメントありがとうございます。谷山 亮治です。
ご存じのことと思いますが
dist-upgrade
は、配布仕様(ディストリビューション)そのもののバージョンを更新します。これは「今の配布仕様のバージョンを維持しつつ最新状態にする」こととは異なります。Ubuntu 15.04を15.11に更新する場合ですね。
今回は「15.04の最新状態にしたい」ため、「upgradeを使って更新する」というストーリーでの紹介でした。記事が、その点を明示しておらず、説明不足となっていました。
ご指摘頂きありがとうございました。追って明示したいと思います。
引き続き、アクセスのほど宜しくお願いします。
そのうえで蛇足です。
> dist-upgrade
> は、配布仕様(ディストリビューション)そのもののバージョンを更新します。
これはよくある誤解で、依存関係の変更があった場合に、変更に追従しない範囲で更新するのがupgradeで、変更に追従して更新するのがdist-upgradeです。
今回のケースは、Debian公式ドキュメント「APT HOW-TO」(Obsolete Documentationですが)の「パッケージのアップグレード」にある、kept backとなる2番目のケースに相当するかと思います。
https://www.debian.org/doc/manuals/apt-howto/ch-apt-get.ja.html#s-upgrade