Ubuntu日和

【第59回】Ubuntu 22.04 LTSから24.04 LTSへアップグレードできるようになった。どうする?

新しいバージョンのUbuntuが利用可能です、のダイアログ

 Ubuntuは、通常リリース(中間リリース)の場合は新リリースの直後に、LTSの場合は最初のポイントリリース(24.04 LTSの場合は24.04.1 LTS)がリリースされた後、前のバージョンから次のバージョンへのアップグレードが有効になる。8月末に24.04.1 LTSがリリースされたので、22.04 LTSユーザーも先のダイアログを見たであろう。なおポイントリリースに関しては第47回で紹介した。

 あれ、見ていないな、おかしいぞと思うかもしれない。実はこれ、おかしくないのだ。8月30日(日本時間)に一旦アップグレードが有効化されたものの、9月4日(同)に無効化された。aptの不具合により、カーネルのアップデートに問題が見つかったからだ。本来ならこの記事も9月7日に公開したかったのだが、そんな理由で1週間延期された。

 余談だが、23.10から24.04 LTSのアップグレードもリリース後1カ月弱で有効になったものの、この不具合を受けて無効化された。中間リリースはサポート期間が9カ月しかなく、新バージョンがリリースされてから3カ月の間にアップグレードしなければいけないが、2カ月に短縮された。そればかりか、サポート終了後にアップグレードが無効になるという奇妙なことが起きている。Ubuntuのリリース体制は一体どうなっているのであろうか。

サポートが終了しているのにアップグレードできない記念スクリーンショット。現在はアップグレード可能になっている

 紆余曲折ありつつも9月10日(日本時間)には無事に再びアップグレード可能な状態に戻った。そこで、今回はスムーズなアップグレードを行なうコツを紹介したい。

スムーズなアップグレードを行なうコツ

アップグレードしない

 アップグレードのダイアログが表示された際、真っ先に検討すべきは「今すぐアップデートする」をクリックしないことである。UbuntuのLTSは何もしなくても5年間サポートが継続する。換言すると22.04 LTSは2027年までサポートが継続されるので、あと3年弱はそのまま使えるということだ。

 最新バージョンをまっさきに使いたい気持ちも分かるが、先の不具合も先人達が踏んだことによって発覚した不具合だ。積極的に不具合を踏みに行きたいとか、仮想マシンなのでスナップショットで簡単に戻せるとかそういった状況でなければ、遅ければ遅いほどアップグレード時に不具合を踏む可能性は減ると考えていい。

 なお「次回にたずねる」をクリックすると1週間後にまた聞いてくる。「アップグレードしない」をクリックするとこのダイアログは表示されなくなるが、「ソフトウェアの更新」からアップグレードは可能だ。

「ソフトウェアの更新」からでもアップグレードできる

事前に情報を得る

 Ubuntuの新リリースには、必ずリリースノートが存在する。たいていの場合は自分に関係ないが、クリティカルなことを知る機会にもなり得るので、必ず読むクセをつけよう。日本語訳もされており、24.04 LTSのリリースノートはこちらだ。

 GNOME Shell拡張機能には注意が必要だ。22.04 LTSから24.04 LTSにアップグレードするということはGNOME Shellのバージョンが42から46に上がることとなる。この間にGNOME Shell拡張機能の互換性が損なわれている。もしExtension ManagerなどからパッケージになっていないGNOME Shell拡張機能をインストールしている場合は、それが46でも動作するようにアップデートされているか確認する必要がある。具体的には、筆者が使用しているOpenWeatherはGNOME 44までしか対応しておらず、OpenWeather Refinedをインストールする必要がありそうだった。

 ほかにも、どうしてもこのアプリケーション(パッケージ)は動いてもらわないと困る、というものがあれば、変更点を事前に押さえておくといいだろう。外部リポジトリからインストールするパッケージであれば、アップグレード後のバージョンでも動作するか仮想マシンで試してみるのも手だ。そもそもインストールできなくなるなんて話もザラにある。

不要なパッケージを削除する

 第58回でも紹介したように、インストールされているパッケージは少なければ少ないほどアップグレードに成功する確率が上がる。従って、事前に不要なパッケージを削除しておくことをおすすめする。

 第4回で紹介したflatpakやsnapは、Ubuntuのバージョンを問わず使用できるので、これら別のパッケージシステムに使用しているパッケージが用意されているのであれば、そちらに移るのも手だ。

