スマブロKEN
本記事では、Ubuntu 16.04 LTSを18.04→20.04にアップグレードしていく方法を解説していきます
アップグレード手順
バックアップ
必要なデータはバックアップを取っておきましょう。スマブロKENはConoHa VPSを利用していますので、ConoHaのコントロールパネルから「イメージ保存」をしておきます。
前準備
su(スーパーユーザ)になり、アップグレード前にパッケージを更新しておきます。
# apt update # パッケージ一覧の更新
# apt upgrade # パッケージの更新
# apt dist-upgrade # パッケージの更新と不要の削除
# apt autoremove # 不要パッケージの削除
# apt list --upgradable # 残更新可能パッケージの確認
upgrade時にnginxのdefault.confとnginx.confを更新するか聞かれるので、全て現状インストールされているバージョンを維持するように指定しました。
現在と利用可能バージョンの確認
アップグレード前に現在バージョンと利用可能バージョンを確認しておきます。
# cat /etc/os-release # 現在バージョンを確認
# do-release-upgrade -c # 利用可能バージョンを確認
以下が表示されます。Ubuntu 16.04から18.04にグレードアップ可能であることがわかります。
# cat /etc/os-release
NAME="Ubuntu"
VERSION="16.04.7 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04.7 LTS"
VERSION_ID="16.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
VERSION_CODENAME=xenial
UBUNTU_CODENAME=xenial
# do-release-upgrade -c
Checking for a new Ubuntu release
New release '18.04.6 LTS' available.
Run 'do-release-upgrade' to upgrade to it.
アップグレード実行
SSH接続だと、接続断となる可能性があるため、アップグレードコマンドはConoHa VPSのコンソールから実行します。コンソールは途中接続断となるときがありますが、再接続すれば途中から作業を開始できます。
# do-release-upgrade # アップグレード開始
1時間ぐらいかかります。これでUbuntuが16.04から18.04になります。その後、 上記と同じ手順を繰り返して、18.04から22.04にします。
トラブル
16.04のとき、do-release-upgradeコマンを実行すると、updateできるものがまだ残っている旨の警告により、エラーとなります。
# do-release-upgrade
Checking for a new Ubuntu release
Please install all available updates for your release before upgrading.
apt list –upgradableコマンドで確認してみます。
# apt list --upgradable
Listing... Done
php/xenial,xenial 2:8.0+80~exp2+ubuntu16.04.1+deb.sury.org+1 all [upgradable from: 1:7.0+35ubuntu6.1]
php-curl/xenial,xenial 2:8.0+80~exp2+ubuntu16.04.1+deb.sury.org+1 all [upgradable from: 1:7.0+35ubuntu6.1]
php-gd/xenial,xenial 2:8.0+80~exp2+ubuntu16.04.1+deb.sury.org+1 all [upgradable from: 1:7.0+35ubuntu6.1]
php-mbstring/xenial,xenial 2:8.0+80~exp2+ubuntu16.04.1+deb.sury.org+1 all [upgradable from: 1:7.0+35ubuntu6.1]
php-mysql/xenial,xenial 2:8.0+80~exp2+ubuntu16.04.1+deb.sury.org+1 all [upgradable from: 1:7.0+35ubuntu6.1]
php-xml/xenial,xenial 2:8.0+80~exp2+ubuntu16.04.1+deb.sury.org+1 all [upgradable from: 1:7.0+35ubuntu6.1]
phpの8.0が利用可能と提示されています。しかし、Ubuntu 16.04ではサポートされていないようです。対策として上記PHP7.4を利用しており、不要なので、パッケージを削除します。
# apt remove php php-curl php-gd php-mbstring php-mysql php-xml
まとめ
1 Ubuntu 16.04 LTSから18.04→20.04へのアップグレードが可能
2 SSH接続だと、接続断となる可能性があるため、ConoHa VPSのコンソールから実行すること
3 アップグレードには約1時間ぐらいかかる
4 Ubuntu 16.04ではサポートされていないphp8.0でエラーとなるが、不要なのでパッケージを削除することで回避した。
2 SSH接続だと、接続断となる可能性があるため、ConoHa VPSのコンソールから実行すること
3 アップグレードには約1時間ぐらいかかる
4 Ubuntu 16.04ではサポートされていないphp8.0でエラーとなるが、不要なのでパッケージを削除することで回避した。