**警告:**主要なオペレーティングシステムバージョン間のほとんどすべてのアップグレードと同様に、このプロセスには、障害、データ損失、またはソフトウェア構成の破損という固有のリスクがあります。完全なバックアップと広範なテストを実施することを強くお勧めします。
これらの問題を回避するには、適切にアップグレードするのではなく、可能な限り新しいUbuntu16.04サーバーに移行することをお勧めします。アップグレード時にソフトウェア構成の違いを確認する必要がある場合もありますが、コアシステムの方が安定性が高い場合があります。
Ubuntuオペレーティングシステム16.04(Xenial Xerus)の次の長期サポートバージョンは、2016年4月21日にリリースされます。
執筆時点ではリリースされていませんが、15.10システムを16.04開発バージョンにアップグレードすることは可能です。これは、公式リリース日の前に、アップグレードプロセスと16.04自体の機能をテストするのに役立つ場合があります。
このガイドでは、Ubuntu15.10を実行するTencentCloud [CVM](https://cloud.tencent.com/product/cvm?from=10680)を含む(ただしこれに限定されない)システムのプロセスについて説明します。
sudo
コマンドを使用できる非rootアカウントを持つUbuntu サーバーがセットアップされ、ファイアウォールがオンになっています。サーバーをお持ちでない方は[こちら](https://cloud.tencent.com/product/cvm?from=10680)から購入できますが、個人的には無料のTencent Cloud [Developer Lab](https://cloud.tencent.com/developer/labs/gallery?from=10680)を使って実験し、[サーバーを購入]( https://cloud.tencent.com/product/cvm?from=10680)。
多くのシステムは事故なくアップグレードできますが、通常は、最初からインストールして配布し、プロセス全体で構成サービスを注意深くテストし、アプリケーションまたはユーザーデータを個別の移行として移行することで、メジャーな新しいバージョンに移行する方が安全です。予測可能なステップ。
アップグレード環境で、デプロイされたすべてのソフトウェアとサービスのアップグレードを最初にテストしない場合は、本番システムをアップグレードしないでください。ライブラリ、言語、およびシステムサービスが大幅に変更されている可能性があることに注意してください。 Ubuntu 16.04では、最後のLTSバージョン以降の重要な変更には、Upstartではなくsystemd initシステムへの切り替え、Python 3サポートの強調、PHP5ではなくPHP7が含まれます。
アップグレードする前に、[Xenial Xerusリリースノート](https://wiki.ubuntu.com/XenialXerus/ReleaseNotes)をお読みください。
システムのメジャーアップグレードを試みる前に、アップグレードが失敗した場合にデータが失われないことを確認する必要があります。これを実現する最善の方法は、ファイルシステム全体をバックアップすることです。これが不可能な場合は、ユーザーのホームディレクトリ、カスタム構成ファイル、およびリレーショナルデータベースなどのサービスによって保存されたデータのコピーがあることを確認してください。
Tencent Cloud CVMでは、システムをシャットダウンしてスナップショットを作成するのが最も簡単な方法です(電源をオフにすると、ファイルシステムの一貫性が高まります)。更新が成功したことを確認した後、スナップショットを削除して、課金されないようにすることができます。
アップグレードのリリースを開始する前に、最も安全なのは、現在のバージョンのすべてのパッケージの最新バージョンをインストールすることです。最初にパッケージリストを更新します。
sudo apt-get update
次に、インストールされているパッケージを最新バージョンにアップグレードします。
sudo apt-get upgrade
アップグレードリストが表示され、続行するように求められます。 ** y と答えて「はい」を示し、 Enter **を押します。
このプロセスには時間がかかる場合があります。完了後、 dist-upgrade
コマンドを使用して、依存関係の変更や必要に応じた新しいパッケージの追加または削除などのアップグレードを実行します。これは、 apt-getupgrade
アスペクトによってブロックされる可能性のある一連のアップグレードを処理します。
sudo apt-get dist-upgrade
繰り返しますが、続行するように求められたら** y **と答え、アップグレードが完了するのを待ちます。
Ubuntu 15.10の最新バージョンをインストールしたので、 do-release-upgrade
を使用してバージョン16.04にアップグレードできます。
まず、必ず update-manager-core
パッケージをインストールしてください。
sudo apt-get install update-manager-core
従来、Debianバージョンでは、パッケージリポジトリを指定できるApt / etc / apt / sources.list
を変更し、 apt-getdist-upgrade
を使用してアップグレードを実行することでアップグレードを可能にすることができました。 UbuntuはまだDebianから派生したディストリビューションであるため、このプロセスは引き続き役立つ可能性があります。代わりに、 do-release-upgrade
Ubuntuプロジェクトが提供するツールを使用して、新しいバージョンのリリースを処理したり、 sources.list
を更新したりするなどの一連のタスクを実行します。これは、サーバーアップグレードの公式推奨アップグレードパスであり、リモート接続を介して実行する必要があります。
最初にオプションなしで do-release-upgrade
を実行します。
sudo do-release-upgrade
Ubuntu 16.04がリリースされていない場合は、次のように表示されます。
Checking for a newUbuntu release
No newrelease found
公式リリースの前に16.04にアップグレードするには、「-d」オプションを指定して開発バージョンを使用してください。
sudo do-release-upgrade -d
Tencent Cloud CVMを使用する場合と同様に、SSH経由でシステムに接続する場合は、続行するかどうかを尋ねられます。
CVMでは、SSHを介したアップグレードは安全です。 do-upgrade-release
はこれを教えてくれませんでしたが、Tencent Cloudコントロールパネルにあるコンソールを使用して、SSHを実行せずにCVMに接続できます。
他のプロバイダーによってホストされている仮想マシンまたはホストされているサーバーの場合、特にシステムのコンソールにリモートで接続する他の方法がない場合は、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 incaseof 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 incaseof 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 **を押します。次に、ミラーエントリが見つからないという警告が表示される場合があります。 Tencent Cloudシステムでは、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.104newpackages are going to be
installed.399 packages are going to be upgraded.
You have to download a total of232 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 fromwindow(Thu Apr 713:13:332016)====== Command terminated normally(Thu Apr 713:13:432016)===
SSHセッションはサーバー側で終了するため、ローカルプロンプトを終了するには、ここでキーを押す必要がある場合があります。システムが再起動するのを待ってから、再接続します。ログインすると、XenialXerusを使用していることを確認するメッセージが表示されます。
Welcome to Ubuntu Xenial Xerus(development branch)(GNU/Linux 4.4.0-17-generic x86_64)
これで、Ubuntu16.04が正常にインストールされているはずです。ここから、サービスおよびデプロイされたアプリケーションに必要な構成変更を調査する必要がある場合があります。
その他のUbuntuチュートリアルについては、[Tencent Cloud + Community](https://cloud.tencent.com/developer?from=10680)にアクセスして詳細を確認してください。
参照:「Ubuntu16.04LTSにアップグレードする方法」
Recommended Posts