ぶていのログでぶログ

思い出したが吉日

今時点でUbuntu 22.04から24.04へdo-release-upgradeするためのmeta-releaseをつくった

[!CAUTION] Ubuntu 24.04.1がリリースされて1ヶ月経ったのでこの記事で紹介しているmeta-releaseは削除しました。

Ubuntu 24.04 LTSリリースめでたい 🎉

discourse.ubuntu.com

gihyo.jp

早速Ubuntu 22.04からdo-release-upgradeして24.04にしようとしたら新しいLTSバージョンはないと表示される…

$ do-release-upgrade
Checking for a new Ubuntu release
There is no development version of an LTS available.
To upgrade to the latest non-LTS development release
set Prompt=normal in /etc/update-manager/release-upgrades.

mantic(23.10)とjammy(22.04 LTS)からのアップグレードは現時点ではアンロックされておらず、manticからはリリース後数日~数週間程度、jammyからは8月の「最初のポイントリリース」後に有効化される予定です

24.04.1が出るまでは22.04からdo-release-upgradeはできないようだ。 一応do-release-upgrade -dすれば23.10を経由して24.04にアップグレードできるが、さすがにめんどくさい。。 ということで、do-release-upgradeが参照しているmetareleaseファイルを作成して、22.04からdo-release-upgradeできるようにしてみた。

22.04から24.04へ

[!IMPORTANT] この方法は公式に奨励されているものではありません。 使用する場合は自己責任でお願いします。 また公式でアップグレードがアンロックされた場合、以下のファイルは削除するかもしれないので今後使えなくなるかもしれません。

やり方は簡単で以下のように/etc/update-manager/meta-releaseを書き換える。

$ cat /etc/update-manager/meta-release
# default location for the meta-release file

[METARELEASE]
URI = https://force-upgrade-to-ubuntu-nobel.buty4649.net/meta-release
URI_LTS = https://force-upgrade-to-ubuntu-nobel.buty4649.net/meta-release-lts
URI_UNSTABLE_POSTFIX = -development
URI_PROPOSED_POSTFIX = -proposed

URI,URI_LTSの部分を私の作ったmeta-releaseに向けるように変更する。 変更が終わったらdo-release-upgradeすると24.04にアップグレードできるはず。

$ do-release-upgrade
Checking for a new Ubuntu release

= Welcome to Ubuntu 24.04 LTS 'Noble Numbat' =

The Ubuntu team is proud to announce Ubuntu 24.04 LTS 'Noble Numbat'.
-- snip --

おまけ: /etc/update-manager/meta-releaseのデフォルト値

# default location for the meta-release file

[METARELEASE]
URI = https://changelogs.ubuntu.com/meta-release
URI_LTS = https://changelogs.ubuntu.com/meta-release-lts
URI_UNSTABLE_POSTFIX = -development
URI_PROPOSED_POSTFIX = -proposed

(追記:2024/09/30) meta-releaseファイルの中身

せっかくなのでS3上にアップロードしていたmeta-releaseファイルの中身を記録しておく。 https://gist.github.com/buty4649/32b4a850295c727c6e2b2140bafdbec3

中身は長いが私が追記したのは Dist: noble で始まるブロックを追記しただけ(だったはず)。 もしくは、Supportedの行を1にしたとかそういう変更だった記憶…