Ubuntu Weekly Recipe

第337回 12.04から14.04へアップグレードする際に気をつけるべきこと

この記事を読むのに必要な時間:およそ 6.5 分

LTSからLTSへアップグレードする際にやっておくべきこと

最後にLTSからLTSへ移行する前後で注意すべきポイントを列挙します。と言っても通常のアップグレードのときとほとんど変わりません。と言うか当たり前のことばかりです。

1.情報を収集する

当然のことながら,アップグレード前の情報収集は非常に重要です。とくに何かあったときのリカバリーの時間がだいぶ変わってきます。

たとえば使っているソフトウェアのバージョンやハードウェアの仕様など既存の環境の状態,PPAや外部リポジトリは何を使っているかと言った情報を集めたうえで,アップグレード先でそのハードウェアはサポートされているのか,何か問題は起きていないか調べましょう。その際は,リリースノートが役に立つはずです。

ソフトウェアはメジャーバージョンが変わって仕様が変わっているかもしれませんし,パッケージの名前が変わっているかもしれません。⁠dpkg --get-selections」を実行すればインストールしているパッケージ一覧をdpkgで読み込み可能なフォーマットで出力できます。⁠dpkg --list」でバージョン一覧が出ます。⁠apt-cache policy パッケージ名」組み合わせれば外部リポジトリからインストールしたかどうかを確認できるでしょう。

PPAの場合は,12.04ではパッケージを提供しているけれども,14.04のパッケージは提供していないということもままあります。14.04では公式リポジトリからインストールできるようになっているのであれば良いのですが,そうでない場合は別途インストール方法を考えないといけません。各PPAのページにある「Published in:」を対象のコードネームにしてFilterボタンを押せば,そのリリースでのパッケージが提供されているかどうかわかります。

不要なPPAがあるようであれば,第314回で坂本貴史さんが紹介しているppa-purgeを使ってあらかじめ整理しておいたほうが良いでしょう。

2.本当にアップグレードが必要か考える

集めた情報を基に本当にアップグレードが必要かどうかを考えます。

LTSは5年サポートなので,12.04の場合は17.04まで使用できます。もし移行に際して何か障害があるのであれば,当面は12.04のままで14.04の修正を行うという対応も可能です注10⁠。ただし3年後にはアップグレードが必要になることは覚えておいてください。

時間がないようであれば,もしくは他の理由を基にUbuntuではなくDebianやCentOSと言った異なるディストリビューションへの移行を考えるのも良いでしょう。

状況が許すなら「アップグレード」ではなく「クリーンインストール」を選択肢に入れることもお勧めします。LTSにしろ通常リリースにしろ,アップグレード自体はサポートしているものの,⁠ちゃんとアップグレードできる」かどうかはその利用者の環境に依存します。とくにインストールしてから数多くカスタマイズしていたり,PPAといった外部リポジトリを追加した環境の場合,アップグレードに失敗する可能性が高くなってきます。

LTSをクリーンインストールするタイミングを奇貨として,一緒に不要なリポジトリの削除,インストール後に必要な作業の見直しやドキュメント化まで行ってしまえば,今後のアップグレードやインストール時に役立つでしょう。

注10)
実際のところこのような不具合修正は,14.04が「リリースされるより前に」確認し,不具合報告を行ったほうが修正期間や手間が短くなりますので,事情が許す限り新しいLTSのリリース前の数ヵ月は,積極的にテストに参加するようにしたほうが良いでしょう。

3.データのバックアップを取る

普段からやっておけばいいことではあるのですが,あらためてバックアップについても確認しておきましょう。とくにアップグレードに失敗した場合に本当にリカバリーできるかどうかが非常に重要になってきます。

あわしろいくやさんによる注11⁠,第289回第290回は前後編にわたって,特製のLiveイメージから起動してPC上のディスクにインストールされているUbuntuイメージを,そのまま別の外付けディスク領域にバックアップする方法を解説しています。さらにVirtualBoxへのリストアを行う方法も説明しているので,14.04への移行後に旧環境を確認したくなった場合も万全です。

