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

前書き

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

これらの問題を回避するには、適切にアップグレードするのではなく、可能な限り新しい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)をお読みください。

ステップ1-バックアップシステム

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

Tencent Cloud CVMでは、システムをシャットダウンしてスナップショットを作成するのが最も簡単な方法です(電源をオフにすると、ファイルシステムの一貫性が高まります)。更新が成功したことを確認した後、スナップショットを削除して、課金されないようにすることができます。

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

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

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にアップグレードできます。

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

まず、必ず 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

Ubuntu 16.04LTSにアップグレードする方法
Ubuntu20.04にアップグレードする方法
Ubuntu20.04にアップグレードする方法
Ubuntu14.04でPHP7にアップグレードする方法
Azure上のUbuntu18.04を18.10にアップグレードします
サーバーアップグレードUbuntu20.04LTSレコード
サーバーアップグレードUbuntu20.04LTSレコード
UbuntuにHelmをインストールする方法
Ubuntu20.04にRubyをインストールする方法
Ubuntu20.04にMemcachedをインストールする方法
CentOS7をCentOS8にアップグレードする方法(詳細な手順)
Ubuntu20.04にJavaをインストールする方法
Ubuntu20.04にMySQLをインストールする方法
ubuntuでhanlpを使用する方法
Ubuntu20.04にElasticsearchをインストールする方法
UbuntuにProtobuf3をインストールするための詳細なチュートリアル
Ubuntu20.04にNginxをインストールする方法
Ubuntu16.04にNode.jsをインストールする方法
Ubuntu20.04にMySQLをインストールする方法
Ubuntu14.04にBacula-Webをインストールする方法
Ubuntu16.04にPostgreSQLをインストールする方法
Ubuntu20.04にGitをインストールする方法
ubuntuでijkplayer-androidをコンパイルする方法
Ubuntu18.04にAnaconda3をインストールする方法
Ubuntu14.04にmysqlをインストールする方法
Ubuntu16.04にJenkinsをインストールする方法
Ubuntu14.04にMemSQLをインストールする方法
Ubuntu20.04にGoをインストールする方法
Ubuntu16.04にMongoDBをインストールする方法
Ubuntu16.04にPrestaShopをインストールする方法
Ubuntu18.04にPython3.8をインストールする方法
Ubuntu18.04にKVMをインストールする方法
Ubuntu20.04にKVMをインストールする方法
ubuntu14.04にopencv3.0.0をインストールする方法
Ubuntu20.04にAnacondaをインストールする方法
Ubuntu16.04にPrometheusをインストールする方法
Ubuntu18.04にJenkinsをインストールする方法
Ubuntu14.04にDjangoをデプロイする方法
Ubuntu20.04にApacheをインストールする方法
Ubuntu20.04にRをインストールする方法
Ubuntu16.04にMoodleをインストールする方法
Ubuntu14.04にSolr5.2.1をインストールする方法
Ubuntu16.04にTeamviewerをインストールする方法
Ubuntu14.04でNginxを保護する方法
Ubuntu20.04にNginxをインストールする方法
Ubuntu20.04にMonoをインストールする方法
Ubuntu20.04にGoをインストールする方法
Ubuntu20.04にZoomをインストールする方法
Ubuntuでソフトウェアをアンインストールする方法
Ubuntu16.04にNginxをインストールする方法
Ubuntu20.04にSpotifyをインストールする方法
Ubuntu18.04にPostmanをインストールする方法
Ubuntu18.04にGoをインストールする方法
Ubuntu14.04にMySQLをインストールする方法
Ubuntu16.04でLaravel5.4を5.6にアップグレードする手順
Ubuntuでの大胆なインストール手順
Ubuntu20.04にPostgreSQLをインストールする方法
ubuntu16.04でTensorflowをインストールする方法
Ubuntu18.04にVLCをインストールする方法
Ubuntu20.04にTeamViewerをインストールする方法
Ubuntu20.04にWebminをインストールする方法