Ubuntu 16.04 LTSにアップグレードする方法

前書き

[。警告]##

Warning:オペレーティングシステムのメジャーリリース間のほとんどすべてのアップグレードと同様に、このプロセスには、障害、データ損失、またはソフトウェア構成の破損という固有のリスクが伴います。 包括的なバックアップと広範なテストを強くお勧めします。

これらの問題を回避するには、可能な場合、インプレースアップグレードではなく、新しいUbuntu 16.04サーバーに移行することをお勧めします。 アップグレード時にソフトウェア構成の違いを確認する必要がある場合がありますが、コアシステムの安定性は高くなります。 how to migrate to a new Linux serverに関するシリーズに従って、サーバー間で移行する方法を学ぶことができます。

Ubuntuオペレーティングシステムの次の長期サポートリリースであるバージョン16.04(Xenial Xerus)は、2016年4月21日にリリースされる予定です。

この記事の執筆時点ではまだリリースされていませんが、15.10システムを16.04の開発バージョンにアップグレードすることは既に可能です。 これは、公式のリリース日より前に、アップグレードプロセスと16.04自体の機能の両方をテストするのに役立つ場合があります。

このガイドでは、Ubuntu 15.10を実行しているDigitalOcean Dropletsを含む(ただしこれに限定されない)システムのプロセスについて説明します。

前提条件

このガイドは、Ubuntu 15.10を実行しているシステムがあり、管理タスクのsudo権限を持つ非rootユーザーで構成されていることを前提としています。

潜在的な落とし穴

多くのシステムは問題なくインプレースでアップグレードできますが、ディストリビューションを最初からインストールし、途中で慎重にテストしてサービスを構成し、アプリケーションまたはユーザーデータを個別に移行することで、メジャーな新しいリリースに移行する方が安全で予測しやすいことがよくありますステップ。

ステージング環境でのアップグレードに対して、展開されたすべてのソフトウェアとサービスを最初にテストすることなく、運用システムをアップグレードしないでください。 ライブラリ、言語、およびシステムサービスが大幅に変更されている可能性があることに注意してください。 Ubuntu 16.04では、以前のLTSリリース以降の重要な変更には、Upstartの代わりにsystemd initシステムへの移行、Python 3サポートの強調、PHP 5の代わりにPHP 7が含まれます。

アップグレードする前に、Xenial Xerus Release Notesを読むことを検討してください。

[[step-1 -–- back-up-your-system]] ==ステップ1-システムをバックアップする

システムでメジャーアップグレードを試みる前に、アップグレードが失敗した場合にデータが失われないことを確認する必要があります。 これを実現する最良の方法は、ファイルシステム全体のバックアップを作成することです。 それに失敗した場合、ユーザーのホームディレクトリ、カスタム構成ファイル、およびリレーショナルデータベースなどのサービスによって保存されたデータのコピーがあることを確認してください。

DigitalOcean Dropletでの最も簡単なアプローチは、システムの電源を切ってスナップショットを取ることです(電源を切ると、ファイルシステムの整合性が確保されます)。 スナップショットプロセスの詳細については、How To Use DigitalOcean Snapshots to Automatically Backup your Dropletsを参照してください。 更新が成功したことを確認したら、スナップショットを削除して、課金されないようにすることができます。

ほとんどのUbuntuシステムで機能するバックアップ方法については、How To Choose an Effective Backup Strategy for your VPSを参照してください。

[[step-2 -–- upgrade-currently-installed-packages]] ==ステップ2–現在インストールされているパッケージをアップグレードする

リリースアップグレードを開始する前に、すべてのパッケージfor the current releaseの最新バージョンをインストールするのが最も安全です。 パッケージリストを更新することから始めます。

sudo apt-get update

次に、インストールされたパッケージを最新の利用可能なバージョンにアップグレードします。

sudo apt-get upgrade

アップグレードのリストが表示され、続行するように求められます。 はいの場合はyと答え、Enterを押します。

このプロセスには時間がかかる場合があります。 完了したら、dist-upgradeコマンドを使用します。このコマンドは、依存関係の変更、必要に応じた新しいパッケージの追加または削除を含むアップグレードを実行します。 これは、apt-get upgradeによって抑制された可能性のある一連のアップグレードを処理します。

sudo apt-get dist-upgrade

繰り返しますが、続行するように求められたら%(​​t0)sと答え、アップグレードが完了するのを待ちます。

Ubuntu 15.10の最新のインストールが完了したので、do-release-upgradeを使用して16.04リリースにアップグレードできます。

[[step-3 -–- use-ubuntu-39-s-do-release-upgrade-tool-to-perform-upgrade]] ==ステップ3–Ubuntuのdo-release-upgradeツールを使用してアップグレードを実行する

まず、update-manager-coreパッケージがインストールされていることを確認します。

sudo apt-get install update-manager-core