バックアップを取る

 四の五の言わずアップグレード前にはバックアップを取ろう。たいていの場合はアップグレードに失敗しても腕に覚えがあれば復旧可能だが、腕に覚えがある人はこの記事を読んでいないだろう。

 バックアップの方法は第20回で紹介したので繰り返さない。たいていの場合はClonezillaがあれば百人力だが、ホームフォルダーにVirtualBoxのゲストOSのような巨大なファイルが多数ある場合には必ずしも向いた方法とはいえない。Ubuntuの使い方によってバックアップの方法は異なってくるが、rsyncのようなプリミティブなツールに頼るのは実はとても正しい。自分にあったバックアップ方法を取ろう。

時間と心に余裕を持つ

 アップグレードの際は大量のパッケージをダウンロードすることになるので、帯域とサーバーの混み具合によっては時間がかかることもある。また、大量のファイルを書き込むことになるので、SSDはともかくHDDであればそれだけで時間がかかる。今日日HDDをメインのストレージにしていることは稀だとは思われるが。

 パッケージをダウンロードするサーバー(ミラーサーバー)に関しては、「ソフトウェアとアップデート」-「Ubuntuのソフトウェア」-「ダウンロード元」-「その他」で変更できる。日々パッケージのダウンロードに時間がかかっているという認識があるのであれば、ここで変更してみるのも手だ。「最適なサーバーを探す」はその時たまたま高速だったサーバーが引っかかり、実用的でないこともままあるのであまりおすすめしない。

 アップグレードの最中、質問されることもある。場合によってはその数も多くなるので、間違えずに答える心の余裕が必要だ。また、過去に筆者はアップグレードの最中にUSB切替器でキーボードとマウスを別PCに切り替えてしまい、戻しても認識せずにどうしようもなくなったという経験がある。これも心に余裕があれば防げた事故だと思われる。しかしこれはアップグレードの方法によって回避できるので、後ほどその方法も紹介する。

パッケージを最新の状態にしておく

 どうせアップグレードするのだからすべてのアップデートを適用しなくてもいいのではないかと思いがちだが、そういう作りにはなっていない。アップグレード前にはすべてのアップデートパッケージをインストールする必要がある。

アップグレードをしよう!

GUIでアップグレードする

 ではアップグレードを行なおう。前出の「アップグレードが可能です」ダイアログで「今すぐアップグレードする」をクリックするか、「ソフトウェアの更新」の「アップグレード」をクリックする。

 パスワード入力後、「リリースノート」が表示される。前出のとおり日本語訳もあるので、事前によく読んでおこう。

 あとはひたすら指示に従っていくだけだ。

リリースノートはすでに読んだはずなので「アップグレード」をクリックする
実際にアップグレードが始まる
本当にアップグレードするかどうかの最終確認
アップグレード中はロックが無効になる
パッケージのダウンロードとインストールが始まった。もう後戻りできない
ThunderbirdはDebianパッケージからsnapパッケージに置き換えられる
設定ファイルを置き換えるか質問されることもある。自分で設定を変更した記憶がある場合は「そのまま」、そうでない場合は「置き換える」をクリックするといいだろう
パッケージのインストールが完了すると、不要なパッケージを削除するか質問される。基本的には削除するといいだろう。もちろん事前に「詳細」をクリックして対象のパッケージを確認しよう
すべての処理が完了し、再起動となる。何もできないのでさっさと再起動してしまおう
無事に起動した

コマンドラインでアップグレードする

 Ubuntuサーバーでも実行できるように、コマンドラインからもアップグレードが行える。もちろんUbuntu(デスクトップ)からでも実行できる。そのコマンドとは、「do-release-upgrade」だ。

do-release-upgradeコマンドの実行例。リリースノートが表示されているところからも推察できるように、手順はGUIから行った場合と同じだ

 なおSSH経由で実行する場合は、第36回を読んでからにしよう。いちおうByobuなしでも接続を維持する方法は用意されているが、正直なところ面倒なのでByobu越しで実行するのがオススメだ。

 VNCやRDP経由でUbuntuにアクセスしている場合はGUIでアップグレードすると必ず失敗するので、コマンドラインで実行しよう。

アップグレードの表示が出ない場合は

 アップグレードの告知が表示されず、「ソフトウェアの更新」でもアップグレードボタンが表示されない場合は、そもそもアップグレードが無効化されている可能性がある。「ソフトウェアとアップデート」の「アップデート」タブにある「Ubuntuの新バージョン通知」が「なし」になっている場合はこのような挙動になる。「長期サポート(LTS)版」ないし「全ての新バージョン」に変更しよう。

アップグレードできない場合に確認するところ