SUSE® Linux Enterprise (SLE)では、既存のシステムを新しいバージョンにアップデートできます。たとえば、SLE 11 SP3をSLE 12にアップデートできます。新たにインストールする必要はありません。ホームディレクトリ、データディレクトリ、システム設定などの既存のデータは、そのまま保持されます。CD/DVDドライブから、またはネットワーク上にある中央のインストールソースからアップデートできます。
SUSE Linux Enterpriseのアップデート、アップグレード、およびサービスパック全般について十分に理解している場合は、「用語集」のセクションで新しい情報を確認したら、すぐにアップデートの概要セクションに進んで構いません。ここでは、利用できる可能性があるアップデートを示し、アップデート全体の計画立案を支援します。また、これ以降のセクションでは、現行リリースであるSUSE Linux Enterprise Server 12へのステップバイステップのアップデート手順を説明します。
この章の残りの部分では、SUSEの製品ライフサイクルとサービスパックリリースに関する背景情報、推奨するアップグレードポリシー、バージョン番号が最新でなくてもSUSE Linux Enterpriseソフトウェアを最新に保つ方法(「バックポート」)、およびステップバイステップのアップデート手順で参照されている追加資料について示します。
この章では、いくつかの用語を使用します。それらの情報を理解するには、以下の定義をお読みください。
バックポートとは、新しいバージョンのソフトウェアによる特定の変更内容を採用し、それを古いバージョンに適用することを意味します。最も一般的な使用事例は、古いソフトウェアコンポーネントのセキュリティホールの修正です。通常は、拡張機能や(頻度は低いものの)新機能を提供するための保守モデルの一部にもなります。
デルタRPMは、パッケージに定義された2つのバージョンどうしのバイナリ差分のみで構成されているので、ダウンロードサイズが最小限ですみます。インストールの前に、RPMのフルパッケージがローカルコンピュータ上で再構築されます。
オープンソースワールドにおけるソフトウェア開発方法のメタファーです(アップストリームと対比)。「ダウンストリーム」という用語は、アップストリームからのソースコードを他のソフトウェアと統合し、エンドユーザが使用するためのディストリビューションを構築する、SUSEのような人や組織を指しています。つまり、ソフトウェアは開発者からインテグレータを介して、エンドユーザーまで、ダウンストリーム(下向き)に流れていきます。
拡張機能(「アドオン製品」とも呼びます)は、SUSE Linux Enterprise Server製品に付加価値機能を提供します。これらはSUSEおよびSUSEパートナーによって提供され、基本製品であるSUSE Linux Enterprise Serverにインストールして登録します。
モジュールは、SUSE Linux Enterprise Serverで全面的にサポートされている構成要素であり、アドオン製品とは異なるライフサイクルを備えています。モジュールは、明確に定義された適用範囲を持ち、オンラインチャネルでのみ配布されています。これらのチャネルに登録できるためには、SUSEのカスタマセンターへの登録が前提となっています。
それぞれのパッチをインストールするために、(インストールメディアではなく)オンラインアップデートツールを使用して、サービスパック(SP)への更新を行うことです。インストールシステムのすべてのパッケージを最新状態にアップデートします(SP3およびSP2アップデートを含む)。
パッケージは、rpm形式で圧縮されたファイルで、特定のプログラムのすべてのファイルが格納されています。環境設定、サンプル、ドキュメントなどのオプションコンポーネントも含まれます。
パッチは、1つ以上のパッケージから成り、デルタRPMで適用できます。また、まだインストールされていないパッケージへの依存関係を導入することもあります。
SUSE Linux Enterprise (または任意のソフトウェア製品)のメジャーリリースとは、新しい機能やツールを導入する、非推奨になっていたコンポーネントを使用停止にする、後方互換性のない変更が付属するといった特徴を持つ新バージョンです。
複数のパッチを組み合わせて、インストールまたは展開しやすい形式にします。サービスパックには番号が付けられ、通常、プログラムのセキュリティ修正、更新、アップグレード、または拡張機能が含まれます。
オープンソースワールドにおけるソフトウェア開発方法のメタファーです(ダウンストリームと対比)。アップストリームという用語は、ソースコードとして配布されるソフトウェアの元のプロジェクト、作者、またはメンテナンス者を指しています。フィードバック、パッチ、拡張機能、その他の改良機能は、エンドユーザまたはコントリビュータからアップストリーム(上流)の開発者に流れていきます。開発者は、リクエストを組み込むのか却下するのか決定します。
プロジェクトメンバーがリクエストを組み込むように決定すると、それが新しいバージョンのソフトウェアに出現します。受け入れられたリクエストは、すべての関係者にメリットをもたらします。
リクエストが受け入れられない場合は、別の理由が考えられます。プロジェクトのガイドラインに準拠していない、無効である、すでに組み込まれている、プロジェクトに関係ないかロードマップ上に存在しないなどの中のいずれかの理由です。リクエストが受け入れられない場合、アップストリームの開発者にとっては、自分のパッチをアップストリームのコードと同期させる必要があるために困難が生じます。この操作は一般的には回避されますが、まだ必要な場合もあります。
パッケージの新しいマイナーバージョンのインストール。
パッケージまたは配布の新しい主要バージョンのインストール。これにより新機能がもたらされます。
SUSE Linux Enterpriseは、特定のリリースからその次のリリースへ直接アップグレードできます。たとえば、現在SUSE Linux Enterprise 11 SP2が稼働している場合は、まずSUSE Linux Enterprise 11 SP3へアップグレードし、そこからSUSE Linux Enterprise 12へアップグレードするという2段階でアップグレードします。
アップデート時に中間リリースをスキップすることはできません。そのため、数バージョン前のバージョン(SUSE Linux Enterprise 10やSUSE Linux Enterprise 11 SP1など)が稼働している場合は、長時間かけて何度もアップグレードを繰り返す代わりに、フレッシュインストールを検討することをお勧めします。
クロスアーキテクチャアップグレードは「サポートされません」。たとえば、32ビットバージョンのSUSE Linux Enterprise Serverから64ビットバージョンへのアップグレードや、ビッグエンディアンからリトルエンディアンへのアップグレードなどがこれに該当します。
具体的には、POWER版のSLE 11 SP3 (ビッグエンディアン)からPOWER版のSLE 12 (新規: リトルエンディアン)は「サポートされません」。
同様に、SUSE Linux Enterprise 12は64ビット専用であるため、32ビットのSUSE Linux Enterprise 11システムからSUSE Linux Enterprise 12へのアップグレードも「サポートされません」。
SUSE Linux Enterprise 12への直接的なマイグレーションパスはサポートされていません。代わりにフレッシュインストールをお勧めします。
SUSE Linux Enterprise 12への直接的なマイグレーションパスはサポートされていません。
フレッシュインストールを行うことができない場合、アップグレードを続行するには、まずSUSE Linux Enterprise 11 GAをSP1にアップデートし、続いてSUSE Linux Enterprise 11 SP1をSP2にアップデートする必要があります。最初のステップについては、『SUSE Linux Enterprise 11導入ガイド (https://www.suse.com/documentation/sles11/)』でオンラインで説明されています。
その後、次のステップに進みます。
まず、システムをSUSE Linux Enterprise 11 SP3にアップグレードします。詳細については、7.4項 「中間ステップ: SLE 11 SP2からSLE 11 SP3へのアップデート」を参照してください。
その後、次のステップに進みます。
詳細については、7.5項 「SLE 12へのアップグレード」を参照してください。
アップデート手順を開始する前に、システムが正しく準備されていることを確認します。準備内容には、データのバックアップとリリースノートの確認などがあります。
リリースノートには、旧リリースのSUSE Linux Enterpriseからの変更点に関する追加情報が記載されています。特定のハードウェアやセットアップについて特別な考慮が必要かどうか、使用している特定のソフトウェアパッケージのどれに大幅な変更があったか、およびこのセクションに示す一般的な推奨事項のほかにどのような予防措置を講じる必要があるかについて、リリースノートで確認してください。リリースノートには、リリース直前になって判明したためマニュアルに記載できなかった情報と既知の問題も記載されています。
SUSE Linux Enterprise Serverの最新情報を含むリリースノートの最新バージョンのドキュメントは、http://www.suse.com/doc/sles12/#startでオンラインで読むことができます。
更新の前に、既存の設定ファイルを別個のメディア(テープデバイス、リムーバブルハードディスクなど)にコピーして、データをバックアップします。主に、/etcの下に格納されているファイル、また、/varと/optの下にあるディレクトリとファイルの一部に当てはまります。さらに、/home (HOMEディレクトリ)下のユーザデータをバックアップメディアに書き込むようにします。このデータは、rootユーザでバックアップします。rootのみに、すべてのローカルファイルに関する読み込みパーミッションがあります。
YaSTのインストールモードとしてを選択している場合は、もっと後の時点で(システム)バックアップを実行することができます。変更されたすべてのファイルと/etc/sysconfigディレクトリにあるファイルを含めることができます。ただし、これは完全なバックアップではありません。前述したその他の重要なディレクトリがすべて含まれていないからです。/var/adm/backupディレクトリでバックアップを見つけます。
更新を開始する前に、ルートパーティションの記録をとります。df /コマンドは、ルートパーティションのデバイス名リストを表示します。たとえば、例7.1「df -hの出力例」に示すように、書き留めておくルートパーティションは、/dev/hda3です(/としてマウントされています)。
df -hの出力例 #Filesystem Size Used Avail Use% Mounted on /dev/sda3 74G 22G 53G 29% / tmpfs 506M 0 506M 0% /dev/shm /dev/sda5 116G 5.8G 111G 5% /home /dev/sda1 44G 4G 40G 9% /data
ソフトウェアは、バージョンが上がるたびに「増加する」傾向があります。そのため、更新する前に、はじめにdfコマンドで、利用できるパーティションの容量を調べてください。ディスク容量が不足していると思われる場合は、システムの更新とパーティション再設定を行う前に、データをバックアップしておきます。各パーティションに必要な容量を決定する一般的なルールはありません。必要な容量は、特定のパーティションプロファイルおよび選択したソフトウェアによって異なります。
お使いのマシンがKVMまたはXenのVMホストサーバとして機能している場合、アップデートの前には、実行中のすべてのVMゲストを正しくシャットダウンするようにします。そうでないと、更新後にゲストにアクセスできなくなる可能性があります。
オンラインマイグレーションは、次のツールによってサポートされています。
(グラフィカルユーザインタフェース)
zypper (コマンドライン)
オンラインマイグレーションを介してシステムをアップデートする場合、アップデートはシステムの稼働中に実行されます。アップデートの完了後、1度だけ再起動の必要があります。次に示す代替方法によってアップデートを行うこともできます。
オンラインアップデートを実行するには、次の要件を満たす必要があります。必ず、7.3項 「アップデートのための一般的な準備」も読んでください。
アップデートリポジトリに接続できるようにするには、製品を登録する必要があります。まだ登録していない場合は、YaSTのモジュール、またはsuse_registerコマンドラインツールを実行して、登録を開始します。
現在インストールされているバージョンに最新のパッチがインストールされていることを確認します。オンラインマイグレーションの前に、オンラインアップデートを実行します。グラフィカルインタフェースを使用して、YaSTオンラインアップデートまたはアップデータアプレットを起動します。コマンドラインで、次のコマンドを実行します(最後のコマンドは2回実行する必要があります)。
zypper ref -s zypper update -t patch zypper update -t patch
必要に応じて、システムを再起動します。
オンラインアップデートツールの詳細については、第1章 YaSTオンラインアップデート, 管理ガイドまたは項 「Zypperによるソフトウェアの更新」, 第6章 コマンドラインツールによるソフトウェアの管理, 管理ガイドを参照してください。
セットアップにサードパーティのソフトウェアまたはアドオンソフトウェアが含まれている場合は、別のコンピュータでこのプロシージャをテストして、依存関係が更新によって破損していないかどうか確認してください。
オンラインマイグレーションは常に、最初から最後まで完全に実行する必要があります。オンラインマイグレーションが中断された場合、システムは破損され回復不能な状態になります。
すべての要件が満たされている場合(7.4.4.1項 「要件」を参照)、トレイのアップデートアプレットには、配布アップグレードが使用可能であることを示すメッセージが表示されます。これをクリックして、YaST を起動します。または、コマンドラインからrootとして/usr/sbin/wagonを実行します。
ダイアログのを選択して確定します。
では、要件が満たされていない(必要な保守アップデートが使用可能なのに、まだインストールされていない)ことが見つかったら、自動的なセルフアップデートが実行されます。この場合再起動が必要になります。画面の指示に従って操作します。
次のダイアログで、アップデート方法を選択します。デフォルトの設定を使用するには、を選択します(推奨)。
オンラインマイグレーションに使用するソフトウェアリポジトリを手動で選択するには、をクリックします。リポジトリのリストが表示され、リポジトリを手動で有効化、無効化、追加、または削除できるようになります。SP3アップデートソースを追加します。これは、SP3インストールメディアか、SP3-PoolおよびSP3-Updatesリポジトリのいずれかの可能性があります。をクリックして、ダイアログに戻ります。
アップデートプロセスによって発生したリポジトリ設定に対する変更を確認する必要がある場合は、を選択します。
で続行します。
システムが再登録されます。このプロセスの実行中に、SP3-PoolおよびSP3-Updatesリポジトリがシステムに追加されます(詳細については、7.7.2項 「リポジトリモデル」を参照してください)。リポジトリが追加されたことを確認します。
ダイアログでを選択した場合、リポジトリのリストが表示され、リポジトリを手動で有効化、無効化、追加、または削除できるようになります。終了したら、で続行します。
画面が開き、アップデート設定の概要が表示されます。次のセクションを使用できます。
ここでは、SUSE Linux Enterprise Serverのアドオン製品か、サードパーティの製品を追加できます。
アップデート中に実行されるアクションがリストされます。インストールの前にすべてのパッケージをダウンロードするのか(デフォルト、推奨)、パッケージを1つずつダウンロードしてインストールするのかを選択できます。
アップデートの統計概要。
バックアップオプションを設定します。
およびをクリックして続行します。
この画面でをクリックする前と、それ以前のすべての画面では、オンラインマイグレーションを安全に中止することができます。をクリックしてアップデート手順を中止し、YaST Wagonを開始する前の状態にシステムを戻します。画面の指示に従って、Wagonを中止する前に再登録を実行し、SP2リポジトリをシステムから削除します。
アップデート手順の過程では、次のステップが実行されます。
パッケージが更新されます。
システムが再起動されます(を選択します)。
新しく更新されたシステムが再登録されます。
システムがサービスパック3に正しく更新されます。
zypperによるオンラインマイグレーション #
すべての要件が満たされている場合(7.4.4.1項 「要件」を参照)、オンラインマイグレーションに必要な「製品」が/etc/products.dに追加されます。次のコマンドを実行することで、これらの製品のリストを取得します。
zypper se -t product | grep -h -- "-migration" | cut -d'|' -f2
このコマンドでは、少なくともSUSE_SLES-SP3-migrationが返されます。インストールの範囲によっては、もっと多くの製品がリストされている場合があります。
zypper in -t product LIST_OF_PRODUCTSというコマンドを使用して、前のステップで取得したマイグレーション製品をインストールします。たとえば次のようになります。
zypper in -t product SUSE_SLES-SP3-migration
それぞれのアップデートリポジトリを取得するために、前のステップでインストールした製品を登録します。
suse_register -d 2 -L /root/.suse_register.log
リポジトリとサービスをリフレッシュします。
zypper ref -s
zypper lrで取得可能なリポジトリのリストを確認します。
これらのリポジトリのいずれかが有効でない場合(このワークフローに従うと、SP3のリポジトリはデフォルトでは有効化されません)、zypper modifyrepo --enable REPOSITORY ALIASを使用して有効化します。たとえば次のようになります。
zypper modifyrepo --enable SLES11-SP3-Core SLES11-SP3-Updates
セットアップにSP3と互換性がない可能性があるサードパーティのリポジトリが含まれている場合は、zypper modifyrepo --disable REPOSITORY ALIASを使用してそれらを無効にします。
これで、zypper dup --from REPO 1 --from REPO 2 ...を使用して配布アップグレードを実行するための準備がすべて整いました。 必ず--fromを使用して必要なリポジトリをすべてリストするようにしてください。たとえば次のようになります。
zypper dup --from SLES11-SP3-Pool --from SLES11-SP3-Updates
を入力して、アップグレードを開始します。
前のステップからの配布アップグレードが完了したら、次のコマンドを実行します。
zypper update -t patch
これでSP3へのアップグレードは完了したので、製品を再登録する必要があります。
suse_register -d 2 -L /root/.suse_register.log
最後に、システムを再起動します。
システムがサービスパック3に正しく更新されます。
オンラインマイグレーションによるシステムのアップデートは、稼働中のシステム内から実行されます。アップデートの完了後、1度だけ再起動の必要があります。
オンラインアップデートを実行するには、次の要件を満たす必要があります。必ず、7.3項 「アップデートのための一般的な準備」も読んでください。
アップデートリポジトリに接続できるようにするには、製品を登録する必要があります。まだ登録していない場合は、YaSTのモジュール、またはsuse_registerコマンドラインツールを実行して、登録を開始します。
現在インストールされているバージョンに最新のパッチがインストールされていることを確認します。オンラインマイグレーションの前に、オンラインアップデートを実行します。グラフィカルインタフェースを使用して、YaSTオンラインアップデートまたはアップデータアプレットを起動します。コマンドラインで、次のコマンドを実行します(最後のコマンドは2回実行する必要があります)。
zypper ref -s zypper update -t patch zypper update -t patch
必要に応じて、システムを再起動します。
詳細については、第1章 YaSTオンラインアップデート, 管理ガイドまたは項 「Zypperによるソフトウェアの更新」, 第6章 コマンドラインツールによるソフトウェアの管理, 管理ガイドを参照してください。オンラインアップデートツールの
セットアップにサードパーティのソフトウェアまたはアドオンソフトウェアが含まれている場合は、別のコンピュータでこのプロシージャをテストして、依存関係が更新によって破損していないかどうか確認してください。
オンラインマイグレーションは常に、最初から最後まで完全に実行する必要があります。オンラインマイグレーションが中断された場合、システムは破損され回復不能な状態になります。
YaST Wagonによるオンラインマイグレーションは、SUSE Linux Enterprise Server 12より前のバージョンでのみ利用可能です。
すべての要件が満たされている場合(7.4.4.1項 「要件」を参照)、トレイのアップデートアプレットには、配布アップグレードが使用可能であることを示すメッセージが表示されます。これをクリックして、YaST を起動します。または、コマンドラインからrootとして/usr/sbin/wagonを実行します。
ダイアログのを選択して確定します。
では、要件が満たされていない(必要な保守アップデートが使用可能なのに、まだインストールされていない)ことが見つかったら、自動的なセルフアップデートが実行されます。この場合再起動が必要になります。画面の指示に従って操作します。
次のダイアログで、アップデート方法を選択します。デフォルトの設定を使用するには、を選択します(推奨)。
オンラインマイグレーションに使用するソフトウェアリポジトリを手動で選択するには、をクリックします。リポジトリのリストが表示され、リポジトリを手動で有効化、無効化、追加、または削除できるようになります。SP2アップデートソースを追加します。これは、SP2インストールメディアか、SP2-CoreおよびSP2-Updatesリポジトリのいずれかの可能性があります。をクリックして、ダイアログに戻ります。
アップデートプロセスによって発生したリポジトリ設定に対する変更を確認する必要がある場合は、を選択します。
で続行します。
システムが再登録されます。このプロセスの実行中に、SP2-CoreおよびSP2-Updatesリポジトリがシステムに追加されます(詳細については、7.7.2項 「リポジトリモデル」を参照してください)。リポジトリが追加されたことを確認します。
ダイアログでを選択した場合、リポジトリのリストが表示され、リポジトリを手動で有効化、無効化、追加、または削除できるようになります。終了したら、で続行します。
マイグレーションタイプを選択します。
すべてのパッケージを最新のSP2レベルに更新します。
パッケージの最小限のセットを最新のSP2レベルに更新します。
をクリックして、アップグレードに使用するリポジトリを手動で選択します。
選択内容を確認します。
画面が開き、アップデート設定の概要が表示されます。次のセクションを使用できます。
ここでは、SUSE Linux Enterprise Serverのアドオン製品か、サードパーティの製品を追加できます。
アップデート中に実行されるアクションがリストされます。インストールの前にすべてのパッケージをダウンロードするのか(デフォルト、推奨)、パッケージを1つずつダウンロードしてインストールするのかを選択できます。
アップデートの統計概要。
バックアップオプションを設定します。
およびをクリックして続行します。
この画面でをクリックする前と、それ以前のすべての画面では、オンラインマイグレーションを安全に中止することができます。をクリックしてアップデート手順を中止し、YaST Wagonを開始する前の状態にシステムを戻します。画面の指示に従って、Wagonを中止する前に再登録を実行し、SP2リポジトリをシステムから削除します。
アップデート手順の過程では、次のステップが実行されます。
パッケージが更新されます。
システムが再起動されます(を選択します)。
新しく更新されたシステムが再登録されます。
システムがサービスパック2に正しく更新されます。
zypperによるオンラインマイグレーション #
すべての要件が満たされている場合(7.4.4.1項 「要件」を参照)、オンラインマイグレーションに必要な「製品」が/etc/products.dに追加されます。次のコマンドを実行することで、これらの製品のリストを取得します。
zypper se -t product | grep -h -- "-migration" | cut -d'|' -f2
このコマンドでは、少なくともSUSE_SLES-SP2-migrationが返されます。インストールの範囲によっては、もっと多くの製品がリストされている場合があります。
zypper in -t product LIST_OF_PRODUCTSというコマンドを使用して、前のステップで取得したマイグレーション製品をインストールします。たとえば次のようになります。
zypper in -t product SUSE_SLES-SP2-migration
それぞれのアップデートリポジトリを取得するために、前のステップでインストールした製品を登録します。
suse_register -d 2 -L /root/.suse_register.log'
リポジトリとサービスを再度リフレッシュします。
zypper ref -s
zypper lrで取得可能なリポジトリのリストを確認します。少なくとも次のリポジトリをする必要があります。
SLES11-SP1-Pool
SLES11-SP1-Updates
SLES11-SP2-Core
SLES11-SP2-Updates
インストールの範囲によっては、アドオン製品や拡張機能用のリポジトリをさらに有効化する必要があります。
これらのリポジトリのいずれかが有効でない場合(このワークフローに従うと、SP2のリポジトリはデフォルトでは有効化されません)、zypper modifyrepo --enable REPOSITORY ALIASを使用して有効化します。たとえば次のようになります。
zypper modifyrepo --enable SLES11-SP2-Core SLES11-SP2-Updates
セットアップにSP2と互換性がない可能性があるサードパーティのリポジトリが含まれている場合は、zypper modifyrepo --disable REPOSITORY ALIASを使用してそれらを無効にします。
これで、zypper dup --from REPO 1 --from REPO 2 ...を使用して配布アップグレードを実行するための準備がすべて整いました。 必ず--fromを使用して必要なリポジトリをすべてリストするようにしてください。たとえば次のようになります。
zypper dup --from SLES11-SP2-Core --from SLES11-SP2-Updates
を入力して、アップグレードを開始します。
前のステップからの配布アップグレードが完了したら、[Minimal Migration]が実行されたことになります(パッケージの最小限のセットが最新のSP2レベルに更新されたということです)。[Full Migration]を実行しない場合は、このステップをスキップします。
[Full Migration]を実行する(すべてのパッケージを最新のSP2レベルに更新する)には、次のコマンドを実行します。
zypper update -t patch
これでSP2へのアップグレードは完了したので、製品を再登録する必要があります。
suse_register -d 2 -L /root/.suse_register.log
最後に、システムを再起動します。
システムがサービスパック2に正しく更新されます。
オンラインマイグレーション(詳細については7.4.4項 「オンラインマイグレーション」を参照)の代わりとして、インストールソース(DVDまたはネットワークインストールソース)からブートすることでシステムをアップデートできます。アップデートは、通常のインストールと同じように開始されます。
サービスパック2 ISOイメージは、http://download.suse.com/から取得できます。これをDVDに書き込むか、14.2項 「インストールソースを保持するサーバのセットアップ」の説明に従ってネットワークインストールソースを準備します。
SUSE Linux Enterprise SPの新規インストールを開始する前に、サービスパックのインストールメディア(DVD)が全部揃っていることを確認してください。
1枚目のSUSE Linux Enterprise SPメディアを挿入し、マシンをブートします。元のSUSE Linux Enterprise 11のインストール時と同様のブート画面が表示されます。
を選択し、第6章 YaSTによるインストールのYaSTインストールに関する説明に従って作業を続行してください。
SUSE Linux Enterprise SPのネットワークインストールソースからのアップデートを開始する前に、次の要件を満たしていることを確認します。
ネットワークインストールソースが14.2項 「インストールソースを保持するサーバのセットアップ」の記述どおりにセットアップされていること。
インストールサーバと、ネームサービス、DHCP (オプションですが、PXEブートには必要)、およびOpenSLP (オプション)が含まれているターゲットコンピュータの両方で機能しているネットワーク接続が存在すること。
ターゲットシステムのブート用のSUSE Linux EnterpriseサービスパックのDVD 1か、14.3.5項 「ターゲットシステムでPXEブートの準備をする」の説明に従ってPXEブート用にセットアップされたターゲットシステムが存在すること。
リモートサーバからのアップグレードの詳細については、第14章 リモートインストールを参照してください。
ブートメディアとしてSPのDVDを使ってネットワークインストールを実行するには、次の手順に従います。
SUSE Linux Enterprise SP DVD 1を挿入し、マシンをブートします。元のSUSE Linux Enterprise 11のインストール時と同様のブート画面が表示されます。
を選択してサービスパックカーネルをブートし、 F4キーを押してネットワークインストールソースの種類(FTP、HTTP、NFS、またはSMB)を選択します。
適切なパス情報を入力するか、をインストールソースとして選択します。
表示されるものから適切なインストールサーバを選択するか、ネットワークサーバからのインストールに説明しているとおり、ブートオプションプロンプトを使用してインストールソースの種類とその実際の場所を指定します。YaSTが起動します。
7.4.5.3項 「アップデート手順」の説明に従って、インストールを完了します。
ネットワークからSUSE Linux Enterpriseサービスパックのネットワークインストールを実行するには、次の手順に従います。
14.3.5項 「ターゲットシステムでPXEブートの準備をする」に従って、DHCPサーバのセットアップを調整してPXEブートに必要なアドレス情報を取得します。
PXEブートに必要なブートイメージが保管されるTFTPサーバをセットアップします。
このセットアップを実行するには、SUSE Linux EnterpriseサービスパックのCDまたはDVDの1枚目を使用するか、または14.3.2項 「TFTPサーバのセットアップ」の手順に従います。
ターゲットコンピュータにPXEブートとWake-on-LANを準備します。
ターゲットシステムのブートを開始し、VNCを使用してこのコンピュータで実行中のインストールルーチンにリモートで接続します。詳細については、14.5.1項 「VNCによるインストール」を参照してください。
7.4.5.3項 「アップデート手順」の説明に従って、インストールを完了します。
インストールメディアまたはネットワークから正しくブートしたら、次の手順を実行してアップデートを開始します。
画面で、およびを選択し、ライセンス契約に同意します。で続行します。
物理メディアからブートした場合は、を実行して、メディアの整合性を確認します。すでにメディアをチェック済みの場合は、このステップをスキップします。
画面で、を選択します。をクリックすると、アップデート手順が開始されます。
SUSEアップデートサーバからクライアントシステムごとにアップデートをダウンロードする代わりに、SUSE Linux Enterprise用のサブスクリプション管理ツール(SMT)を使用して、アップデートをローカルサーバにミラーリングすることもできます。
このツールはクライアント登録用のSUSEカスタマーセンタープロキシ、およびソフトウェアアップデートリポジトリとして機能します。http://www.suse.com/doc/smt11/にあるSMTのマニュアルに、機能の概要と実装方法の説明が記載されています。
SUSE Managerは、SUSE Linux Enterpriseクライアントに対するアップデート、パッチ、およびセキュリティ修正を提供するためのサーバソリューションです。これには、一連のツールと、管理タスク用のWebベースのユーザインタフェースが付属しています。
http://www.suse.com/doc/suse_manager/にあるSUSE Managerのマニュアルに、機能の概要とサーバおよびクライアントのセットアップ方法の説明が記載されています。
SUSE Linux Enterprise 11 SP3 (またはそれ以上)からSUSE Linux Enterprise 12へのアップグレードは、次のツールでサポートされています。
手動アップグレード、ISOからブート(7.5.1項 「 SUSE Linux Enterprise 11 SP3以上からの手動アップグレード(インストールソースを使用) 」を参照)
半自動マイグレーション、SSH経由で可能(7.5.2項 「SUSE Linux Enterprise 11 SP3からSUSE Linux Enterprise 12への自動マイグレーション」を参照)
インストールソース(ローカルDVDまたはネットワークインストールソースのいずれか)からブートして、フレッシュインストールを実行する場合と同じようにシステムをアップグレードできます。ブート画面で[Install (インストール)]の代わりに[Upgrade (アップグレード)]を選択してシステムをアップグレードします。
システムをISOから起動するブート方法を選択します(6.1項 「インストール方法の選択」を参照してください)。
システムをISOから起動します(6.2項 「インストール時のシステム起動」を参照してください)。
ブート画面で[Upgrade (アップグレード)]を選択して、システムのアップグレードを開始します。
[Install (インストール)]を選択すると、後でデータが失われる可能性があります。フレッシュインストールの際にはデータパーティションを壊さないよう十分に注意してください。たとえば、ディスクの再パーティション化したり(既存のパーティションが破壊されるおそれがあります)、データパーティションを再フォーマットしたり(パーティション上のすべてのデータが消去されます)すると、データパーティションが破壊されます。ここでは[Upgrade (アップグレード)]を選択することをお勧めします。
通常のアップグレードプロセスを実行します(7.4.5.3項 「アップデート手順」を参照してください)。
自動マイグレーションを実行するには、次の手順に従います。
1枚目のインストールDVDの/boot/x86_64/loader/からインストールカーネルlinuxおよびファイルinitrdをシステムの/bootディレクトリにコピーします。
cp-vi DVDROOT/boot/x86_64/loader/linux /boot/linux.upgradecp-vi DVDROOT/boot/x86_64/loader/initrd /boot/initrd.upgrade
DVDROOTはシステムがDVDをマウントするパスを示します。通常は、/run/media/$USER/$DVDNAMEです。
既存のGRUB環境設定ファイル/boot/grub/menu.lstを開き、別のセクションを追加します。他のブートローダについて、対応する環境設定ファイルを編集します。デバイス名は適宜調整してください。次に例を示します。
title Linux Upgrade Kernel kernel (hd0,0)/boot/linux.upgrade root=/dev/sda1 upgrade OPTIONAL_PARAMETERS initrd (hd0,0)/boot/initrd.upgrade
OPTIONAL_PARAMETERSは、システムをブートしてアップグレードを実行するために必要な追加のブートパラメータを示します。ここに、ご使用のシステムで必要なカーネルパラメータを指定できます。カーネルパラメータを確認して既存のGRUBエントリからコピーしなければならない場合があります。SUSEのlinuxrcパラメータ(オンラインで説明されています) (http://en.opensuse.org/Linuxrc)を指定することもできます。
アップグレードを自動で実行する場合(22.2項 「自動アップグレードの実行」を参照)、GRUB環境設定のkernelという行の末尾にautoupgrade=1を追加します。
マシンを再起動し、ブートメニューから、新しく追加したセクションを選択します(ここでは、[Linux Upgrade Kernel (Linuxアップグレードカーネル)])。grubonceを使用すると、新しく作成したGRUBエントリを事前に選択し、新しく作成したエントリで自動的に無人で再起動できます。rebootを使用してコマンドラインから再起動を実行することもできます。
通常のアップグレードプロセスを実行します(7.4.5.3項 「アップデート手順」を参照してください)。
アップグレードプロセスが正常に完了したら、インストールカーネルおよびinitrdファイル(/boot/linux.upgradeおよび/boot/initrd.upgrade)を削除します。これらはもう必要ありません。
Atomicアップデートは、システムの2つのコピーを管理し、更新失敗後の容易な復元を可能にするツールに基づいています。提供されたツールを使用するには、特別なディスクパーティション設定が必要です。システムの各コピーは、それ独自のプライマリパーティションに常駐します。更新が失敗した場合、常に、システムの前の状態(もう一方のパーティションで利用できる)に戻ることができます。
実装では、ディスクパーティションに関する厳格な要件があります。つまり、最初のルートパーティションは、/dev/sda1とし、全デスクサイズの半分を超えてはなりません。次に、ツールによって、システムの2つ目のルートパーティションとして/dev/sda2が作成されます。追加パーティション(可能な場合)は、両方のブートパーティションで共有されます。したがって、追加パーティションのサイズを考慮に入れて、最初のパーティションのサイズを適宜減らしてください。大まかな計算は、次のようになります。
ディスク全体のサイズ-sda1のサイズ-sda2のサイズ = 追加パーティションの空き領域
/dev/sda1が単一のルートパーティションとして全ディスクサイズの半分未満を占めるシステムをインストールします。
インストールしたシステムを、必要に応じてカスタマイズします。multi-update-toolsパッケージを必ずインストールしてください。
multi-update-setup --partitionを実行します。このコマンドは、同様のサイズでシステムの2つ目のルートパーティション(/dev/sda2)を作成します。
必要に応じてディスクの残りをパーティション分割し、カスタマイズ(*)を続行します。
multi-update-setup --cloneを実行して、システムをもう一方のパーティションにコピーします。このコマンドで、ターゲットシステムの/etc/fstabにある/ (ルート)エントリも変更します。
必要に応じて、さらにカスタマイズ(*)します。
multi-update-setup --bootloaderを実行して、ブートローダの設定を初期化します。ブートローダのメニューに、もう一方のシステムをブートするためのエントリが組み込まれます。
GRUB 2ブートローダのインストールは必須です。それらのツールは、他のブートローダと互換性がありません。
(*)でマークされたカスタマイズがない場合は、multi-update-setup --completeを使用して3つのステップをすべて実行します。
multi-updateを実行します。このコマンドは、chroot環境でzypperを実行し、もう一方のシステムを更新します。どちらのシステムがアクティブかは重要でありません。そのブートメニューは、ブート時にデフォルトとして表示されます。
更新したシステムのブートローダが更新後に破損している場合は、「アクティブ」フラグを変更して、もう一方のシステムのルートパーティション用に設定し、そのシステムをブートできるようにする必要があります。
更新したシステムがまったくブートしない場合は、ブートローダメニューにアクセスしてもう一方のシステムを選択する必要があります。
GRUB 2の詳細については、第12章 ブートローダGRUB 2, 管理ガイドを参照してください。
ルートパティションは、パーティション名またはIDによってマウントするか、その他の方法でマウントする必要があります。パーティションUUIDやラベルによるマウントはサポートされていません。
詳細については、multi-update-toolsパッケージに同梱されている/usr/share/doc/packages/multi-update-tools/READMEを参照してください。
SUSE Linux Enterprise Serverのライフサイクルは13年です。そのうち10年間は一般サポート、3年間は拡張サポートが適用されます。
SUSE Linux Enterprise Desktopのライフサイクルは10年です。そのうち7年間は一般サポート、3年間は拡張サポートが適用されます。
メジャーリリースは4年ごとに提供されます。サービスパックは18カ月ごとに提供されます。
古いサービスパックは、新しいサービスパックのリリース後6カ月間サポートされます。ここに示した一部の側面は、図7.1「メジャーリリースとサービスパック」で説明されています。
アップグレード計画を設計、検証、およびテストするためにさらに時間が必要な場合、長期サービスパックサポートを利用してサポートを延長することにより、12~36カ月間、追加サポートを受けることができます。これは12カ月単位で延長でき、特定のサービスパックに対して合計3~5年のサポートを利用できます(図7.2「長期サービスパックサポート」を参照してください)。
拡張サポートレベルの範囲は、10年目から13年目までになります。これらのサポートレベルには、継続されるL3エンジニアリングレベルの診断とリアクティブな重大なバク修正が含まれます。これらのサポートレベルでは、重要でないカーネルでのローカルルートエクスプロイトなどのルートエクスプロイトに対しては、ユーザ介入なしで直接実行可能な更新をプロアクティブにサポートします。さらに、限られたパッケージ除外リストを使用して、既存のワークロード、ソフトウェアスタック、およびハードウェアをサポートします。概要については、表7.1「セキュリティ更新とバグの修正」を参照してください。
|
最新のサービスパック(SP)の一般サポート |
古いSPの一般サポート(LTSS利用時) |
LTSS利用時の拡張サポート | |||
|---|---|---|---|---|---|
|
機能 |
1~5年目 |
6~7年目 |
8~10年目 |
4~10年目 |
10~13年目 |
|
テクニカルサービス |
対応 |
対応 |
対応 |
対応 |
対応 |
|
パッチおよび修正の利用 |
対応 |
対応 |
対応 |
対応 |
対応 |
|
マニュアルおよびナレッジベースの利用 |
対応 |
対応 |
対応 |
対応 |
対応 |
|
既存のスタックおよびワークロードのサポート |
対応 |
対応 |
対応 |
対応 |
対応 |
|
新規展開のサポート |
対応 |
○ |
制限あり(パートナーおよび顧客の要求に基づく) |
制限あり(パートナーおよび顧客の要求に基づく) |
いいえ |
|
拡張リクエスト |
○ |
制限あり(パートナーおよび顧客の要求に基づく) |
制限あり(パートナーおよび顧客の要求に基づく) |
いいえ |
非対応 |
|
ハードウェアの有効化および最適化 |
○ |
制限あり(パートナーおよび顧客の要求に基づく) |
制限あり(パートナーおよび顧客の要求に基づく) |
いいえ |
非対応 |
|
SUSE SolidDriverプログラム(旧名称はPLDP)によるドライバのアップデート |
対応 |
○ |
制限あり(パートナーおよび顧客の要求に基づく) |
制限あり(パートナーおよび顧客の要求に基づく) |
いいえ |
|
最新のSPからの修正のバックポート |
対応 |
○ |
制限あり(パートナーおよび顧客の要求に基づく) |
該当なし |
該当なし |
|
重大なセキュリティアップデート |
対応 |
対応 |
対応 |
対応 |
対応 |
|
欠陥の解決 |
対応 |
対応 |
制限あり(セキュリティレベル1および2の欠陥のみ) |
制限あり(セキュリティレベル1および2の欠陥のみ) |
制限あり(セキュリティレベル1および2の欠陥のみ) |
リポジトリレイアウトは製品ライフサイクルに対応しています。表7.2「SUSE Linux Enterprise 11 SP2とSP3、およびSUSE Linux Enterprise 12のリポジトリレイアウト」に、SUSE Linux Enterprise 11 SP2~SUSE Linux Enterprise 12のすべてのリポジトリのリストを示します。
|
タイプ |
SLES |
SLED | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
必須のリポジトリ |
11 SP2
11 SP3
12
|
11 SP2
11 SP3
12
| ||||||||||||||||||||
|
任意選択のリポジトリ |
11 SP2
11 SP3
12
|
11 SP2
11 SP3
12
| ||||||||||||||||||||
|
新規: 「モジュール」に固有のリポジトリ |
12
|
12 |
保守によって更新されるのは、対応するCoreまたはPoolリポジトリ内のパッケージのみです。
インストールメディアからのすべてのバイナリRPMとパターン情報が格納され、ステータスメタデータをサポートします。
これらのリポジトリには、静的なコンテンツが格納されます。これら2つのうち、アップデートを受け取るのはDebuginfo-Updatesリポジトリのみです。問題の発生時にデバッグ情報を含むライブラリをインストールする必要がある場合は、これらのリポジトリを有効にします。
SUSE Linux Enterprise 11 SP3.
SP3へのアップデートでは、SLES11-SP3-PoolとSLES11-SP3-Updatesの2つのリポジトリのみが使用可能です。SP2からの古いリポジトリは表示されますが、有効にはなりません。これらの無効なリポジトリが必要になるのは、特定のニーズを持つユーザのみです。
SUSE Linux Enterprise 12.
SUSE Linux Enterprise 12へのアップデートでは、SLES12-GA-PoolとSLES12-GA-Updatesの2つのリポジトリのみが使用可能です。SUSE Linux Enterprise 11 SP3からの古いリポジトリは無効になっています。
登録を行うと、システムがSUSEカスタマーセンターからリポジトリを受信します。リポジトリ名はカスタマセンター内の特定のURIにマップされています(https://scc.suse.com/を参照)。ご使用のシステムで使用可能なすべてのリポジトリを一覧にするには、次のようにzypperを使用します。
zypper repos -u
これにより、ご使用のシステムで使用可能なすべてのリポジトリのリストが表示されます。リポジトリごとに、別名、名前、有効かどうか、リフレッシュされるかどうかといった情報がリストされます。オプション-uを使用すると、元となるURIも表示されます。
古いリポジトリ(SP1にあるものなど)を削除する場合は、zypper removerepoと、リポジトリの名前を使用します。たとえば、SP1およびSP2の古いリポジトリを削除するには、次のコマンドを使用します。
zypper removerepo SLES11-SP1-Pool SLES11-SP1-Updates \
SLE11-SP1-Debuginfo-Pool SLE11-SP1-Debuginfo-Updates \
SLES11-SP2-Core SLES11-SP2-Updates \
SLE11-SP2-Debuginfo-Core SLES11-SP2-Extension-Store\
SLE11-SP2-Debuginfo-Updatesリポジトリを再度追加する場合は、https://scc.suse.com/にログインして、 › の順に選択します。URIのリストが表示され、この製品リストにあるリポジトリのみを追加することができます。たとえば、SP2 Extension Storeを追加する場合は、次のコマンドを使用します(1行で、バックスラッシュなし)。
zypper addrepo -n SLES11-SP2-Extension-Store \
https://nu.novell.com/repo/\$RCE/SLES11-SP2-Extension-Store/nu_novell_com:SLES11-SP2-Extension-StoreSUSEはバックポートを広い範囲で使用しています。バックポートとは、ソフトウェアの最新の修正や機能をリリース済みのSUSE Linux Enterpriseパッケージにマイグレートすることです。このセクションでは、SUSE Linux Enterpriseソフトウェアパッケージの機能とセキュリティを判断するためにバージョン番号を比較しても当てにならない可能性がある理由について説明します。この説明を読むと、SUSEがどのようにしてシステムソフトウェアを安全で最新の状態に保ちつつ、SUSE Linux Enterprise製品上でアプリケーションソフトウェアの互換性を維持しているかを理解できます。さらに、公表されているセキュリティ上の問題のうち、ご使用のSUSE Linux Enterpriseシステムソフトウェアでどれが実際に対応済みかを確認する方法、およびご使用のソフトウェアが本当にどの程度最新かを確認する方法を学ぶこともできます。
アップストリームの開発者は、自分が開発するソフトウェアを前進させることを念頭に置いています。多くの場合、バグの修正と新機能の導入が組み合わせられますが、その新機能は詳細なテストをまだ受けていないために、新しいバグを生み出す可能性があります。
配布物の開発者としては、次のものを見分けることが重要です。
バグ修正(機能を中断する限定的な可能性がある)。
変更(既存の機能を中断する可能性がある)。
多くの場合、パッケージがリリースされた配布物の一部になったら、配布物の開発者はアップストリームでのすべての変更を追うことはしません。通常は、最初にリリースされたアップストリームバージョンから離れずに、アップストリームの変更に基づいてパッチを作成してバグを修正します。こうした一連の処理はバックポートと呼ばれています。
一般的に、配布物の開発者が新しいバージョンのソフトウェアを導入するのは、次の2つの場合のみです。
パッケージとアップストリームバージョンの変更内容の差があまりに大きくなり、バックポートが不可能になってしまった場合。
本質的に経年劣化するソフトウェア(マルウェア対策ソフトウェアなど)。
SUSEでは、エンタープライズソフトウェアに対する数多くの考慮事項のバランスをうまく取るために、広い範囲でバックポートを使用しています。こうした考慮事項のうち最も重要なものは次のとおりです。
SUSEのエンタープライズ製品上で使用する製品を構築する際にソフトウェアベンダーが信頼することのできる安定したインタフェース(API)を提供すること。
SUSEのエンタープライズ製品のリリースで使用するパッケージが、単体としてもエンタープライズ製品全体の一部としても、最高品質であり、完全にテスト済みであることを確認すること。
SUSEのエンタープライズ製品に対するその他のベンダーによるさまざまな証明書を維持すること(OracleまたはSAP製品の証明書など)。
SUSEの開発者が、リリース全体に薄く広く注意を拡散させる必要なく、できるだけ優れた次のバージョンの製品の開発に集中できるようにすること。
特定のエンタープライズ向けリリースの内容の明確性を保ち、サポートがそのリリースについて正確かつタイムリーな情報を提供できるようにすること。
一般的なポリシールールとしては、当社のエンタープライズ製品に、パッケージの新しいアップストリームバージョンは導入されないことになっています。ただしこのルールは絶対的なものではありません。限られたクラスのパッケージ(特定のウィルス対策ソフトウェア内)では、品質確保の観点から選ばれた保守的なアプローチよりも、セキュリティに関する考慮事項の方が重視されます。こうしたクラスのパッケージでは、時として、エンタープライズ製品ラインのリリース済みバージョンに、新しいバージョンが導入されることがあります。
その他のタイプのパッケージについても、バックポートではなく新しいバージョンの導入が選択される場合があります。バックポートの作成が経済的に不可能な場合や、新しいバージョンの導入に対する非常に妥当な技術的な理由が存在する場合などがこれに該当します。
バックポートが実行されているために、SUSEパッケージに特定の問題の修正が含まれているのか、または特定の機能が追加されているのかを、バージョン番号を単純に比較して判断することはできません。バックポートでは、SUSEパッケージのバージョン番号のアップストリーム部分は、単にSUSEパッケージの基となっているアップストリームバージョンを示しているだけです。ここには、対応するアップストリームリリースには存在しないけれどもSUSEパッケージにはバックポートされている修正や機能が含まれている可能性があります。
バックポートが関係する場合にバージョン番号のこの限られた値が問題を引き起こす可能性がある、1つの特定の領域として、セキュリティスキャンツールの使用が挙げられます。セキュリティの脆弱性スキャンツール(または、それらのツールによる特定のテスト)の中には、単にバージョン情報のみに基づいて機能するものがあります。したがって、これらのツール/テストでは、バックポートが関係している場合に「false positive」 (実際は脆弱ではないのに、ソフトウェアに脆弱な部分が見つかったというクレーム)が生成される傾向があります。セキュリティスキャンツールによるレポートを評価する場合は、エントリがバージョン番号に基づくものなのか、脆弱性が本当に存在するかどうかに関する実際のテストに基づくものかを、常に調査する必要があります。
バックポートされたバグ修正や機能に関する情報が保存されている場所は数多くあります。
パッケージの変更ログ:
rpm -q --changelog name-of-installed-package rpm -qp --changelog packagefile.rpm
パッケージの変更履歴を簡単にドキュメント化した出力です。
パッケージの変更ログには、NovellのBugzillaトラッキングシステム内でバグを示すbnc#1234のようなエントリや、その他のバグトラッキングシステムへのリンクなどが含まれます(機密保護ポリシーにより、ユーザがこうした情報のすべてにアクセスできるわけではありません)。
パッケージには、SUSEパッケージに固有の一般的な概要情報を含む/usr/share/doc/packagename/README.SUSEまたはREADME.SuSEファイルが格納されている場合もあります。
RPMソースパッケージには、通常のバイナリRPMを個別のファイルとして構築するときに適用されたパッチが含まれます。これらのファイルは、ソースコードの解読に精通していれば解釈することができます。SUSE Linux Enterpriseソフトウェアのソースのインストールについては、項 「ソースパッケージのインストールまたはダウンロード」, 第6章 コマンドラインツールによるソフトウェアの管理, 管理ガイドを参照してください。SUSE Linux Enterpriseでのパッケージの構築については、項 「ソースパッケージのインストールとコンパイル」, 第6章 コマンドラインツールによるソフトウェアの管理, 管理ガイドを参照してください。SUSE Linux Enterpriseソフトウェアパッケージの構築に関する内部処理については、『Maximum RPM (http://www.rpm.org/max-rpm/)』のブックを参照してください。
セキュリティ上のバグ修正については、SUSEのセキュリティ告知 (http://www.suse.com/support/security/#1)を参照してください。バグは、CAN-2005-2495などの標準名で示されることがよくあります。こうした名前は、Common Vulnerabilities and Exposures (CVE) (http://cve.mitre.org)によって維持されています。
マイグレーションフックによって、マイグレーションプロセスの過程のどこかの時点で、カスタムの外部スクリプトを実行できます。これらのスクリプトを使用して、通常のRPMスクリプトでは処理できない特定の問題を処理したり、マイグレーション中に必要とされるような(通常のパッケージアップデートでは必要とされない)追加のアクションを実行することができます。
マイグレーションフックはルート権限で実行されるので、スクリプト内では任意の保守タスクを実行できます(サービスの開始/停止、データのバックアップ、データマイグレーションなど)。これらのスクリプトは対話型にはできません。YaSTでの実行中にSTDINおよびSTDOUTがパイプにリダイレクトされます。Xセッションは使用できません。すべてのケースで使用できるとは限らないからです(テキストモードで実行中の場合など)。フックスクリプトについては、実行可能パーミッションを設定することを忘れないでください。
マイグレーションフックは、yast2-wagonパッケージのバージョン2.17.32.1 (SLES11-SP2に対するアップデートとして提供)または2.17.34 (SLES11-SP3に含まれる)以上でサポートされています。
これらのスクリプトは、/var/lib/YaST2/wagon/hooks/ディレクトリで見つけることができます。想定されるスクリプト名の形式は、step_seq_prefix_nameです。各文字列は次のような意味になります。
事前定義されたマイグレーションステップ名で、現在のマイグレーションステップを説明します。
00~99までのシーケンス番号で、これによりスクリプトの実行順序を設定することができます(正しくソートできるようにするためには、必ず00から開始することが重要です)。
競合を避けるために一意にする必要があります(ネームスペースのように)。(パッケージの一部であれば)パッケージ名、またはベンダー名やインターネットドメイン名などを使用します。一意であると十分に考えられるものであれば何でも使用できます。
任意の文字列にできます(スクリプトを区別するために使用されます)。わかりやすい名前にすることをお勧めします。
/var/lib/YaST2/wagon/hooks/before_package_migration_00_postgresql_backup
スクリプトは終了値0を返す必要があります。失敗した(終了値がゼロ以外の)場合は、Wagonにエラーメッセージが表示され、スクリプトを再起動するか、失敗を無視(別のスクリプトで続行)するか、現在のステップおよびステージのフックを完全にキャンセルすることができます。
フックスクリプトは何度も実行される可能性がある(Wagonのダイアログを行き来しているうちに、Wagonそのものが再起動したり、マイグレーションワークフロー内で一部のステップが複数回実行される可能性もある)ので、スクリプトはその事実に対処する必要があります(アクションを実行する必要があるのか、アクションはすでに実行済みなのか、単純な一時的なスタンプファイルを作成できるのか、そうでなければ複数回の実行を正しく解決できるのかを、最初に確認することができます)。
一部のフックはオプションです(以前の結果またはユーザ選択の値に依存しているため)。一部のフックは複数回呼び出されるので注意が必要です(たとえば、登録はマイグレーションの前後に呼び出されます)。次に、サポートされているフック(ステップ名)を実行順に並べたリストを示します。
before_init
最初に開始されます(注意: Wagonの再起動後にもう一度呼び出されます)。
before_welcome
, after_welcome
[ようこそ]ダイアログが表示される前後に開始されます。
before_registration_check
, after_registration_check
Wagonが登録状態をチェックします(一部の製品の登録の期限が切れていると、マイグレーションに失敗する場合があります)。すべてがOKの場合は何もダイアログが表示されず、Wagonによって自動的に次のステップに進みます。
before_custom_url
, after_custom_url
リポジトリマネージャが開始されます(オプション、パッチCDモードのみ)。
before_self_update
, after_self_update
Wagonのアップデートそのものの前後に呼び出されます(最新バージョンがマイグレーションに使用されていることを確認します)。
before_installing_migration_products
, after_installing_migration_products
マイグレーション製品のインストールの前後に呼び出されます。
before_selecting_migration_source
, after_selecting_migration_source
SUSEカスタマーセンターリポジトリ経由でマイグレートするのか、カスタムリポジトリを使用してマイグレートするのか、Wagonがユーザに尋ねます。次のステップはこのユーザ選択によって決まります。
before_registration
, after_registration
SUSEレジスタが実行されます(マイグレーションリポジトリを追加するため)。
before_repo_selection
, after_repo_selection
手動のリポジトリ管理。
before_set_migration_repo
, after_set_migration_repo
マイグレーションリポジトリ(SUSEカスタマーセンターの使用時は完全/最小マイグレーション)を選択するか、リポジトリ選択を更新します(カスタムリポジトリマイグレーション)。
before_package_migration
パッケージのアップデートが開始される前、このステップの後に実際のマイグレーションが開始され、前の状態に自動的に戻ることはできなくなります(このフェーズで中止すると、システムに矛盾が発生し(半分アップグレードされた状態)、手動のロールバックが必要になります)。
before_registration
, after_registration
SUSEレジスタが実行されます(アップデートされた製品を登録するため)。
before_congratulate
, after_congratulate
マイグレーションが成功した結果、Wagonによって成功を示すダイアログが表示される前後。
before_exit
Wagonが終了する直前に呼び出されます(中止後や再起動時も含め、マイグレーションの結果に関係なく常に呼び出されます)。
ユーザがマイグレーションを中止したときに呼び出される、特別な中止のフックがあります。これらのフックはマイグレーションワークフロー内の任意のステップで呼び出すことができるので、実行順序は保証できません。他のフックの結果に依存している場合、スクリプトで現在の状態をチェックする必要があります。
before_abort
ユーザがマイグレーションの中止を確定しました。
before_abort_rollback
, after_abort_rollback
ユーザが中止後にロールバックを確定しました(マイグレーション開始前にインストールされていた古い製品に戻ります)。これらのフックはbefore_abortの後に呼び出され、ユーザがロールバックを確定しない場合はスキップされます。
これらのフックは、Wagonそのものが再起動されると常に呼び出されます。
before_restart
Wagonは終了し、もう一度開始されます。
after_restart
Wagonは再起動されており、マイグレーションワークフローの次のステップが実行されます。
フックのリストはかなり大きなものですが、その多くは特別な事例で意味をなすものです。通常の使用例では、次のようなフックが優先的に使用されます。
システムをマイグレートする前(まだ前のバージョンを実行しているとき)に何らかのアクションを実行するには、before_package_migrationフックを使用します。
この時点では、マイグレーションの準備ができていて開始寸前であることは明確ですが、それ以前のすべてのステップで、マイグレーションを中止することが可能でした。
システムのマイグレート後(システムはマイグレート後の新しいバージョンを実行しているが、何かまだアクティブになっていない機能があるとき(カーネルのアップデート後に再起動が必要な場合や、サービスのアップデート後に再起動が必要な場合など))に何らかのアクションを実行するには、before_congratulateまたはafter_congratulateフックを使用します。
これは、before_package_migrationフックによる一時的な結果を消去する場合にも使用できます。この時点で、マイグレーションは正常に終了しています。
マイグレーションが中止された場合に変更を元に戻すには、事例に応じて、中止のフックのいずれかを使用します。中止のフックはいつでも呼び出すことができるので、元に戻す必要はないかもしれません(変更を実行するフックがまだ呼び出されていない可能性があります)。中止のフックでは、現在の状態をチェックする必要があります。
古いバージョンのWagonでは、2つのフックスクリプトのみがサポートされていました。/usr/lib/YaST2/bin/wagon_hook_initと/usr/lib/YaST2/bin/wagon_hook_finishです。問題は、フックとして実行できるスクリプトは1つだけで、フックを直接PRMパッケージに配置できないことでした。
これらの古いフックスクリプトは、後方互換性のために新しいバージョンのWagonでもサポートされていますが、廃止されたフックの変わりに、新しいフックのbefore_initとbefore_exitを使用する必要があります。