AI インストールイメージは、完全なインストールではありません。クライアントマシンは、インストールを完了するために IPS パッケージリポジトリにアクセスする必要があります。AI マニフェストでは、少なくとも 1 つのパッケージリポジトリの場所を指定する必要があり、さらにインストールするパッケージの名前を指定する必要があります。
パッケージリポジトリの場所と、インストールする特定のパッケージの名前を定義するには、<software> タグを使用します。
<software> タグには次の要素があります。
<source> — 必須。インストールするパッケージを AI が取得する場所を指定するには、この要素を使用します。「インストールするパッケージのソースの指定」を参照してください。
<software_data> — 必須。インストールするパッケージの名前を指定するには、この要素を使用します。どの自動インストールにも特定のパッケージセットが必要です。追加のパッケージをインストールすることを選択できます。「インストールするパッケージの指定」を参照してください。
AI マニフェストに含まれている <source> 要素と <software_data> 要素の数が等しい必要はありません。1 つの <software> 要素に <software_data> 要素より多くの <source> 要素が含まれていたり、1 つの <software> 要素に <source> 要素より多くの <software_data> 要素が含まれていたりしてもかまいません。
リポジトリは、IPS パッケージが公開される場所であり、またそれらのパッケージが取得される場所です。リポジトリはローカルネットワーク上にあっても、インターネット上にあってもかまいません。パッケージをリポジトリ内に格納する個人または企業は、発行元と呼ばれます。各 AI マニフェストでは、Oracle Solaris OS をインストールするための IPS パッケージリポジトリを少なくとも 1 つ指定する必要があります。
注 - AI ブートイメージと IPS パッケージの Oracle Solaris OS リリースは同じである必要があります。AI マニフェストで指定された 1 つまたは複数の IPS リポジトリには、そのリリースのパッケージが含まれている必要があります。
インストールするパッケージを AI が取得する場所を指定するには、<source> タグを使用します。1 つの <software> 要素に複数の <source> 要素を含めることができます。各 <source> 要素には、IPS パッケージ発行元またはディレクトリパスのどちらかを指定できます。
<publisher> — どの Oracle Solaris 自動インストールにも特定の IPS パッケージセットが必要なため、各 AI マニフェストでは少なくとも 1 つの <publisher> 要素を指定する必要があります。<publisher> 要素には、省略可能な name 属性があります。<publisher> 要素には次の要素があります。
<origin> — 必須。<origin> 要素には、この IPS パッケージリポジトリの一次 URI を指定する必須の name 属性があります。<publisher> 要素に含めることのできる <origin> 要素は 1 つだけです。
<mirror> — 省略可能。<mirror> 要素には、この同じ IPS パッケージリポジトリの追加の URI を指定する必須の name 属性があります。<publisher> 要素には、複数の <mirror> 要素を含めることができます。
ミラーは、複数のリポジトリとは異なります。ミラーは、同じ <publisher> 要素内の <origin> リポジトリと同じ内容が格納されているリポジトリの個別の場所です。異なる内容が格納されている追加のリポジトリを指定するには、追加の <source> 要素を使用します。
注 - AI マニフェストで指定されている最初の IPS リポジトリは、すべての IPS パッケージの優先ソースです。優先リポジトリ内に特定の IPS パッケージが見つからない場合は、追加の IPS リポジトリが AI マニフェストで指定されている順序で検索されます。例 4-23 も参照してください。
<dir> — 省略可能。各 <source> 要素には、<publisher> 要素または <dir> 要素のどちらかが含まれている必要があります。<dir> 要素には、インストールする 1 つ以上のパッケージへのパスを指定する必須の path 属性があります。
例 4-20 IPS パッケージリポジトリの指定
この例では、solaris が優先 IPS パッケージ発行元です。これは、IPS パッケージが最初に検索されるリポジトリです。このリポジトリには、Oracle Solaris OS をインストールするために必要なパッケージが含まれている必要があります。このリポジトリには、このインストールサービスに関連付けられている AI ブートイメージと同じリリースである Oracle Solaris OS のパッケージが含まれている必要があります。
mirror_repo リポジトリには、solaris リポジトリと正確に同じ内容が含まれています。このリポジトリは、solaris リポジトリへの接続が遅すぎる場合に使用されます。
additional_repo リポジトリには、solaris リポジトリ内の内容とは異なる内容が含まれています。このリポジトリは、指定された IPS パッケージが solaris リポジトリ内に見つからない場合に使用されます。additional_repo リポジトリは、たとえば、カスタム IPS パッケージが格納されているローカルネットワーク上のリポジトリである場合があります。
<software name="IPS">
<source>
<publisher name="solaris">
<origin name="http://pkg.oracle.com/solaris/release"/>
<mirror name="http://pkg.mirror_repo"/>
</publisher>
</source>
<source>
<publisher>
<origin name="http://pkg.additional_repo"/>
</publisher>
</source>
</software>
クライアントは、Oracle Solaris OS をインストールするために IPS リポジトリにアクセスする必要があります。第 1 章自動インストーラの概要で説明した推奨される構成では、DHCP サーバーがクライアントに DNS 情報を送信します。この DNS 情報は、IPS リポジトリの URI を IP アドレスに解決するために使用されます。
クライアントが IPS リポジトリサーバーに直接接続できない場合は、そのクライアントがネットワークの外部にアクセスできるようにするためのプロキシを AI マニフェストで指定できます。このプロキシは、すべての発行元に適用されます。
次に示すように、<ai_instance> 要素の http_proxy 属性の値はプロキシの URL です。
<auto_install>
<ai_instance name="AI_manifest_name" http_proxy="http://192.168.0.101:8080">
AI_manifest_contents
</ai_instance>
</auto_install>
AI ブートイメージは、完全なインストールではありません。クライアントマシンは、インストールを完了するために IPS パッケージリポジトリにアクセスする必要があります。デフォルトの AI マニフェストには、Oracle Solaris OS をインストールするためにインストールする必要のある最小限のパッケージが示されています。AI マニフェスト内の <software> 要素の内部の <software_data> 要素に、インストールされるパッケージの一覧を指定します。
<software_data> タグには次の属性があります。
action — 省略可能。action が指定されていない場合は、値 install がデフォルトになります。考えられるほかのアクションには、uninstall と noinstall があります。例 4-21 では、uninstall の使用について説明しています。「インストールターゲット上の欠けているドライバの特定およびインストール」では、noinstall の使用について説明しています。
type — 省略可能。type が指定されていない場合は、値 IPS がデフォルトになります。AI マニフェストのこのセクションでは、IPS が唯一の有効なパッケージの種類です。「インストールターゲット上の欠けているドライバの特定およびインストール」では、AI マニフェストの <add_drivers> セクションで異なる種類のパッケージをインストールする例を示しています。
<software_data> 要素には、<name> 要素が含まれています。各 <name> 要素は、インストールするパッケージの名前を指定します。IPS パッケージの場合、<name> 要素は、使用するリポジトリを指定できます。例 4-23 を参照してください。
例 4-21 インストールする最小限の IPS パッケージの指定
この例は、Oracle Solaris OS をインストールするためにインストールする必要のある最小限の IPS パッケージを示しています。
この例ではまた、アンインストールされるパッケージも指定します。アンインストールされるパッケージは、グループパッケージです。グループパッケージは、ほかの一連のパッケージをインストールするために便宜上使用されるパッケージ定義です。グループパッケージを使用してインストールされた個々のパッケージは、最初にそのグループパッケージ定義をアンインストールしないかぎりアンインストールできません。グループパッケージ定義をアンインストールしても、そのグループパッケージを使用してインストールされたパッケージがすべてアンインストールされるわけではありません。babel_install パッケージは、別のグループパッケージである slim_install をインストールするグループパッケージです。インストールのあとに、あとでユーザーが slim_install と babel_install の一部としてインストールされたほかのパッケージをアンインストールできるように、slim_install と babel_install の両方がアンインストールされます。インストールを更新したり、カスタマイズしたりするには、パッケージをアンインストールできることが必要です。slim_install パッケージ定義をアンインストールできるように、最初に babel_install パッケージ定義をアンインストールする必要があります。
<software name="IPS">
<software_data type="IPS">
<name>pkg:/entire</name>
<name>pkg:/babel_install</name>
</software_data>
<software_data action="uninstall" type="IPS">
<name>pkg:/babel_install</name>
<name>pkg:/slim_install</name>
</software_data>
</software>例 4-22 インストールする追加の IPS パッケージの指定
この例では、Oracle Solaris Studio と NetBeans DTrace GUI プラグインがインストールされます。
<software name="IPS">
<software_data type="IPS">
<name>pkg:/developer/sunstudio12u1</name>
<name>pkg:/developer/netbeans/plugin/nb-dtrace</name>
</software_data>
</software>例 4-23 パッケージ名での IPS リポジトリの指定
この例では、example.com の IPS リポジトリから、OpenOffice ツール群と、Evolution メールおよびカレンダーユーティリティーがインストールされます。
<software name="IPS">
<source>
<publisher name="solaris">
<origin name="http://pkg.oracle.com/solaris/release"/>
</publisher>
</source>
<source>
<publisher name="example.com">
<origin name="http://pkg.example.com/release"/>
</publisher>
</source>
<software_data type="IPS">
<name>pkg://example.com/openoffice</name>
<name>pkg://example.com/mail/evolution</name>
</software_data>
</software>