Ubuntu do-release-upgradeOS アップグレード

Ubuntu 16.04.6 LTS から Ubuntu 18.04.2 LTS へアップグレードする

Ubuntu 18.04.2 Ubuntu
スポンサーリンク

Ubuntu 18.04.2 LTSアップグレードするにあたって、Ubuntu のサポートリリース情報を調べて見た。現 16.04 のサポートは 2021 年 4月に切れる。18.04.2 が今年 2月にリリースされ、2028 年 4月までにサポートしてくれることだったのでアップグレードしようかと思いました。
アップグレードは意外とサクサク上手く行きました。これからは新しいサービスを追加して行くつもりです。

Ubuntu のサポート

  • リリースには 通常版長期サポート版 ( LTS: Long Term Support ) がありサポート期間が異なる。
  • 通常版のサポート期間 はリリースから 9ヶ月 である。6 ~ 9ヶ月ごとにバージョンアップしなければならないが、新しい機能を望むユーザーに向いている
  • 長期サポート版 ( LTS ) は 2 年間隔でリリースされサポート期間も長いため安定を望むユーザーに向いている。
  • サポート期間 はリリースから 5 年であったが 18.04 LTS から延長され 10 年 になった。

Ubuntu のリリース情報

バージョンリリース日サポート期限おもな新機能と変更点 備考
16.04 LTS2016年4月21日 2021年4月長期サポート (LTS)、Python 3への完全移行、Snappyの導入LibreOffice 5.1 Linux Kernel 4.4
18.04 LTS2018年4月26日2028年4月長期サポート (LTS)が10年に LibreOffice 6.0 Linux Kernel 4.15
18.04 LTS リリース日
  • 18.04 2018年4月26日
  • 18.04.1 2018年7月26日
  • 18.04.2 2019年2月14日

コマンドまとめ

cat /etc/os-release
sudo apt update && sudo apt upgrade
sudo apt autoremove

sudo ufw allow 1022/tcp comment ‘Temp open port ssh tcp port 1022 for upgrade’
sudo ufw status

sudo do-release-upgrade

cat /etc/os-release
sudo ufw delete allow 1022/tcp

OS Version 確認

16.04.6 LTS (Xenial Xerus) である。

$ cat /etc/os-release

NAME="Ubuntu"
VERSION="16.04.6 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04.6 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

設置されているパッケージをすべてアップしてから、OS アップグレードを進みます。

パッケージをアップグレード

sudo apt update && sudo apt upgrade
sudo apt autoremove
admin@ubuntu:~$ sudo apt update && sudo apt upgrade
...

アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 0 個。
admin@ubuntu:~$

# 依存関係のパッケージを削除:
sudo apt autoremove

1022/TCP ポートをオープン

アップグレードは SSH デーモン をポート 1022 で起動した状態で行われます。do-release-upgrade を実行する前に開けて置きます。

sudo ufw allow 1022/tcp comment ‘Temp open port ssh tcp port 1022 for upgrade’
sudo ufw status
admin@ubuntu16:~$ sudo ufw allow 1022/tcp comment 'Temp open port ssh tcp port 1022 for upgrade'
ルールを追加しました
ルールを追加しました (v6)

admin@ubuntu16:~$ sudo ufw status
状態: アクティブ

To                         Action      From
--                         ------      ----
...
1022/tcp                   ALLOW       Anywhere      # Temp open port ssh tcp port 1022 for upgrade
...
1022/tcp (v6)              ALLOW       Anywhere (v6)  # Temp open port ssh tcp port 1022 for upgrade

18.04.2 へアップグレードする

sudo do-release-upgrade
admin@ubuntu:~$ sudo do-release-upgrade
Checking for a new Ubuntu release
0% [
作業中]                                                                                                                                               0% [us.archive.ubuntu.com へ接続しています]                                                                                                               0% [us.archive.ubuntu.com (91.189.91.23) へ接続しています]                                                                                                0% [ヘッダの待機中です]                                                                                                                                   取得:1 Upgrade tool signature [819 B]
99% [作業中]                                                                                                                                              99% [ヘッダの待機中です]                                                                                                                                  取得:2 Upgrade tool [1,245 kB]
100% [作業中]                                                                                                                                             1,246 kバイト/0秒 を取得しました (0 B/秒)
authenticate 'bionic.tar.gz' against 'bionic.tar.gz.gpg'
extracting 'bionic.tar.gz'
[screen is terminating]

キャッシュを読み込み中
パッケージマネージャーをチェック中です
SSH経由で実行していますが、続けますか?
このセッションはSSH上で実行されているようです。アップグレードをSSH越しに行うことは推奨されません。アップグレードに失敗した時の復元が困難になるからです。

続行する場合、追加のSSHデーモンをポート '1022' で起動します。
本当に作業を進めてよろしいですか?

