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

作業時間とか


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

ダウンタイムについて


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

バックアップ


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

事前実行コマンド


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

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

アップグレード実行


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

1
$ sudo do-release-upgrade

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

sshポート確認


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

1
Reading cache
2
3
Checking package manager
4
5
Continue running under SSH?
6
7
This session appears to be running under ssh. It is not recommended
8
to perform a upgrade over ssh currently because in case of failure it
9
is harder to recover.
10
11
If you continue, an additional ssh daemon will be started at port
12
'1022'.
13
Do you want to continue?
14
15
Continue [yN]

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

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

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


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

1
Fetched 323 kB in 0s (0 B/s)
2
Reading package lists... Done
3
Building dependency tree
4
Reading state information... Done
5
6
Updating repository information
7
8
Third party sources disabled
9
10
Some third party entries in your sources.list were disabled. You can
11
re-enable them after the upgrade with the 'software-properties' tool
12
or your package manager.
13
14
To continue please press [ENTER]

アップグレード実行確認


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

1
4 installed packages are no longer supported by Canonical. You can
2
still get support from the community.
3
4
3 packages are going to be removed. 117 new packages are going to be
5
installed. 488 packages are going to be upgraded.
6
7
You have to download a total of 357 M. This download will take about
8
1 minute with your connection.
9
10
Installing the upgrade can take several hours. Once the download has
11
finished, the process cannot be canceled.
12
13
 Continue [yN]  Details [d]

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


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

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


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

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

再起動


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

1
System upgrade is complete.
2
3
Restart required
4
5
To finish the upgrade, a restart is required.
6
If you select 'y' the system will be restarted.
7
8
Continue [yN]

Welcom to Ubuntu 18.04!!


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