naoki86star

インターネットの片隅でなにかしら書いてみる

ubuntuのアップグレード予習

KVMを利用して、ubuntu OSを16から22まで、アップデートしてみた。更で16をインストールして、何も追加で入れず、単にdo-upgrade-releaseを繰り返すだけ。

出発点(16)

Linux ubuntu 4.4.0-186-generic #216-Ubuntu SMP Wed Jul 1 05:34:05 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

(->18)

Linux ubuntu 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

(->20)

Linux ubuntu 5.4.0-170-generic #188-Ubuntu SMP Wed Jan 10 09:51:01 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

(->22)

Linux ubuntu 5.15.0-92-generic #102-Ubuntu SMP Wed Jan 10 09:33:48 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

自分が勝手に思っていたよりも時間かからなかった。1アップグレードあたり..20-30分くらいかなぁ

追加パッケージとかいれてないから、現実的な参考には遠いかな...


2024/01/28追記

18.10とかのltsでないバージョンからのアップグレードは、サポートされないフラグ立てられているようでアップグレードできない、といわれてしまう。
do-release-upgradeは、`/etc/update-manager/meta-release`にあるURIエントリを参照して動くらしい
このフラグ(Supported: )を立てて、別のサーバにおいて、URIエントリを書き換えてやると、とりあえずアップグレーダブルにはなる。

18.10で動いていたVPSがあって、そこで18.10->19.04->19.10->20.04までひとつづつやってみた。当該バージョンとアップグレード先バージョンのエントリでSupported: 1にして、それ以降のバージョンはいったん削除する、そういうmeta-releaseを毎回コピー作成して繰り返しやった。
18.10->19.04のときが若干不穏で、アップグレード直後がすべてのパッケージがアップグレーダブルのような表示がでた。(だけどapt update, upgradeするとなにもアップデートせず、アップデート済みになった)

こんなブログとか参考にした、このやり方自体はうまくいかなかったけど、meta-releaseを引っ張て来てその情報をもとに動くのか、ということを知ることができた。