openSUSE Leap の標準的なインストール方式はウイザード形式になっています。これは一般的なユーザにとっては分かりやすいもので、少数のマシンにインストールするだけであれば、十分に効率的な仕組みです。ところが、多数のマシンにインストールを行う場合、このようなウイザード形式は手間になってしまうばかりか、時間のかかるものになってしまいます。
このような問題を避けるには、特定のマシンにインストールしたものをハードディスクごと複製して配置する方法もあります。ただし、このような仕組みで大量配置を行う場合、配置後のさまざまな個別設定が面倒になってしまいます。たとえばそれぞれのマシンに対して固定の IP アドレスを割り当てるような場合、配置後にそれぞれの IP アドレスを設定する手間が生じることになってしまいます。
openSUSE Leap の通常のインストールであっても、半自動化が実現できています。インストールの冒頭で必要な情報 (通常は言語) を選択したあと、 YaST はさまざまな要素とシステムのパラメータを考慮して提案を作成しますので、そのまま進めていくだけでインストールが完了します。提案内容を受け入れたあとは、残りの作業は自動的に実施されます。
AutoYaST はユーザ側での操作を一切不要にしたい場合や、カスタマイズが必要な場合に有用です。 AutoYaST のプロファイルを使用することで、 YaST は独自の方式でインストールを行い、プロファイル内に敢えて記述されている場合を除き、ユーザに一切尋ねることなく処理を進めることができます。
AutoYaST は GUI システムの自動化ではありません。そのため、通常は表示される多くの画面 (たとえば言語選択の画面など) が表示されないまま処理が行われます。 AutoYaST では言語関連のユーザインターフェイスを表示することなく、サブシステムに言語パラメータを渡して処理を進めます。
AutoYaST を使用することで、多数のシステムを同時並行で素早くインストールすることができるようになります。これらは同じ環境を共有する必要がありますが、ハードウエアについては全く同一でなくてもかまいません。インストール処理は XML 形式の設定ファイル (通常は autoinst.xml
というファイル名です) 、「AutoYaST プロファイル」 で制御します。プロファイルは既存の設定リソースから作成しておいて、後から必要に応じて調整することができます。
AutoYaST はシステムに完全に統合されているほか、インストールや設定に対してさまざまなオプションを提供しています。その他の自動インストールシステムと比較しても、既存のモジュールを利用してコンピュータを設定することができたり、通常はインストールの終了時に実行するスクリプトなどを設定できたりする点がメリットとなっています。
本文書では、自動インストールに関わる 3 種類のステップを説明しています:
準備: インストール先のシステムに関する全ての情報を収集し、プロファイル内の対応するディレクティブに変換します。プロファイルはインストール先のシステムに転送され、ディレクティブを処理したあと YaST に渡されます。
インストール: YaST は AutoYaST プロファイルに書かれたデータをもとにして、基本的なシステムのインストールと設定 (パーティション、ネットワーク、ファイアウオールの各設定など) を行います。
事後設定: システムへのインストールと基本設定が完了すると、システムは残りの設定を行うために第 2 ステージに移行することができます。ここではインストール後スクリプトの動作やサードパーティ製モジュールの動作、そしてその他の YaST モジュールの処理などが含まれます。
openSUSE Leap 15.7 の通常のインストールは、単一のステージで実施されますが、自動インストールの場合にのみ 2 つのステージに分割して実行されます。インストールと基本的なシステムの設定が終わったあと、システムは第 2 ステージとしてインストール後のシステムを起動します。
第 2 ステージで自動インストールを正しく動作させるには、インストール先のシステムに autoyast2
と autoyast2-installation
のパッケージをインストールしておく必要があります。これらをインストールしておかないと、インストール済みのシステムを起動する際にエラーメッセージが表示されます。
なお、第 2 ステージはどうしても必要な場合にのみ動作します。第 2 ステージを無効化したい場合は、 second_stage
パラメータを設定してください:
<general> <mode> <confirm config:type="boolean">false</confirm> <second_stage config:type="boolean">false</second_stage> </mode> </general>