続行する[yN] y     << y を押下

予備のsshdを開始します

障害が起こったときに復旧しやすくするため、ポート '1022' でもう一つの sshd
を開始します。現在実行中のsshにおかしなことが起きても、もう一方のポートに接続することができます。

ファイアウォールを実行している場合、このポートを一時的に開く必要があります。この操作は、潜在的な危険があるため自動的には行われません。以下の例のようにしてポートを開けます:
'iptables -I INPUT -p tcp --dport 1022 -j ACCEPT'

続けるには [ENTER] キーを押してください   << [ENTER] キーを押下

...

サードパーティが提供するリポジトリを使わない設定にしました

sources.list にあるサードパーティが提供するリポジトリを使わない設定にしました。アップグレード完了後、'ソフトウェアソース'
ツールもしくはパッケージマネージャーを使って再び利用可能な設定にすることができます。

続けるには [ENTER] キーを押してください      << [ENTER] キーを押下

...
アップグレードを開始しますか?

8 個のインストール済みパッケージは Canonical
によってサポートされなくなりました。ただしコミュニティからのサポートは受けることができます。

55 個のパッケージが削除されます。 480 個の新規パッケージがインストールされます。 1495
個のパッケージがアップグレードされます。

合計 2,166 M をダウンロードする必要があります。 このダウンロードは約 8 分 かかります。

アップグレードをインストールするのに数時間かかることがあります。ダウンロードが完了してしまうと、処理はキャンセルできません。

続行する[yN]  詳細 [d]    << [ENTER] キーを押下

...
xscreensaver and xlockmore must be restarted before upgrading
One or more running instances of xscreensaver or xlockmore have been detected on this system. Because of incompatible library changes, the upgrade of the GNU libc library will leave you unable to authenticate to these programs. You should arrange for these programs to be restarted or stopped before continuing this upgrade, to avoid locking your users out of their current sessions.

                            <Ok>     << [ENTER] キーを押下

...
新バージョンの設定ファイル /etc/init.d/procps をインストールしています ...

設定ファイル '/etc/sysctl.conf'
 ==> これはインストールしてから (あなたかスクリプトによって) 変更されています。
 ==> パッケージ配布元が更新版を提供しています。
   どうしますか? 以下の選択肢があります:
    Y か I  : パッケージメンテナのバージョンをインストールする
    N か O  : 現在インストールされている自分のバージョンを残す
      D     : 両バージョンの差異を表示する
      Z     : 状況を調査するためにシェルを開始する
 デフォルトでは現在使っている自分のバージョンを残します。
*** sysctl.conf (Y/I/N/O/D/Z) [デフォルト=N] ? n    << nを入力して[ENTER] キーを押下

...
状態情報を読み取っています... 完了

サポートが中止された(あるいはリポジトリに存在しない)パッケージを削除しますか?
185 個のパッケージが削除されます。 1 個の新規パッケージがインストールされます。
アップグレードの取得とインストールには数時間かかることがあります。ダウンロードが完了してしまうと、処理はキャンセルできません。
 続行する[yN]  詳細 [d] y      << [ENTER] キーを押下

...

システムのアップグレードが完了しました。
再起動が必要です
アップグレードを完了するには再起動が必要です。
'Y' を選択すると再起動します。
続行する[yN]     y      << [ENTER] キーを押下

Connection to aiiff closed by remote host.
Connection to aiiff closed.
try????everything ~$

OS がアップグレードされたか確認

VERSION=”18.04.2 LTS (Bionic Beaver)
admin@ubuntu16:~$ cat /etc/os-release
NAME="Ubuntu"
VERSION="18.04.2 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.2 LTS"
VERSION_ID="18.04"
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"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic

1022/TCP ポートを閉じる

sudo ufw delete allow 1022/tcp
sudo ufw status
admin@ubuntu16:~$ sudo ufw delete allow 1022/tcp
/etc/host.conf: line 5: bad command `nospoof on'
[sudo] admin のパスワード:
ルールを削除しました
ルールを削除しました (v6)

admin@ubuntu16:~$ sudo ufw status
/etc/host.conf: line 5: bad command `nospoof on'
状態: アクティブ

To                         Action      From
--                         ------      ----
...

admin@ubuntu16:~$

/etc/host.conf: line 5: bad command `nospoof on’
このメッセージが表示されたら、下記のコマンドを実行します。

echo “multi on” > /etc/host.conf

admin@ubuntu16:~$ echo "multi on" > /etc/host.conf
admin@ubuntu16:~$ cat /etc/host.conf
multi on
スポンサーリンク

参考文献

Ubuntu 18.04.2 LTS (Bionic Beaver)
how-to-upgrade-ubuntu-16-04-to-18-04-lts-using-terminal
Ubuntu – Wikipedia

コメント

タイトルとURLをコピーしました