これは、なにをしたくて書いたもの?
Ubuntu Linux 18.04 LTSにインストールしているDocker CEがapt upgrade
でアップデートされないという状態になっていたので、
これをどうやってアップデートしたらよいのだろう?と。
結論から言うと、明示的にapt install
すればよいみたいです。
$ sudo apt install [対象のパッケージ]
環境
今回の環境は、こちら。
$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 18.04.5 LTS Release: 18.04 Codename: bionic $ uname -srvmpio Linux 4.18.0-25-generic #26~18.04.1-Ubuntu SMP Thu Jun 27 07:28:31 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Ubuntu Linux 18.04 LTSです。
apt upgrade時に起こったこと
apt upgrade
時に、こんな感じにパッケージのアップデートが保留されました。
以下のパッケージは保留されます: docker-ce
他のパッケージはアップデートされるのに、保留になったパッケージはそのままです。
アップグレード: 9 個、新規インストール: 0 個、削除: 0 個、保留: 1 個。
調べてみるとapt-get dist-upgrade
したらいいとか出てくるのですが、それはやりすぎだろうと。
apt upgrade
時に、以下のようなメッセージが出てくるのですが
アップグレードできるパッケージが 1 個あります。表示するには 'apt list --upgradable' を実行してください。
見たところでどうにもなりません。
$ sudo apt list --upgradable 一覧表示... 完了 docker-ce/bionic 5:20.10.2~3-0~ubuntu-bionic amd64 [5:19.03.14~3-0~ubuntu-bionic からアップグレード可]
結局、保留されますからね…。
で、もうちょっと調べたら結局apt install
で明示的に指定すればいいみたいです。
$ sudo apt install docker-ce パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 以下の追加パッケージがインストールされます: docker-ce-rootless-extras 推奨パッケージ: slirp4netns 以下のパッケージが新たにインストールされます: docker-ce-rootless-extras 以下のパッケージはアップグレードされます: docker-ce アップグレード: 1 個、新規インストール: 1 個、削除: 0 個、保留: 0 個。 33.7 MB のアーカイブを取得する必要があります。 この操作後に追加で 36.3 MB のディスク容量が消費されます。 続行しますか? [Y/n] y
このアップデートでは、パッケージ(今回はdocker-ce
)の依存関係として別のパッケージが追加された…要するに、
依存関係に変更があったのでapt upgrade
は入らなかった、ということみたいです。
パッケージアップデート時に保留された時の対処は、依存関係の確認をしてくれってことになるわけですね。