さくら VPS Ubuntu 22 → 24.04 アップグレ-ド
さくら VPS Ubuntu 24.04 LTS へアップグレ-ド
さくら VPS に入れていた Ubuntu 22.04 LTS を Ubuntu 24.04 LTS にアップグレードしてみました。
簡単にいくのかと思っていましたが、甘い考えでした。
悪戦苦闘しましたのでその顛末を書き記します。
まずは準備です。
SSH 接続でアップグレ-ドするのは止めましょう。
失敗したときに復旧が困難です。
update サブコマンドを使って Ubuntu 22.04 LTS の最新のパッケージ情報を再取得します。
シリアルコンソ-ルを開き、
yamada@********:~$ sudo apt update
dist-upgrade サブコマンドを使って Ubuntu のパッケージを更新
yamada@********:~$ sudo apt dist-upgrade
sudo apt upgrade という似たコマンドもありますが、そちらはパッケージを最新に更新するのみです。
dist-upgrade はパッケージを最新に更新、不要なパッケージの削除、カーネルの更新もしてくれます。
次に autoremove サブコマンドを使って Ubuntu の依存関係で必要なくなったパッケージを削除します。
yamada@********:~$ sudo apt autoremove
これで準備完了です。
さくら VPS Ubuntu 22.04 LTS 現状確認
まずは現状を確認します。
lsb_release コマンドで Linux系OS のバージョン情報をみることができます。
-a をつけるとわかることすべてを表示してくれます。
yamada@********:~$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 22.04.5 LTS Release: 22.04 Codename: jammy
次に do-release-upgrade-c でアップグレード可能なバージョンがあるかを確認します。
もしできないと言われた時は、以下の対処をします。
OK の場合はこの対処はパスします。
yamada@********:~$ sudo do-release-upgrade -c [結果] 新しい Ubuntu のリリースをチェックしています /etc/update-manager/release-upgrades の Prompt は never に設定されているため、アップグレードはできません。
仕方ないので
/etc/update-manager/release-upgrades
の「Prompt」の値を書き換えます。
値は「never」「normal」「lts」のいずれかにすることができます。
今回は「lts」にします。
yamada@yama:~$ sudo nano /etc/update-manager/release-upgrades
で最後の行を
Prompt=lts
に変更します。
nano での編集が終わったら
^O 書込
Enter
^X 終了
で nano を終了します。
一般的には Prompt=lts になっているようです。
再確認します。
さくら VPS Ubuntu 24.04 LTS へのアップグレード開始
yamada@********:~$ sudo do-release-upgrade -c Checking for a new Ubuntu release New release '24.04.2 LTS' available. Run 'do-release-upgrade' to upgrade to it. [和訳] 新しい Ubuntu のリリースをチェックしています 新しいリリース '24.04.2 LTS' が利用可能になっています。 'do-release-upgrade' を実行してアップグレードしてください
24.04.2 LTS が存在することが確認できましたので
アップグレードします。
yamada@********:~$ sudo do-release-upgrade
とすると update-manager が動き出してアップグレードが開始されます。
アップグレード中は、指示に従って項目を選択していきます。
途中質問されたら y で進みます。
これが曲者です?
設定ファイル '/etc/crontab' ==> これはインストールしてから (あなたかスクリプトによって) 変更されています。 ==> パッケージ配布元が更新版を提供しています。 どうしますか? 以下の選択肢があります: Y か I : パッケージメンテナのバージョンをインストールする N か O : 現在インストールされている自分のバージョンを残す D : 両バージョンの差異を表示する Z : 状況を調査するためにシェルを開始する デフォルトでは現在使っている自分のバージョンを残します。 *** crontab (Y/I/N/O/D/Z) [デフォルト=N] ? ―[N にしました]― 設定ファイル '/etc/systemd/timesyncd.conf' ==> これはインストールしてから (あなたかスクリプトによって) 変更されています。 ==> パッケージ配布元が更新版を提供しています。 どうしますか? 以下の選択肢があります: Y か I : パッケージメンテナのバージョンをインストールする N か O : 現在インストールされている自分のバージョンを残す D : 両バージョンの差異を表示する Z : 状況を調査するためにシェルを開始する デフォルトでは現在使っている自分のバージョンを残します。 *** timesyncd.conf (Y/I/N/O/D/Z) [デフォルト=N] ? ―[N にしました]― 設定ファイル '/etc/xrdp/xrdp.ini' ==> これはインストールしてから (あなたかスクリプトによって) 変更されています。 ==> パッケージ配布元が更新版を提供しています。 どうしますか? 以下の選択肢があります: Y か I : パッケージメンテナのバージョンをインストールする N か O : 現在インストールされている自分のバージョンを残す D : 両バージョンの差異を表示する Z : 状況を調査するためにシェルを開始する デフォルトでは現在使っている自分のバージョンを残します。 *** xrdp.ini (Y/I/N/O/D/Z) [デフォルト=N] ? ―[N にしました]― 設定ファイル '/etc/apache2/apache2.conf' ==> これはインストールしてから (あなたかスクリプトによって) 変更されています。 ==> パッケージ配布元が更新版を提供しています。 どうしますか? 以下の選択肢があります: Y か I : パッケージメンテナのバージョンをインストールする N か O : 現在インストールされている自分のバージョンを残す D : 両バージョンの差異を表示する Z : 状況を調査するためにシェルを開始する デフォルトでは現在使っている自分のバージョンを残します。 *** apache2.conf (Y/I/N/O/D/Z) [デフォルト=N] ? ―[N にしました]―
30分ほどでアップグレードが完了します。y
アップグレードの確認
Ubuntu のターミナルを開き
yamada@yama:~$ cat /etc/os-release PRETTY_NAME="Ubuntu 24.04.2 LTS" NAME="Ubuntu" VERSION_ID="24.04" VERSION="24.04.2 LTS (Noble Numbat)" VERSION_CODENAME=noble ID=ubuntu ID_LIKE=debian HOME_URL="https://www.ubuntu.com/" SUPPORT_URL="https://help.ubuntu.com/" BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" UBUNTU_CODENAME=noble LOGO=ubuntu-logo 又は、 yamada@yama:~$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 24.04.2 LTS Release: 24.04 Codename: noble
となっていればアップグレードは完了です。
確かにアップグレードは上手く行ったのですが
Apache2 が動きません。
参った!!
ここまでで、さくら VPS の Ubuntu 22.04 LTS を 24.04 LTS にアップグレードができました。
引き続き、Apache2 を再稼働させます。