21.2 ルールベースの自動インストール

以降の項では、AutoYaSTを使用したルールベースのインストールの基本的な概念、およびカスタム自動インストール設定の作成例について説明します。

21.2.1 ルールベースの自動インストールとは

ルールベースのAutoYaSTインストールを利用すれば、異種ハードウェアが存在する環境で自動インストールを実施できます。

  • サイトに異なるベンダからのハードウェアが混在していますか?

  • サイトにあるコンピュータのハードウェア構成がそれぞれ異なっていますか(違うデバイスを使っていたり、メモリ量やディスクサイズが異なる場合など)?

  • 複数のドメイン間でインストールを実施する場合に、これらのドメインを区別する必要がありますか?

基本的に、ルールベースの自動インストールでは、異種ハードウェア環境に合わせて複数のプロファイルをマージした、独自のカスタムプロファイルを作成します。 各ルールにはセットアップの特徴(ディスクサイズなど)が記述されており、ルールに一致した場合にどのプロファイルを使用するかをAutoYaSTに指示します。 それぞれの特徴が記述された複数のルールは、AutoYaSTのrules.xmlファイルに保管されます。 AutoYaSTはこれらのルールを処理して、AutoYaSTルールに一致する複数のプロファイルをマージした最終プロファイルを生成します。 この手順の概略図は、セクション 21.2.2, ルールベースの自動インストールの例を参照してください。

ルールベースのAutoYaST自動インストールを利用すれば、柔軟にSUSE Linux Enterpriseの導入を計画し、それを実施することができます。 以下の操作を行えます。

  • AutoYaSTで事前定義されているシステム属性に一致するかどうかを判断するルールを作成する;

  • 論理演算子を使って複数のシステム属性(ディスクサイズとカーネルのアーキテクチャなど)を1つのルールにまとめる

  • シェルスクリプトを実行して、その出力をAutoYaSTフレームワークに渡すことによって独自のカスタムルールを作成する 作成可能なカスタムルールの数は5つです。

メモ: AutoYaSTを使ったルールの作成と使用については、/usr/share/doc/packages/autoyast2/html/index.htmlにあるパッケージドキュメントの「Rules and Classes」の章を参照してください。

ルールベースのAutoYaSTの大規模インストールを準備するには、次の手順に従ってください。

  1. 異種ハードウェア環境のセットアップに必要なインストールの詳細を定義した、複数のAutoYaSTプロファイルを作成します。詳細は、セクション 21.1.1, AutoYaSTプロファイルの作成を参照してください。

  2. ハードウェアセットアップのシステム属性と一致するルールを定義します。詳細は、セクション 21.2.2, ルールベースの自動インストールの例を参照してください。

  3. AutoYaSTプロファイルのソース、およびインストールルーチンに渡すパラメータを決定します。詳細は、セクション 21.1.2, プロファイルの配布とAutoYaSTパラメータの決定を参照してください。

  4. セクション 21.1.3, インストールデータの提供の説明に従って、SUSE Linux Enterpriseインストールデータのソースを決定します

  5. パラメータを手動で追加、またはinfoファイルを作成して、インストールルーチンにコマンドラインを渡します。詳細は、セクション 21.1.5, infoファイルの作成を参照してください。

  6. 自動インストールのブートシナリオを決定および設定します。詳細は、セクション 21.1.4, ブートシナリオの設定を参照してください。

  7. 自動インストールを開始します。詳細は、セクション 21.1.6, 自動インストールの開始と監視を参照してください。

21.2.2 ルールベースの自動インストールの例

ルールをどのように作成するかを理解するため、ここでは次の例を使って説明します。概略図は、図 21-2を参照してください。 AutoYaSTインストールを1回実行すると、次のセットアップが行われます。

プリントサーバ

このコンピュータには、最低限の項目しかインストールされません。デスクトップ環境は必要なく、一部のソフトウェアパッケージのみが必要とされます。

技術部門のワークステーション

これらのコンピュータにはデスクトップ環境と、さまざまな開発ソフトウェアが必要です。

営業部門のラップトップ

これらのコンピュータには、デスクトップ環境と特定のアプリケーション(オフィス、カレンダソフトウェアなど)が必要です。

図 21-2 AutoYaSTルール

まず最初に、セクション 21.1.1, AutoYaSTプロファイルの作成に説明されているいずれかの方法を使って、それぞれのケースに対応するプロファイルを作成します。 この例では、それぞれprint.xmlengineering.xml、およびsales.xmlを作成します。

次に、AutoYaSTに使用するプロファイルを指示するために、3種類のハードウェアタイプを識別するルールを作成します。 次のようなアルゴリズムに基づいて、ルールをセットアップします。

  1. コンピュータのIPアドレスが192.168.2.253かどうか?そうならば、プリントサーバとして設定する。

  2. コンピュータにPCMCIAハードウェアが搭載されており、Intel製のチップセットが使用されているか? そうならば、Intel製ラップトップであると判断し、営業部門に適したソフトウェアをインストールする。

  3. 前述の条件に当てはまらない場合は、開発部門のワークステーションと判断し、適切なソフトウェアやパッケージをインストールする。

このような条件を定義したrules.xmlファイルの例を以下に示します。

<?xml version="1.0"?>
<!DOCTYPE autoinstall SYSTEM "/usr/share/autoinstall/dtd/rules.dtd"> 
<autoinstall xmlns="http://www.suse.com/1.0/yast2ns" xmlns:config="http://www.suse.com/1.0/configns">
  <rules config:type="list">
    <rule>
       <hostaddress>
	    <match>192.168.2.253</match>
            <match_type>exact</match_type>
       </hostaddress>
       <result>
            <profile>print.xml</profile>
            <continue config:type="boolean">false</continue>
        </result>
    </rule>
    <rule>
       <haspcmcia>
            <match>1</match>
            <match_type>exact</match_type>
       </haspcmcia>
       <custom1>
           <script>
if grep -i intel /proc/cpuinfo > /dev/null; then
echo -n "intel"
else
echo -n "non_intel"
fi;
           </script>
           <match>*</match>
           <match_type>exact</match_type>
       </custom1>
       <result>
            <profile>sales.xml</profile>
            <continue config:type="boolean">false</continue>
        </result>
        <operator>and</operator>
    </rule>
    <rule>
        <haspcmcia>
            <match>0</match>
            <match_type>exact</match_type>
        </haspcmcia>
 	<result>
            <profile>engineering.xml</profile>
            <continue config:type="boolean">false</continue>
        </result>
    </rule>
  </rules>
</autoinstall>

このルールファイルを配布する場合、autoyast=protocol:serverip/profiles/ URLで指定されているprofilesディレクトリ内にrulesディレクトリが常駐することを確認してください。 AutoYaSTは、rulesサブディレクトリのrules.xmlを探し、ファイルに指定されているプロファイルをロードおよびマージします。

以降の自動インストール作業は、通常と同じように実施します。