従来、Debianリリースは、パッケージリポジトリを指定するAptの/etc/apt/sources.listを変更し、apt-get dist-upgradeを使用してアップグレード自体を実行することでアップグレード可能でした。 Ubuntuは依然としてDebianから派生したディストリビューションであるため、このプロセスは引き続き機能します。 ただし、代わりに、Ubuntuプロジェクトが提供するツールであるdo-release-upgradeを使用します。このツールは、新しいリリースの確認、sources.listの更新、およびその他のさまざまなタスクを処理します。 これは、リモート接続を介して実行する必要があるサーバーアップグレードの公式に推奨されるアップグレードパスです。

オプションなしでdo-release-upgradeを実行することから始めます。

sudo do-release-upgrade

Ubuntu 16.04がまだリリースされていない場合は、次が表示されます。

出力例

Checking for a new Ubuntu release
No new release found

公式リリースの前に16.04にアップグレードするには、developmentリリースを使用するために-dオプションを指定します。

sudo do-release-upgrade -d

DigitalOcean Dropletの場合のように、SSHを介してシステムに接続している場合、続行するかどうかを尋ねられます。

ドロップレットでは、SSH経由でアップグレードしても安全です。 do-upgrade-releaseはこれを通知していませんが、DigitalOceanコントロールパネルから利用できるコンソールを使用して、SSHを実行せずにドロップレットに接続できます。

他のプロバイダーがホストする仮想マシンまたは管理対象サーバーの場合、特にシステムのコンソールにリモート接続する別の手段がない場合、SSH接続が失われるリスクがあることに注意してください。 管理下にある他のシステムについては、マシンに直接物理的にアクセスできる場合にのみ、主要なオペレーティングシステムのアップグレードを実行するのが最も安全であることを忘れないでください。

プロンプトで、yと入力し、Enterを押して続行します。

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] y

次に、do-release-upgradeがポート1022でsshdの新しいインスタンスを開始していることが通知されます。

Starting additional sshd

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]

Enterを押します。 次に、ミラーエントリが見つからなかったという警告が表示される場合があります。 DigitalOceanシステムでは、16.04のローカルミラーが実際に利用可能であるため、この警告を無視してアップグレードを続行しても安全です。 yと入力します。

Updating repository information

No valid mirror found

While scanning your repository information no mirror entry for the
upgrade was found. This can happen if you run an internal mirror or
if the mirror information is out of date.

Do you want to rewrite your 'sources.list' file anyway? If you choose
'Yes' here it will update all 'trusty' to 'xenial' entries.
If you select 'No' the upgrade will cancel.

Continue [yN] y

新しいパッケージリストがダウンロードされ、変更が計算されると、アップグレードを開始するかどうかを尋ねられます。 ここでも、yと入力して続行します。

Do you want to start the upgrade?


6 installed packages are no longer supported by Canonical. You can
still get support from the community.

9 packages are going to be removed. 104 new packages are going to be
installed. 399 packages are going to be upgraded.

You have to download a total of 232 M. This download will take about
46 seconds with your connection.

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

 Continue [yN]  Details [d]y

新しいパッケージが取得され、解凍されてインストールされます。 システムが高速接続されている場合でも、これには時間がかかります。

インストール中に、さまざまな質問の対話型ダイアログが表示される場合があります。 たとえば、必要なときにサービスを自動的に再起動するかどうかを尋ねられる場合があります。

Service Restart Dialog

この場合、「はい」と答えても安全です。 その他の場合、インストールしているパッケージのデフォルトバージョンで変更した構成ファイルを置き換えるかどうかを尋ねられる場合があります。 多くの場合、これは判断を促すものであり、このチュートリアルの範囲外の特定のソフトウェアに関する知識が必要になる可能性があります。

新しいパッケージのインストールが完了すると、古いパッケージを削除する準備ができているかどうかを尋ねられます。 カスタム構成のないストックシステムでは、ここにyを入力しても安全です。 大幅に変更したシステムでは、dと入力して、後で再インストールする必要があるものが含まれている場合に備えて、削除するパッケージのリストを確認することをお勧めします。

Remove obsolete packages?


53 packages are going to be removed.

 Continue [yN]  Details [d]y

最後に、すべてがうまくいったと仮定すると、アップグレードが完了し、再起動が必要であることが通知されます。 続行するには、yを入力してください。

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] y

SSHセッションでは、おそらく次のようなものが表示されます。

=== Command detached from window (Thu Apr  7 13:13:33 2016) ===
=== Command terminated normally (Thu Apr  7 13:13:43 2016) ===

SSHセッションはサーバー側で終了するため、ここでキーを押してローカルプロンプトを終了する必要がある場合があります。 システムが再起動するまでしばらく待ってから、再接続します。 ログインすると、Xenial Xerusを使用していることを確認するメッセージが表示されます。

Welcome to Ubuntu Xenial Xerus (development branch) (GNU/Linux 4.4.0-17-generic x86_64)

結論

これで、Ubuntu 16.04が正常にインストールされました。 ここから、おそらくサービスとデプロイされたアプリケーションに必要な構成変更を調査する必要があります。 今後数週間で、Ubuntu 16.04に固有のDigitalOceanガイドをさまざまなトピックについて投稿し始める予定です。

Related