Product SiteDocumentation Site

6.6. 安定版から次のディストリビューションへのアップグレード

Debian の最もよく知られた特色の 1 つに、インストールされたシステムを安定版から次の安定版にアップグレードできることが挙げられます。そして有名なサブコマンドである dist-upgrade はプロジェクトの評判に大きく寄与し続けています。いくつかの事前準備に必要な時間を含めても、コンピュータのアップグレードに必要な時間はパッケージリポジトリからのダウンロード速度に依存してわずか数分から数十分です。

6.6.1. 推奨手順

Debian の安定版は次のリリースまでの間にかなり長い時間をかけて大きく進化するので、アップグレードの前にリリースノートを読むべきです。
この節では、特に Jessie システムを Stretch にアップグレードを行う場合について解説します。システムのアップグレードはシステムに甚大な変更を加えます。このため、危険が全くないわけではありません。アップグレードを行う前に、必ずすべての重要なデータをバックアップしてください。
アップグレードを簡単に (短時間で) 実行するために身に付けるべき良い癖の 1 つに、インストール済みパッケージを整理整頓し、本当に必要なものだけを残すことがあります。これを行う便利なツールが aptitudedeborphandebfoster です (第 6.2.7 節「自動的にインストールされたパッケージの追跡」を参照してください)。たとえば以下のコマンドを実行した後、aptitude の対話型モードで削除予定としてマークされたパッケージの再確認と微調整を行うことができます。
# deborphan | xargs aptitude --schedule-only remove
次にシステムのアップグレードを行います。最初に /etc/apt/sources.list ファイルを書き換えて、APT にパッケージの取得先を Jessie から Stretch に変更するよう伝えます。/etc/apt/sources.list ファイルの中でコードネームではなく安定版へのリファレンスを使っている場合、この変更は必要ありません。なぜなら、安定版は常に Debian の最新リリース版を指しているからです。どちらの場合でも、利用できるパッケージのデータベースを更新してください (apt update コマンドを実行するか synaptic の更新ボタンを押してください)。
新しいパッケージソースが登録されたら、真っ先に apt upgrade を使い、最小アップグレードを実行するべきです。アップグレードを 2 段階に分けて行うことにより、パッケージ管理ツールの作業が軽減されますし、パッケージ管理ツールが最新のバージョンになっていることが保証されます。また、最新のパッケージ管理ツールには、多くのバグ修正がなされているかもしれませんし、ディストリビューション全体のアップグレードを完了させるために必要な改善が含まれているかもしれません。
最小アップグレードが終了したら、apt full-upgradeaptitudesynaptic のうちどれか 1 つを使って、ディストリビューション全体のアップグレードを行います。提案された操作を適用する前に注意深く確認するべきです。具体的に言えば、提案パッケージを追加したい場合や、推奨されたけれども使いにくいと知っているパッケージを除外したい場合があるかもしれません。いかなる場合でもフロントエンドは、整合性が保たれて最新の Stretch システムになるような、解決策を用意します。管理者に要求されるのは、パッケージがダウンロードされるまで待って、Debconf とマシンに合わせて変更された設定ファイルの保存可否に関する質問に答え、APT が作業を終えるまで見ているだけです。

6.6.2. アップグレードの後から問題を取り扱う

Debian メンテナの最大限の努力にも関わらず、システムのメジャーアップグレードは常に望んだ通りに順調に進むわけではありません。新しいソフトウェアバージョンは古いものと互換性がないかもしれません (たとえば、デフォルト動作やデータフォーマットが変わっているかもしれません)。また、いくつかのバグは Debian リリース前のテスト段階を経たにも関わらず見過ごされているかもしれません。
いくつかの問題を未然に防ぐために、apt-listchanges パッケージをインストールすることが可能です。apt-listchanges は、あるパッケージのアップグレード作業の開始時に、このパッケージのアップグレードを行うことで生じる可能性のある問題の情報を表示します。この情報はパッケージメンテナがまとめたもので、ユーザが内容を確認できるように /usr/share/doc/package/NEWS.Debian ファイルに含まれています。これらのファイルを (場合によっては apt-listchanges を通じて) 読めば、予期しない状況に驚かされることがなくなるでしょう。
あるソフトウェアの新しいバージョンが全く動かない場合があるかもしれません。これは通常、そのアプリケーションがそれほど人気ではない場合や十分にテストされていない場合に起こります。さらに、リリース直前の更新はそれまでに存在しなかった不具合を発生させる場合があり、この種の不具合は安定版がリリースされた後に見つかります。どちらの場合でも、最初にやることはバグ追跡システム https://bugs.debian.org/package でこの問題が既に報告されているか確認することです。まだ報告されていなければ、reportbug を使って自分で報告するべきです。既に報告されていれば、バグ報告と関連メッセージがバグに関連する情報の素晴らしいソースになります。
  • パッチが既に存在し、バグ報告からそれを入手できる場合もあります。この場合、壊れたパッケージの修正されたバージョンを再コンパイルすることが可能です (第 15.1 節「ソースを使ったパッケージの再ビルド」をご覧ください)。
  • バグ報告には問題に対する次善策が報告されており、報告に対する返信から問題の本質を理解できる場合もあります。
  • さらに、メンテナが修正されたパッケージを用意して既に公開している場合もあります。
バグの重要度に依存して、パッケージの新しいバージョンが安定版リリースに対する新しい改訂版として用意されている場合もあります。この場合、修正されたパッケージは Debian アーカイブミラーの proposed-updates セクションから提供されます (第 6.1.2.3 節「提案された更新」を参照してください)。対応するエントリを一時的に sources.list に追加すれば、更新されたパッケージを aptaptitude からインストールすることが可能です。
修正されたパッケージがまだ proposed-updates セクションから提供されていないこともあります。これは、安定版リリースマネージャによる妥当性の確認が終わっていないからです。パッケージが公開待ち状態にあるかをウェブページから確認できます。このウェブページに載せられたパッケージはまだ利用できませんが、少なくとも公開待ち状態であるか否かを確認できます。