序章

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

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

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

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

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

前提条件

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

潜在的な落とし穴

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

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

アップグレードする前に、XenialXerusリリースノートを読むことを検討してください。

ステップ1-システムをバックアップする

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

DigitalOceanドロップレットでは、システムの電源を切り、スナップショットを作成するのが最も簡単な方法です(電源を切ると、ファイルシステムの一貫性が高まります)。 スナップショットプロセスの詳細については、DigitalOceanスナップショットを使用してドロップレットを自動的にバックアップする方法を参照してください。 更新が成功したことを確認したら、スナップショットを削除して、料金が請求されないようにすることができます。

ほとんどのUbuntuシステムで機能するバックアップ方法については、VPSの効果的なバックアップ戦略を選択する方法を参照してください。

ステップ2–現在インストールされているパッケージをアップグレードする

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

  1. sudo apt-get update

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

  1. sudo apt-get upgrade

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

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

  1. sudo apt-get dist-upgrade

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

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

ステップ3–Ubuntuのdo-release-upgradeツールを使用してアップグレードを実行する

まず、あなたが持っていることを確認してください update-manager-core インストールされているパッケージ:

  1. sudo apt-get install update-manager-core

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

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

  1. sudo do-release-upgrade

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

サンプル出力
Checking for a new Ubuntu release
No new release found

公式リリースの前に16.04にアップグレードするには、 -d 開発リリースを使用するためのオプション:

  1. 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 の新しいインスタンスを開始しています sshd ポート1022:

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

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

インストール中に、さまざまな質問に対するインタラクティブなダイアログが表示される場合があります。 たとえば、必要に応じてサービスを自動的に再開するかどうかを尋ねられる場合があります。

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

新しいパッケージのインストールが完了すると、廃止されたパッケージを削除する準備ができているかどうかを確認するメッセージが表示されます。 カスタム構成のないストックシステムでは、ここに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セッションはサーバー側で終了するため、ここでキーを押してローカルプロンプトに戻る必要がある場合があります。 システムが再起動するまでしばらく待ってから、再接続します。 ログインすると、XenialXerusを使用していることを確認するメッセージが表示されます。

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

結論

これで、Ubuntu16.04が正常にインストールされているはずです。 ここから、サービスとデプロイされたアプリケーションに必要な構成変更を調査する必要があります。 今後数週間で、Ubuntu16.04に固有のDigitalOceanガイドの幅広いトピックに関する投稿を開始します。