注11)
はい,今回はこの表記が多すぎることは自覚しております。過去の記事を見返しながらアップグレードする方にとって有用な記事をピックアップしていたらこのような結果になってしまいました……。

4.最新の環境を試してみる

別のマシンを用意できるのであれば,先に新しいリリースをインストールして試してみるのは良いことです。物理マシンがなくてもVirtualBoxなどの仮想マシンでも試せます。

移行対象のマシンでテストするとすれば,先にHWEを使ってカーネルやグラフィックスタックだけ上げてしまうのも良いでしょう。カーネルについてはたとえ起動に失敗したとしても,GRUBのエントリーを書き換えるだけで元に戻せるのでお手軽です。

5.十分な時間と心の余裕を作る

アップグレードは時間のかかる作業です。アップグレードボタンを押してあとは放置,とできれば良いのですが実際はそう簡単には行きません。アップグレードを行う場合は万全の準備を行ったうえで,さらに時間と心の余裕をもたせたほうが良いでしょう。

伝え忘れていましたが,アップグレード時は新しいリリースのパッケージをダウンロードし,インストールすることになります。このため時間や心だけでなく,ネットワークトラフィックとディスク容量の余裕も持たせてください。前者はともかく後者は余裕がないと確実にインストールに失敗します。目安としては,クリーンインストールに必要な量と同じくらいのデータをダウンロードすると思っておきましょう。

6.アップグレードが完了したら

ここまでのことをやったうえで,アップグレードが成功したらほぼ勝ったも同然です。祝杯の準備をしつつ,アップグレードではケアされない部分の対応を行いましょう。

まずPPAを含むサードパーティのリポジトリはすべて無効化されています。/etc/apt/sources.list.d/以下にあるファイルの先頭の「# 」を外すなり,あらためてadd-apt-repositoryコマンドを実行するなりして,必要なPPAを有効化しましょう。日本語Remixの場合も日本語Remix用のリポジトリが無効化されていますので注意してください注12⁠。

/usr/localなどに独自のソフトウェアをインストールしていた場合は,改めて動くかどうか確認してください。再コンパイルするだけで動くことも多いでしょう。また各種サービスが期待通り立ち上がっているかどうかのチェックも必要です。

不幸なことにアップグレードに失敗した場合は,状況に応じていろいろな対応方法が考えられます。do-release-upgradeコマンドがわかりやすいメッセージを出力している場合はそれに従ってください。大抵はすぐに解決するでしょう。do-release-upgradeが不正終了するようなケースは,リカバリーが難しいかもしれません。あらかじめ作成しておいたバックアップをリストアしてしまったほうが早いでしょう。

自力で解決したい場合,Launchpadやask ubuntuでupgrade failのような単語で検索すれば,いろいろとハウツーが見つかりますので,そこから対応方法を絞り込んでください。

注12)
サードパーティリポジトリの無効化は/etc/update-manager/release-upgrades.d/thirdparty.cfgというファイルを作り,その中に「[Sources]」「AllowThirdParty=True」の2行を追加すれば抑制できます。アップグレード中にサードパーティリポジトリが必要な場合は試してみてください。

まとめ

「Ubuntuはかんたん」とはよく言われることではありますが,アップグレード1つとっても「ハマる」ポイントはたくさん存在します。とくに初期設定状態から乖離すればするほど,つまり自分用にカスタマイズすればするほど,予想外の事態が起きやすくなるものです。

常に不具合の神様の数手先プラス斜め上下左右あたりを読みつつ,どうしようもなくなったときは笑ってすませられるような状況を用意して臨むようにしましょう。少なくともコンピューターは指示したとおりに動きます。へそを曲げることはあっても裏切ることはないはずです。Ubuntuハトモダチ,コワクナイ。


次週のUbuntu Weekly Recipeは,お盆休みをいただく予定です。

著者プロフィール

柴田充也(しばたみつや)

Ubuntu Japanese Team Member。数年前にLaunchpad上でStellariumの翻訳をしたことがきっかけで,Ubuntuの翻訳にも関わるようになりました。