Ubuntu 12.04 から 14.04 LTS へのアップグレード手順
TL;DR
短時間で安全にアップグレードする手順を示します。事前にフルバックアップを必ず作成し、静的IPと管理者アクセスがあることを確認してください。主要手順はパッケージ更新、update-manager-core の導入、/etc/update-manager/release-upgrades の設定、do-release-upgrade の実行、再起動、ポストチェックです。
概要
この文書は Ubuntu 12.04(LTS)から Ubuntu 14.04 LTS へアップグレードする手順を説明します。Ubuntu の .04 系は通常2年ごとに LTS(長期サポート)版が出て、LTS は最長で 5 年間のバグ修正とセキュリティ更新が提供されます。LTS から LTS へは標準のアップグレード手順で移行できますが、事前準備とバックアップが重要です。
前提条件
- 対象は Ubuntu 12.04 サーバー(最小限のインストールでも可)です。
- サーバーに静的 IP を設定してください(本手順では 192.168.0.100 を例に、ホスト名は server1.example.com を例示)。
- ルートまたは sudo 権限を持つ管理者で作業すること。
- フルバックアップ(外部ドライブやネットワークバックアップ)を必ず取得すること。
重要: アップグレード作業はリスクが伴います。バックアップ無しでの実行は避けてください。
アップグレード前チェックリスト
- フルバックアップが外部メディアにある
- 重要なサービス(Web, DB, DNS)を停止する計画がある
- カスタムパッケージや PPA のリストを取得した
- 十分なディスク空き容量(/ と /var)を確保した
- SSH セッションがタイムアウトした場合のコンソールアクセス手段がある
アップグレード手順(概要)
- 現行システムを最新にする
- update-manager-core をインストールする
- /etc/update-manager/release-upgrades を編集して LTS に設定する
- do-release-upgrade を実行する
- 再起動してバージョン確認、重要サービスの動作確認
1) 現行パッケージの更新
まずパッケージ情報を更新し、最新の修正を適用します。
apt-get update
apt-get upgrade
apt-get dist-upgrade
2) update-manager-core のインストール
次にアップグレードマネージャをインストールします。
apt-get install update-manager-core
3) release-upgrades の設定
/etc/update-manager/release-upgrades を編集し、LTS を受け取る設定になっているか確認します。
vi /etc/update-manager/release-upgrades
ファイル例(主要部分):
# Default behavior for the release upgrader.
[DEFAULT]
# Default prompting behavior, valid options:
#
# never - Never check for a new release.
# normal - Check to see if a new release is available. If more than one new
# release is found, the release upgrader will attempt to upgrade to
# the release that immediately succeeds the currently-running
# release.
# lts - Check to see if a new LTS release is available. The upgrader
# will attempt to upgrade to the first LTS release available after
# the currently-running one. Note that this option should not be
# used if the currently-running release is not itself an LTS
# release, since in that case the upgrader won't be able to
# determine if a newer release is available.
Prompt=lts
この例では Prompt=lts に設定して LTS のみを検出するようにしています。通常は LTS→LTS の移行を行う際に lts を使用します。
4) do-release-upgrade の実行
準備が整ったら実際にリリースアップグレードを実行します。-d オプションは場合により不要ですが、目標のリリースが検出されない時に利用されることがあります。
do-release-upgrade -d
実行中にサービスの再起動や設定ファイルの置き換え確認を求められます。表示に従い慎重に選択してください。多くの場合は標準選択(yes / keep current)で問題ありませんが、カスタム設定を上書きしたくない場合は手動で確認してください。
処理時間は環境により異なります。一般的には 20 分から数時間かかることがあります。
5) 再起動とバージョン確認
アップグレード完了後、システムを再起動します。再ログインしてバージョンを確認します。
cat /etc/lsb-release
期待される出力例:
root@server1:~$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.1 LTS"
root@server1:~$
おめでとうございます。これで Ubuntu 14.04 LTS へアップグレード完了です。
ポストアップグレードのチェックリスト
- SSH 再接続とログイン確認
- 主要サービス(nginx/apache, mysql/postgres, application サービス)の起動確認
- カスタム設定(/etc/)が意図した状態か確認
- ログ(/var/log/syslog, dmesg)に重大エラーが無いか確認
- 不要になったパッケージを削除(apt-get autoremove)
例:
systemctl status apache2
cat /var/log/syslog | tail -n 100
apt-get autoremove
失敗するケースと回避策
- PPA や非公式パッケージが原因で依存関係の衝突が起きる
- 回避策: 事前に /etc/apt/sources.list.d/ 内の PPA を無効化し、アップグレード後に再有効化して検証する
- ディスク不足でアップグレードが途中で止まる
- 回避策: apt-get clean、不要ファイル削除、スナップショットまたは追加ストレージの確保
- SSH セッション切断で中断する
- 回避策: コンソールアクセス(VNC, IPMI, 仮想コンソール)を用意するか、tmux/screen で作業する
ロールバックとリカバリ案(事前に計画する)
- 最も確実なロールバックはフルバックアップからの復旧です。イメージバックアップ(dd、fsarchiver、クラウドスナップショット)を推奨します。
- LVM スナップショットを利用している場合、アップグレード前にスナップショットを作成しておくと短時間で復旧できます。
- データベースはアップグレード前にダンプ(mysqldump, pg_dump)を取得してください。
互換性と移行上の注意点
- カーネルやカーネルモジュールの互換性: カスタムカーネルや外部モジュールを使っている場合は事前確認が必要です。
- サードパーティ製ドライバ/モジュール: 再コンパイルが必要な場合があります。
- API 互換性: 古いアプリケーションが新しいライブラリと互換性を持たない場合、動作確認が必要です。
テンプレート: 事前情報収集コマンド
以下のコマンドで現行システムの情報を集めて記録しておくと復旧やトラブルシュートが速やかになります。
lsb_release -a
uname -r
dpkg --get-selections > ~/packages-before-upgrade.txt
ls /etc/apt/sources.list.d/
crontab -l
セキュリティと運用メモ
- 本番環境ではメンテナンスウィンドウを設定し、利用者へ事前周知を行ってください。
- アップグレード後はセキュリティパッチ適用のポリシーを確認し、必要な SUID/権限周りのチェックを実施してください。
受入基準
- システムが再起動し、/etc/lsb-release で DISTRIB_RELEASE=14.04 を確認できること
- 主要サービスが設定どおりに起動し、機能テスト(HTTP 応答、DB 接続など)に合格すること
- 重大なエラーログ(クラッシュや起動不能)がないこと
まとめ
本手順は Ubuntu 12.04 LTS から 14.04 LTS へ安全に移行するための標準的なフローを示しました。最も重要なのは事前のフルバックアップと、PPA など非公式ソースの取り扱いです。アップグレード後は必ずサービス稼働確認とログチェックを行ってください。問題が発生した場合はバックアップからの復旧を最優先に対応してください。
- Ubuntu : http://www.ubuntu.com/