SUSE Linux Enterprise 11 SP2からSUSE Linux Enterprise 11 SP3への大規模な無人アップグレードを行うには、以下の手順を使用します。適切なAutoYaSTプロファイルの作成には、いくつかの準備ステップが必要です。最終的に、AutoYaSTがアップグレードプロセスを実行します。
自動アップグレード用AutoYaSTプロファイルでは、AutoYaSTインストールと同じファイル形式を使用します。AutoYaSTの詳細については、第21章 自動インストールおよびAutoYaSTを参照してください。
ただし、システムには、アップグレード時に設定しても意味のない部分(パーティション分割など)があります。一方、アップグレード固有のオプションは、AutoYaSTプロファイルによって設定すると有用です。
アップグレードオプションでは、アップグレード時の依存関係ソルバの動作を定義します:
<upgrade>
<only_installed_packages
config:type="boolean">false</only_installed_packages>
<stop_on_solver_conflict
config:type="boolean">true</stop_on_solver_conflict>
</upgrade>only_installed_packages
パッケージベースのアップグレード(同一製品の次のサービスパックへのアップグレードで推奨される方法)の場合は、trueに設定します。パターンベースのアップグレード(SLES10からSLES11など、製品のバージョン間でのアップグレードで推奨される方法)の場合は、falseに設定します。
stop_on_solver_conflict
パッケージの依存関係を対話的に解決できなかった場合に提案を表示するかどうかを定義します。これは、trueに設定することをお勧めします。ただし、そのように設定しても、対話式プロセスになることがあり、その際には手動で矛盾を解決する必要があります。
ソフトウェアの選択オプションでは、リゾルバの結果に加えて、どのコンポーネントを選択するか、選択しないか定義します。
<software>
<packages config:type="list">
<package>autoyast2-installation</package>
<package>apparmor-profile-editor</package>
</packages>
<patterns config:type="list">
<pattern>base</pattern>
</patterns>
<remove-packages config:type="list"/>
<remove-patterns config:type="list"/>
</software>
パッケージの矛盾を解決して対話的操作の必要性をなくすには、パッケージやパターンの選択または非選択の設定が、特に重要です。アップグレードが完了すると、新しく作成されたautoupg_updated.xmlファイルには、これらのパッケージやパターンが含まれるだけでなく、他の任意の理由で選択または選択解除されたパッケージやパターンも含まれます。
アップグレード前のバックアップオプションは、アップグレード提案における次の機能に一致します。
<backup> <sysconfig config:type="boolean">true</sysconfig> <modified config:type="boolean">true</modified> <remove_old config:type="boolean">false</remove_old> </backup>
sysconfig
sysconfigをアップグレード前にバックアップするかどうか定義します。
modified
変更された設定ファイルをアップグレード前にバックアップするかどうか定義します。
remove_old
以前のアップグレードから古いバックアップを削除するかどうか定義します。
自動アップグレードを開始するには、インストールメディアをブートし、そのメディアにAutoYaSTプロファイルを渡します。プロファイルをシステムに渡すには、次の2つの方法がありあます。
AutoYaSTインストールの場合と同様に、プロファイルをカーネルのコマンドラインに渡します(autoupgrade=1 autoyast=http://host/path/profile.xmlパラメータを使用)。System zの場合は、次の方法しかありません。
autoupgrade=1パラメータをカーネルコマンドラインに渡します。アップグレードの開始前に、プロファイルを/root/autoupg.xmlにコピーします。これ以上、カーネルパラメータを追加する必要はありません。
後者のやり方では、異なるマシンの場合でも、そのマシンのファイルシステムに適切なプロファイルをコピーするだけで、単一のインストールカーネルコマンドラインを使用できます。
マシンにインストールしているSUSE Linux Enterpriseシステムが1つだけで、パッケージの競合がなく、プロファイルをアップグレード提案で停止するように設定していない場合は、プロセス全体が非対話的になります。アップグレード提案を入力する場合は、そのアップグレードの設定を変更できます。
アップグレードの終了後、YaSTは、/root/autoupg-updated.xmlファイルを作成します。このファイルには、提案で行われた適用済みソフトウェア選択の変更を反映したプロファイルが含まれています。このファイルは、特に、同じパッケージを選択したコンピュータを多数アップグレードする場合に有用です。このようにして、1つのコンピュータでの競合の解決を他のコンピュータに簡単に適用できます。その結果、これらの競合が自動的に解決され、アップグレード自体は非対話的になります。
マシンに別のSUSE Linux Enterpriseシステムがインストールされている場合は、必ず、どれをアップグレードするか質問されます。アップグレードの対象をあらかじめ選択する方法はありません。
システムをブートするもう1つの方法は、GRUB 2メニューに追加セクションを作成し(他のブートローダや他のアーキテクチャの場合も同様にして)、それに従ってインストールを開始することです。次の例では、GRUB 2内に(hd0,0)と呼ぶ別個の/bootパーティションが存在すると想定しています。
title Upgrade
root (hd0,0)
kernel /upgrade/linux
install=inst_source_url autoupgrade=1
autoyast=autoyast_profile_url vga=0x314
initrd /upgrade/initrd
上記の例では、インストールカーネルとインストールinitrdが /boot/upgradeディレクトリ内に存在しています。
System zでは、パラメータをPARMファイルに追加する必要があり、AutoYaSTベースのインストールを実行する場合と同様に実行します。
デフォルトの自動アップグレードでは、アップグレードの第2段階で設定を変更することはありません。ただし、ネットワーク設定だけは例外です。ネットワーク設定は、AutoYaSTアップグレードプロファイルに保存されるように設定する必要があります。
一部のシステム領域の設定を、アップグレード後に調整する必要がある場合(新しいサービスの設定など)、アップグレード用のAutoYaSTプロファイルに関連セクションを追加すると、選択したシステム領域の設定がアップグレード時に保存されます。
そのシステム領域の既存設定が、AutoYaSTの設定で置換されて、破壊されないように注意してください。
通常、AutoYaSTプロファイルで提示されなければならない唯一の設定の調整は、SMT (Subscription Management Tool)またはSCC (SUSEカスタマーセンター)の使用によるシステムの登録です。これがないと、システムで更新リポジトリが取得されなくなり、後で再設定されない限り更新はできなくなります。
ネットワークデバイスとネットワーク接続の管理にNetworkManagerを使用している場合は、アップグレードの第2段階ではネットワーク接続を使用できません。したがって、システムは登録を実行できません。
アップグレードプロセスを開始するために、システムで何かを変更した場合(たとえば、ブートローダのメニューへの新セクションの追加など)、アップグレードの完了後にその変更を削除することがあります。
その場合は、ポストインストールスクリプトで自動的に実行できます。例については、Section “Custom User Scripts”, Chapter 4, Configuration and Installation Options, AutoYaSTを参照してください。GRUB 2のmenu.lstをクリーンアップするサンプルスクリプトは、サンプルファイルautoupg.xmlに含まれています。ただし、スクリプトが、自分の特定のセットアップに一致するかどうか、実際に必要なもの以上は削除しないかどうか、必ず確認してください。
Linuxrcマニュアル: http://en.opensuse.org/SDB:Linuxrc