概要
サボり続けていた本サイトのWebサーバーのOS(Ubuntu)を16.04LTS→18.04LTS→20.04LTSと一気にアップグレードしました。やる度に手順を忘れているのと、毎回必ずトラブルので、未来の自分のためにメモを残しておきます。
基本手順
$ sudo apt update
新しいパッケージをインストールする。不要なパッケージは削除する。
$ sudo apt dist-upgrade
アップデートマネージャーを実行して、Ubuntuのバージョンをアップグレードする。コマンド実行後、いろいろ確認画面がでるので、yで許可する。
$ sudo do-release-upgrade -d
これでUbuntuが 16 → 18 となるので、もう1度上記手順を繰り返し、 18 → 20 にする。
意外にもWebサーバーは起動しっぱなしでアップグレードできた(そういうものなの?)。ただ念のために最後にはリスタートをかけた。
トラブル
update や upgrade の時点でエラーが出まくりだった。基本的にはエラー時に表示される方法で対処していくが、以下のパッケージに関するエラーがどうにも解消されなかった。
ubuntu-advantage-tools
更新に失敗する
perl-modules-5.22
競合エラー
$ apt remove ubuntu-advantage-tools
メモ
現バージョンの確認
$ cat /etc/os-release
apt と apt-get
ググるとaptとapt-getが混在していてよくわからなかったので調べた。
apt-getは設計上問題があるとのことで、現在はaptへの移行が推奨されている。ただし、apt-getのほうがアップデート容量が少なかったり、優位な点もあるらしく、詳しい人は使い分けるらしい。
apt update と apt upgrade
update と upgrade の違いがよくわからない。すべては名前のせい。
apt updateは、更新するパッケージのリストを作成するためのコマンド。パッケージの更新自体は行わない。
apt upgradeは、リストに沿ってパッケージを更新するためのコマンド。
apt dist-upgrade は、不要になったパッケージを削除してくれる。