まあ、なんか思ったよりあっさりできました。VultrVPS・さくらのVPSで稼働している計3台アップグレードしました。手順とか書き残しときます。

作業時間とか


VultrVPSの2台が20分くらいで、さくらのVPSの1台が10分くらいでした。いずれも東京リージョンで、Ubuntu16.04から18.04へのアップグレードでした。まあ、この辺はネットワークのお事情とかで変わってくると思うので参考までに。

ダウンタイムについて


このサイトのUbuntuもアップグレードしました。nginx含めてもろもろのサービスが停止したのは再起動時のみで、ダウンタイムは何もなければ1分未満で済むんじゃないでしょうか。(まあ、こんな趣味サイトじゃなくて本番の場合はロードバランサーとかで振り分けてもっとキッチリやると思いますが…)

バックアップ


私は「趣味の範囲だし、ぶっ壊れても作り直せばいいか。ソイヤッ!!ソイヤッ!!」の精神でやりましたのでバックアップは取りませんでしたが、ちゃんとバックアップを取りましょう。

事前実行コマンド


というわけで、実際の手順に入ります。まず、Ubuntuのアップグレードの前に下記のコマンドを順番に実行してパッケージを更新します。

1
2
3
$ sudo apt update
$ sudo apt upgrade
$ sudo apt dist-upgrade

アップグレード実行


パッケージの更新が終わればいよいよ下記のコマンドでUbuntuをアップグレードします。

1
$ sudo do-release-upgrade

設定が若干異なっていたのか、各サーバでアップグレード時に聞かれたことが若干異なりました。その辺りも含めてアップグレード時の詳細について書きます。

sshポート確認


まず、初めに一時的に追加でsshポートが開けられる旨と、続行するかどうか聞かれます。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Reading cache

Checking package manager

Continue running under SSH?

This session appears to be running under ssh. It is not recommended
to perform a upgrade over ssh currently because in case of failure it
is harder to recover.

If you continue, an additional ssh daemon will be started at port
'1022'.
Do you want to continue?

Continue [yN]

アップグレード時になにか失敗しても追加で開けられたポートで接続できますよ。的なことを言われて、ENTERを押すように言われます。

1
2
3
4
5
6
7
8
9
To make recovery in case of failure easier, an additional sshd will
be started on port '1022'. If anything goes wrong with the running
ssh you can still connect to the additional one.
If you run a firewall, you may need to temporarily open this port. As
this is potentially dangerous it's not done automatically. You can
open the port with e.g.:
'iptables -I INPUT -p tcp --dport 1022 -j ACCEPT'

To continue please press [ENTER]

一部パッケージ無効化の確認


続けてsource.listに記載されているパッケージは無効になる旨が表示されます。続けてENTERを押します。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Fetched 323 kB in 0s (0 B/s)
Reading package lists... Done
Building dependency tree
Reading state information... Done

Updating repository information

Third party sources disabled

Some third party entries in your sources.list were disabled. You can
re-enable them after the upgrade with the 'software-properties' tool
or your package manager.

To continue please press [ENTER]

アップグレード実行確認


アップグレードは数時間かかるぜ!!というのと、ひとたびダウンロードが終わればキャンセルできませんよ!!と言われます。問題なければ続行します。

1
2
3
4
5
6
7
8
9
10
11
12
13
4 installed packages are no longer supported by Canonical. You can
still get support from the community.

3 packages are going to be removed. 117 new packages are going to be
installed. 488 packages are going to be upgraded.

You have to download a total of 357 M. This download will take about
1 minute with your connection.

Installing the upgrade can take several hours. Once the download has
finished, the process cannot be canceled.

Continue [yN] Details [d]

キーボードレイアウト設定


スクリーンショットは撮っていないのですが、さくらのVPS上のUbuntuだけキーボードレイアウトについて聞かれました。Japaneseで設定しました。(特にいじっていた覚えはないんですがね…)

一部設定ファイルの更新確認


sysctl.conf/etc/ntp.confをどうするか聞かれました。どちらも現状インストールされているバージョンを維持するように指定しました。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Configuration file '/etc/sysctl.conf'
==> Modified (by you or by a script) since installation.
==> Package distributor has shipped an updated version.
What would you like to do about it ? Your options are:
Y or I : install the package maintainer's version
N or O : keep your currently-installed version
D : show the differences between the versions
Z : start a shell to examine the situation
The default action is to keep your current version.

...

Configuration file '/etc/ntp.conf'
==> Modified (by you or by a script) since installation.
==> Package distributor has shipped an updated version.
What would you like to do about it ? Your options are:
Y or I : install the package maintainer's version
N or O : keep your currently-installed version
D : show the differences between the versions
Z : start a shell to examine the situation
The default action is to keep your current version.
*** ntp.conf (Y/I/N/O/D/Z) [default=N] ?

grub更新確認


この後、さくらのVPSではgrubをどうするか聞かれました。差分が確認できますので、そちらを確認して問題なさそうだったので「install the package maintainer’s version」を選択しました。

sshd更新確認


続けてsshdの設定をどうするか聞かれますがsshdはいじりまくっているので「keep the local version currently installed」で現状を維持するように指定しました。

廃止パッケージの確認


廃止(非推奨?)パッケージを削除するかどうか聞かれますので確認します。私は消しました。

1
2
3
4
5
Remove obsolete packages?

54 packages are going to be removed.

Continue [yN] Details [d]

再起動


最後に再起動するかどうか聞かれますので、再起動して終わりです。

1
2
3
4
5
6
7
8
System upgrade is complete.

Restart required

To finish the upgrade, a restart is required.
If you select 'y' the system will be restarted.

Continue [yN]

Welcom to Ubuntu 18.04!!


再起動が終わってログインすると18.04にあがっています。やったね!!