usr/src/man/ja_JP/aimanifest.1m
changeset 1763 ca9c641c8ec7
parent 1405 4202007bf64b
equal deleted inserted replaced
1762:c521dff595bc 1763:ca9c641c8ec7
     1 '\" te
     1 '\" te
     2 .\" Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
     2 .\" Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
     3 .TH aimanifest 1M "2011 年 7 月 22 日" "SunOS 5.11" "システム管理コマンド"
     3 .TH aimanifest 1M "2012 年 6 月 19 日" "SunOS 5.11" "システム管理コマンド"
     4 .SH 名前
     4 .SH 名前
     5 aimanifest \- Automated Installer (AI) を使用した XML ファイルの変更
     5 aimanifest \- AI (Automated Installer) で使用される XML ファイルの変更
     6 .SH 形式
     6 .SH 形式
     7 .LP
     7 .LP
     8 .nf
     8 .nf
     9 /usr/bin/aimanifest [\fB-h\fR]
     9 /usr/bin/aimanifest [-h]
    10 .fi
    10 .fi
    11 
    11 
    12 .LP
    12 .LP
    13 .nf
    13 .nf
    14 aimanifest add [\fB-r\fR] \fIpath\fR \fIvalue\fR
    14 aimanifest add [-r] \fIpath\fR \fIvalue\fR
    15 .fi
    15 .fi
    16 
    16 
    17 .LP
    17 .LP
    18 .nf
    18 .nf
    19 aimanifest get [\fB-r\fR] \fIpath\fR
    19 aimanifest get [-r] \fIpath\fR
    20 .fi
    20 .fi
    21 
    21 
    22 .LP
    22 .LP
    23 .nf
    23 .nf
    24 aimanifest set [\fB-r\fR] \fIpath\fR \fIvalue\fR
    24 aimanifest set [-r] \fIpath\fR \fIvalue\fR
    25 .fi
    25 .fi
    26 
    26 
    27 .LP
    27 .LP
    28 .nf
    28 .nf
    29 aimanifest load [\fB-i\fR] \fIfilename\fR
    29 aimanifest load [-i] \fIfilename\fR
    30 .fi
    30 .fi
    31 
    31 
    32 .LP
    32 .LP
    33 .nf
    33 .nf
    34 aimanifest validate
    34 aimanifest validate
    35 .fi
    35 .fi
    36 
    36 
    37 .SH 機能説明
    37 .SH 機能説明
    38 .sp
    38 .sp
    39 .LP
    39 .LP
    40 \fBaimanifest\fR コマンドは、新しい XML マニフェストを作成するか、既存の XML マニフェストを変更します。\fBaimanifest\fR は DTD 定義への有効な \fB!DOCTYPE\fR 参照を含む XML ファイルで使用できますが、本来は Automated Installer (AI) によって使用される派生マニフェストを作成するためのものです。AI 派生マニフェストについては、『\fIInstalling Oracle Solaris 11 Systems\fR』を参照してください。
    40 \fBaimanifest\fR コマンドは、新しい XML マニフェストを作成したり、既存のものを変更したりします。\fBaimanifest\fR は、DTD 定義への有効な \fB!DOCTYPE\fR 参照を含む XML ファイルで使用でき、AI (Automated Installer) で使用される派生マニフェストを作成するためのものです。AI 派生マニフェストの情報については、『\fIOracle Solaris 11 システムのインストール\fR』を参照してください。
    41 .sp
    41 .sp
    42 .LP
    42 .LP
    43 \fBaimanifest\fR コマンドは、マニフェストを作成するために複数回呼び出すことができます。\fBAIM_MANIFEST\fR 環境変数は、変更する \fBaimanifest\fR のマニフェストの場所を指定します。\fBAIM_MANIFEST\fR を設定する必要があります。\fBaimanifest\fR コマンドを \fBload\fR、\fBadd\fR、または \fBset\fR サブコマンドオプションとともに呼び出すたびに、\fBAIM_MANIFEST\fR ファイルが開かれ、変更され、保存されます。
    43 \fBaimanifest\fR コマンドは、マニフェストを作成するときに複数回呼び出すことができます。\fBAIM_MANIFEST\fR 環境変数は、\fBaimanifest\fR が変更するマニフェストの場所を指定します。\fBAIM_MANIFEST\fR は設定する必要があります。\fBload\fR、\fBadd\fR、または \fBset\fR サブコマンドを指定して \fBaimanifest\fR コマンドを呼び出すたびに、\fBAIM_MANIFEST\fR ファイルが開き、変更され、保存されます。
    44 .sp
    44 .sp
    45 .LP
    45 .LP
    46 \fBaimanifest\fR コマンドが変更できる \fBAIM_MANIFEST\fR ファイルには、少なくとも次の両方の要素が含まれている必要があります。
    46 \fBaimanifest\fR コマンドで変更できる \fBAIM_MANIFEST\fR ファイルには、少なくとも次の部分が両方とも含まれている必要があります。
    47 .RS +4
    47 .RS +4
    48 .TP
    48 .TP
    49 .ie t \(bu
    49 .ie t \(bu
    50 .el o
    50 .el o
    51 作成している XML マニフェストで有効な DTD への \fB!DOCTYPE\fR 参照。
    51 作成中の XML マニフェストで有効な DTD への \fB!DOCTYPE\fR 参照。
    52 .RE
    52 .RE
    53 .RS +4
    53 .RS +4
    54 .TP
    54 .TP
    55 .ie t \(bu
    55 .ie t \(bu
    56 .el o
    56 .el o
    57 このマニフェストのルート要素。
    57 このマニフェストのルート要素。
    58 .RE
    58 .RE
    59 .sp
    59 .sp
    60 .LP
    60 .LP
    61 AI が派生マニフェストスクリプトを実行しているときのように、空の \fBAIM_MANIFEST\fR ファイルで作業を始める場合、最初の \fBaimanifest\fR コマンドで \fBload\fR サブコマンドを指定し、少なくとも最低限必要な \fBAIM_MANIFEST\fR ファイルを読み込む必要があります。マニフェストを変更するための以降の \fBaimanifest\fR コマンドでは、DTD を使用して、作成中のマニフェスト内で要素を追加する場所を決定します。
    61 AI が派生マニフェストスクリプトを実行する場合のように、空の \fBAIM_MANIFEST\fR ファイルから処理を始める場合は、少なくとも最小限必要な \fBAIM_MANIFEST\fR ファイルを読み込む \fBload\fR サブコマンドを、最初の \fBaimanifest\fR コマンドで指定する必要があります。マニフェストを変更する後続の \fBaimanifest\fR コマンドは、作成中のマニフェスト内のどこに要素を追加すべきかを DTD に基づいて判断します。
    62 .sp
    62 .sp
    63 .LP
    63 .LP
    64 エラーや情報メッセージを\fB標準出力\fRと\fB標準エラー出力\fRに表示するだけでなくファイルに保存するには、\fBAIM_LOGFILE\fR 環境変数をログファイルの場所に設定します。情報はログファイルに追加されます。ログファイルは消去されません。
    64 エラーメッセージや情報メッセージを、\fBstdout\fR や \fBstderr\fR に表示するだけでなくファイルにも保存するには、\fBAIM_LOGFILE\fR 環境変数をログファイルの場所に設定します。ログファイルの末尾に情報が追加されます。このログファイルはクリアーされません。
    65 .SH オプション
    65 .SH オプション
    66 .sp
    66 .sp
    67 .LP
    67 .LP
    68 \fBaimanifest\fR コマンドには次のオプションがあります。
    68 \fBaimanifest\fR コマンドのオプションは次のとおりです。
    69 .sp
    69 .sp
    70 .ne 2
    70 .ne 2
    71 .mk
    71 .mk
    72 .na
    72 .na
    73 \fB\fB-h\fR、\fB--help\fR\fR
    73 \fB\fB-h\fR、\fB--help\fR\fR
    74 .ad
    74 .ad
    75 .RS 15n
    75 .sp .6
    76 .rt  
    76 .RS 4n
    77 使用法のヘルプメッセージを表示します。
    77 使用法のヘルプメッセージを表示します。
    78 .RE
    78 .RE
    79 
    79 
    80 .sp
    80 .sp
    81 .LP
    81 .LP
    82 \fBaimanifest\fR コマンドの \fBadd\fR、\fBget\fR、\fBset\fR サブコマンドには次のオプションがあります。
    82 \fBaimanifest\fR コマンドの \fBadd\fR、\fBget\fR、および \fBset\fR サブコマンドのオプションは、次のとおりです。
    83 .sp
    83 .sp
    84 .ne 2
    84 .ne 2
    85 .mk
    85 .mk
    86 .na
    86 .na
    87 \fB\fB-r\fR、\fB--return-path\fR\fR
    87 \fB\fB-r\fR、\fB--return-path\fR\fR
    88 .ad
    88 .ad
    89 .RS 22n
    89 .sp .6
    90 .rt  
    90 .RS 4n
    91 この \fBaimanifest\fR コマンドが作成または処理する XML 要素のパスを返します。この返されたパスは、ノード ID のチェーンです。この返されたパスの値を保存して、\fBaimanifest\fR への以降の呼び出しで使用できます。XML 要素と属性の値を使用してパスを指定するよりも、\fB-r\fR オプションによって返されたパスを使用する方が信頼性が高くなります。これは、AI マニフェストが構築されているときに値が変わる可能性があるためです。\fB-r\fR オプションによって返されるパスについては、「戻りパス」の節を参照してください。
    91 この \fBaimanifest\fR コマンドが作成または処理する XML 要素のパスを返します。この返されたパスは、ノード ID のチェーンです。この返されたパス値を保存しておけば、後続の \fBaimanifest\fR 呼び出しで使用できます。AI マニフェストの構築中に値が変更される可能性があるため、\fB-r\fR オプションで返されるパスを使用するほうが XML 要素や属性値を使ってパスを指定するよりも信頼性が高くなります。\fB-r\fR オプションで返されるパスの詳細については、「パスを返す」セクションを参照してください。
    92 .RE
    92 .RE
    93 
    93 
    94 .sp
    94 .sp
    95 .LP
    95 .LP
    96 \fBaimanifest\fR コマンドの \fBload\fR サブコマンドには、次のオプションがあります。
    96 \fBaimanifest\fR コマンドの \fBload\fR サブコマンドのオプションは、次のとおりです。
    97 .sp
    97 .sp
    98 .ne 2
    98 .ne 2
    99 .mk
    99 .mk
   100 .na
   100 .na
   101 \fB\fB-i\fR、\fB--incremental\fR\fR
   101 \fB\fB-i\fR、\fB--incremental\fR\fR
   102 .ad
   102 .ad
   103 .RS 22n
   103 .sp .6
   104 .rt  
   104 .RS 4n
   105 新しいデータを追加する前に \fBAIM_MANIFEST\fR データを消去しません。
   105 新しいデータを追加する前に \fBAIM_MANIFEST\fR のデータをクリアーしません。
   106 .RE
   106 .RE
   107 
   107 
   108 .SH サブコマンド
   108 .SH サブコマンド
   109 .sp
   109 .sp
   110 .LP
   110 .LP
   111 次のサブコマンドがサポートされています。
   111 サポートされているサブコマンドは次のとおりです。
   112 .sp
   112 .sp
   113 .ne 2
   113 .ne 2
   114 .mk
   114 .mk
   115 .na
   115 .na
   116 \fB\fBadd [\fB-r\fR | \fB--return-path\fR] \fI path\fR \fIvalue\fR\fR\fR
   116 \fB\fBaimanifest add [-r | --return-path] \fIpath \fR \fIvalue\fR\fR\fR
   117 .ad
   117 .ad
   118 .sp .6
   118 .sp .6
   119 .RS 4n
   119 .RS 4n
   120 新しい要素を XML マニフェストに追加します。値 \fIvalue\fR を使用して、\fIpath\fR で新しい要素を追加します。\fIpath\fR については、「オペランド」の節を参照してください。\fIpath\fR が属性 (\fB@\fIattr\fR\fR) 内で終了する場合、新しい要素は \fIattr\fR 属性を持ち、\fIvalue\fR はその属性の値になります。
   120 XML マニフェストに新しい要素を追加します。値 \fIvalue\fR を持つ新しい要素を \fIpath\fR の位置に追加します。\fIpath\fR の詳細については、「オペランド」セクションを参照してください。\fIpath\fR が属性 (\fB@\fIattr\fR\fR) で終わっている場合、新しい要素は \fIattr\fR 属性を持ち、\fIvalue\fR はその属性の値になります。
   121 .sp
   121 .sp
   122 \fIpath\fR 内で親/子関係を検査する場合を除き、検証は行われません。
   122 \fIpath\fR 内の親/子関係の検査以外の検証は実行されません。
   123 .sp
   123 .sp
   124 \fB-r\fR オプションは、新しく追加されたノードへのパスを返します。詳細は、「戻りパス」の節を参照してください。
   124 \fB-r\fR オプションでは、新しく追加されたノードへのパスが返されます。詳細については、「パスを返す」セクションを参照してください。
   125 .sp
   125 .sp
   126 親パスが \fBAIM_MANIFEST\fR ファイルの要素に一致する場合は、1 つの要素のみに一致する必要があります。新しい要素が、一致する親要素の子として作成されます。この節の「例 2: 値を持つパス」に示されているように、パスで要素と属性の値を指定して、一意の親要素に一致させることができます。
   126 親パスが \fBAIM_MANIFEST\fR ファイル内の要素に一致する場合、1 要素だけに一致する必要があります。一致する親要素の子として新しい要素が作成されます。このセクションの「例 2: 値を含むパス」で示すように、パスには一意の親要素に一致する要素や属性値を指定できます。
   127 .sp
   127 .sp
   128 .LP
   128 .LP
   129 親パスが \fBAIM_MANIFEST\fR ファイルの要素に一致しない場合、必要に応じて新しい要素が作成され、新しい子要素が新しい親に追加されます。追加された要素へのパスは、次の規則に従って、既存の要素から分割されます。
   129 親パスが \fBAIM_MANIFEST\fR ファイル内の要素に一致しない場合、必要に応じて新しい要素が作成され、その新しい親に新しい子要素が追加されます。追加される要素へのパスは、次の規則に従って既存の要素から分割されます。
   130 .RS +4
   130 .RS +4
   131 .TP
   131 .TP
   132 .ie t \(bu
   132 .ie t \(bu
   133 .el o
   133 .el o
   134 分割は、値を指定するパスのすべての部分より後ろで実行されます。
   134 分割は、値を指定する、パスのすべての部分のあとで発生します。
   135 .RE
   135 .RE
   136 .RS +4
   136 .RS +4
   137 .TP
   137 .TP
   138 .ie t \(bu
   138 .ie t \(bu
   139 .el o
   139 .el o
   140 分割は、同じタグが付けられた複数の関連要素が DTD によって許可されている最初の場所で、値を指定するパスのすべての部分より後ろで実行されます。
   140 分割は、値を指定するパスのすべての部分のあと、関連する同じタグの要素が DTD で複数許可されている最初の位置で発生します。
   141 .RE
   141 .RE
   142 .sp
   142 .sp
   143 .LP
   143 .LP
   144 この XML マニフェストスキーマを使用して、次の例を分析します。
   144 この XML マニフェストスキーマを使って後述の各例を分析します。
   145 .RS +4
   145 .RS +4
   146 .TP
   146 .TP
   147 .ie t \(bu
   147 .ie t \(bu
   148 .el o
   148 .el o
   149 マニフェストは、単一の A ノードで開始されます。
   149 マニフェストは単一の A ノードで始まります。
   150 .RE
   150 .RE
   151 .RS +4
   151 .RS +4
   152 .TP
   152 .TP
   153 .ie t \(bu
   153 .ie t \(bu
   154 .el o
   154 .el o
   155 A ノードは、B ノードの子を 1 つだけ持つことができます。
   155 A ノードは B ノードの子を 1 つだけ持つことができます。
   156 .RE
   156 .RE
   157 .RS +4
   157 .RS +4
   158 .TP
   158 .TP
   159 .ie t \(bu
   159 .ie t \(bu
   160 .el o
   160 .el o
   161 B ノードは、C ノードの子を複数持つことができます。
   161 B ノードは C ノードの子を複数持つことができます。
   162 .RE
   162 .RE
   163 .RS +4
   163 .RS +4
   164 .TP
   164 .TP
   165 .ie t \(bu
   165 .ie t \(bu
   166 .el o
   166 .el o
   167 C ノードは、D ノードの子を複数持つことができます。
   167 C ノードは D ノードの子を複数持つことができます。
   168 .RE
   168 .RE
   169 \fB例1: 単一のパス\fR。AI マニフェストは次のように 1 つの A ノード、1 つの B ノード、1 つの C ノードを持ちます: \fB/A/B/C\fR。\fBadd\fR サブコマンドは、\fIパス\fR \fB/A/B/C/D\fR で発行されます。この場合、C ノードは同じタグが付けられた兄弟を持つことができるパスに属する最初のノードであるため、新しい C ノードが作成されます。新しい D ノードは、子として新しい C ノードに追加されます。その結果、マニフェストの構造は \fB/A/B/{C,C/D}\fR になります。異なる値の D に対して同じコマンドを発行すると、次のように 3 つの C ノードになります: \fB/A/B/{C,C/D,C/D}\fR。
   169 \fB例 1: 単純なパス\fR:AI マニフェストには \fB/A/B/C\fR のように、A ノードが 1 つ、B ノードが 1 つ、C ノードが 1 つ含まれています。\fBadd\fR サブコマンドは、\fIpath\fR が \fB/A/B/C/D\fR として発行されます。この場合、C ノードが同じタグの兄弟を持てるパス内で最初のノードであるため、新しい C ノードが作成されます。新しい D ノードは新しい C ノードの子として追加されます。結果のマニフェストの構造は、\fB/A/B/{C,C/D}\fR となります。同じコマンドを D の値を変えて発行すると、\fB/A/B/{C,C/D,C/D}\fR のように C ノードが 3 個になります。
   170 .sp
   170 .sp
   171 \fB例2: 値を持つパス\fR。AI マニフェストは、1 つの A ノード、1 つの B ノード、2 つの C ノードを持ちます。1 つの C ノードのみが値 1 を持つため、マニフェストの構造は \fB/A/B/{C,C=1}\fR になります。\fBadd\fR サブコマンドは、\fIパス\fR \fB/A/B/C=1/D\fR と \fI値\fR 10 で発行されます。この場合、C に対して値 1 を指定することで一意のノードが識別されるため、新しい C ノードは追加されません。また、値が指定されるブランチの場所またはその前でパスを分割することはできません。このパスを分割できる最初の場所は D です。値 10 を持つ新しい D ノードは、値 1 を持つ C ノードの子として追加されます。その結果、マニフェストの構造は \fB/A/B/{C,C=1/D=10}\fR になります。D に対して値 20 を持つ同じコマンドを発行すると、\fB/A/B/{C,C=1/{D=10,D=20}}\fR になります。
   171 \fB例 2: 値を含むパス\fR:AI マニフェストに A ノードが 1 つ、B ノードが 1 つ、C ノードが 2 つ含まれています。値 1 を持つ C ノードは 1 つだけであるため、マニフェストの構造は \fB/A/B/{C,C=1}\fR となります。\fBadd\fR サブコマンドが、\fIpath\fR が \fB/A/B/C=1/D\fR、\fIvalue\fR が 10 で発行されます。この場合、C に値 1 を指定することで一意のノードが識別され、値が指定されたブランチの位置やそれより前の位置でパスを分割することはできないため、新しい C ノードは追加されません。このパスを分割できる最初の位置は、D です。値 10 の新しい D ノードが、値 1 の C ノードの子として追加されます。結果のマニフェストの構造は、\fB/A/B/{C,C=1/D=10}\fR となります。D の値を 20 として同じコマンドを発行すると、\fB/A/B/{C,C=1/{D=10,D=20}}\fR となります。
   172 .RE
   172 .RE
   173 
   173 
   174 .sp
   174 .sp
   175 .ne 2
   175 .ne 2
   176 .mk
   176 .mk
   177 .na
   177 .na
   178 \fB\fBget [\fB-r\fR | \fB--return-path\fR] \fI path\fR\fR\fR
   178 \fB\fBaimanifest get [-r | --return-path] \fIpath \fR\fR\fR
   179 .ad
   179 .ad
   180 .sp .6
   180 .sp .6
   181 .RS 4n
   181 .RS 4n
   182 要素または属性の値を取得します。空の要素または属性の値に対しては、空の文字列 (\fB""\fR) が表示されます。\fIpath\fR は、一意の既存の要素または属性に一致している必要があります。\fIpath\fR については、「オペランド」の節を参照してください。
   182 要素または属性値を取得します。要素または属性値が空の場合は、空文字列 (\fB""\fR) が表示されます。\fIpath\fR は、既存の一意の要素または属性に一致する必要があります。\fIpath\fR の詳細については、「オペランド」セクションを参照してください。
   183 .sp
   183 .sp
   184 \fB-r\fR オプションは、2 番目に返された文字列として、アクセス先ノードへのパスを返します。詳細は、「戻りパス」の節を参照してください。
   184 \fB-r\fR オプションを指定すると、アクセスしたノードへのパスが、2 つ目の返される文字列として返されます。詳細については、「パスを返す」セクションを参照してください。
   185 .RE
   185 .RE
   186 
   186 
   187 .sp
   187 .sp
   188 .ne 2
   188 .ne 2
   189 .mk
   189 .mk
   190 .na
   190 .na
   191 \fB\fBset [\fB-r\fR | \fB--return-path\fR] \fI path\fR \fIvalue\fR\fR\fR
   191 \fB\fBaimanifest set [-r | --return-path] \fIpath \fR \fIvalue\fR\fR\fR
   192 .ad
   192 .ad
   193 .sp .6
   193 .sp .6
   194 .RS 4n
   194 .RS 4n
   195 既存の要素または属性の値を変更するか、既存の要素の新しい属性を作成します。検証は行われません。
   195 既存の要素または属性値を変更するか、既存の要素の新しい属性を作成します。検証は実行されません。
   196 .sp
   196 .sp
   197 既存の要素の値を変更するときに、\fIpath\fR は一意の既存の要素に一致する必要があります。同じタグが付けられた兄弟を要素が持っている場合は、要素の値または属性を使用するかターゲット要素の子要素を使用してパスを一意にします。「Path オペランド」の節を参照してください。
   197 既存の要素の値を変更する場合は、\fIpath\fR が既存の一意の要素に一致する必要があります。その要素が同じタグの兄弟を持っている場合、要素の値や属性またはターゲット要素の子要素を使ってパスを一意にします。「path オペランド」セクションを参照してください。
   198 .sp
   198 .sp
   199 属性の値を設定するときに、その属性が存在している必要はありませんが、その属性が所属する要素が存在している必要があります。
   199 属性の値を設定する場合は、その属性が存在している必要はありませんが、属性が属す要素は存在している必要があります。
   200 .sp
   200 .sp
   201 \fB-r\fR オプションは、変更された要素へのパスを返します。詳細は、「戻りパス」の節を参照してください。
   201 \fB-r\fR オプションでは、変更された要素へのパスが返されます。詳細については、「パスを返す」セクションを参照してください。
   202 .RE
   202 .RE
   203 
   203 
   204 .sp
   204 .sp
   205 .ne 2
   205 .ne 2
   206 .mk
   206 .mk
   207 .na
   207 .na
   208 \fB\fBload [\fB-i\fR | \fB--incremental\fR] \fI filename\fR\fR\fR
   208 \fB\fBaimanifest load [-i | --incremental] \fIfilename \fR\fR\fR
   209 .ad
   209 .ad
   210 .sp .6
   210 .sp .6
   211 .RS 4n
   211 .RS 4n
   212 XML マニフェストまたは部分的な XML マニフェストをファイル \fI filename\fR から読み込みます。要素の親/子関係を検査する場合を除き、検証は行われません。
   212 ファイル \fIfilename\fR から XML マニフェストまたは部分的な XML マニフェストを読み込みます。要素の親/子関係の検査以外の検証は実行されません。
   213 .sp
   213 .sp
   214 \fB-i\fR オプションが指定されていない場合、既存の XML データはすべて上書きされます。\fBAIM_MANIFEST\fR ファイルのすべてのデータは、\fIfilename\fR ファイルの内容に置き換えられます。\fIfilename\fR ファイルに DTD への \fB!DOCTYPE\fR 参照を含めて、以降の \fBaimanifest\fR コマンドがファイルを変更できるようにする必要があります。
   214 \fB-i\fR オプションが指定されなかった場合、既存の XML データをすべて上書きします。\fBAIM_MANIFEST\fR ファイル内のデータはすべて、\fIfilename\fR ファイルの内容で置換されます。\fIfilename\fR ファイルには、後続の \fBaimanifest\fR コマンドがファイルを変更できるように、DTD への \fB!DOCTYPE\fR 参照が含まれている必要があります。
   215 .sp
   215 .sp
   216 \fB-i\fR オプションが指定されている場合、新しいデータを追加する前に \fBAIM_MANIFEST\fR データを消去しないでください。その代わりに、既存の XML データを使用して、少しずつ新しいデータを挿入またはマージしてください。\fBAIM_MANIFEST\fR の \fB!DOCTYPE\fR 参照によって指定された DTD は、\fIfilename\fR データを統合する方法と場所を決定するために使用されます。\fB!DOCTYPE\fR 参照が見つからない場合は、\fB/usr/share/install/ai.dtd\fR の AI マニフェスト DTD が使用されます。\fIfilename\fR のデータを DTD で調整できない場合は、ゼロ以外のエラーステータスが返されます。
   216 \fB-i\fR オプションが指定された場合、新しいデータを追加する前に \fBAIM_MANIFEST\fR のデータをクリアーしません。代わりに、新しいデータの挿入または新しいデータと既存の XML データとのマージを増分的に行います。\fBAIM_MANIFEST\fR の \fB!DOCTYPE\fR 参照によって指定される DTD に基づいて、\fIfilename\fR のデータをマージする場所と方法が決定されます。\fB!DOCTYPE\fR 参照が見つからない場合は、\fB/usr/share/install/ai.dtd\fR にある AI マニフェスト DTD が使用されます。\fIfilename\fR のデータが DTD と矛盾する場合は、ゼロ以外のエラーステータスが返されます。
   217 .sp
   217 .sp
   218 .LP
   218 .LP
   219 次の事項は、新しいデータが \fBAIM_MANIFEST\fR マニフェストに挿入される場所に影響します。
   219 次の各考慮点は、\fBAIM_MANIFEST\fR マニフェスト内のどこに新しいデータが挿入されるかに影響を与えます。
   220 .RS +4
   220 .RS +4
   221 .TP
   221 .TP
   222 .ie t \(bu
   222 .ie t \(bu
   223 .el o
   223 .el o
   224 \fBAIM_MANIFEST\fR データパスと \fIfilename\fR データパスの先頭近くにある要素のタグが一致している度合い
   224 \fBAIM_MANIFEST\fR のデータパスと \fIfilename\fR のデータパスの先頭付近の要素のタグが、どの程度まで一致するか
   225 .RE
   225 .RE
   226 .RS +4
   226 .RS +4
   227 .TP
   227 .TP
   228 .ie t \(bu
   228 .ie t \(bu
   229 .el o
   229 .el o
   230 それらの \fBAIM_MANIFEST\fR データ要素で許可されている子要素の種類
   230 それらの \fBAIM_MANIFEST\fR データ要素の配下ではどの子要素が許可されるか
   231 .RE
   231 .RE
   232 .RS +4
   232 .RS +4
   233 .TP
   233 .TP
   234 .ie t \(bu
   234 .ie t \(bu
   235 .el o
   235 .el o
   236 同じタグが付けられた兄弟要素が許可されている場所
   236 同じタグの兄弟要素が許可される場所
   237 .RE
   237 .RE
   238 .RS +4
   238 .RS +4
   239 .TP
   239 .TP
   240 .ie t \(bu
   240 .ie t \(bu
   241 .el o
   241 .el o
   242 子を持たない \fBAIM_MANIFEST\fR データノードが存在している場所
   242 子を持たない \fBAIM_MANIFEST\fR データノードの配置場所
   243 .RE
   243 .RE
   244 .sp
   244 .sp
   245 .LP
   245 .LP
   246 \fIfilename\fR データの各要素が処理されるときに次のすべての条件が真である場合、通常は、新しいノードが \fBAIM_MANIFEST\fR データのこの要素に対して作成されることはありません。その代わりに、既存のノードが新しいデータに置き換えられます。
   246 \fIfilename\fR データの各要素が処理される際には、次の条件がすべて真であれば一般に、\fBAIM_MANIFEST\fR データ内でこの要素に対応する新しいノードは作成されません。代わりに、既存のノードが新しいデータで置き換えられます。
   247 .RS +4
   247 .RS +4
   248 .TP
   248 .TP
   249 .ie t \(bu
   249 .ie t \(bu
   250 .el o
   250 .el o
   251 両方のセットのデータに、タグと場所が同じノードが含まれます。
   251 両方のデータセットに、同じタグのノードが同じ位置に含まれている。
   252 .RE
   252 .RE
   253 .RS +4
   253 .RS +4
   254 .TP
   254 .TP
   255 .ie t \(bu
   255 .ie t \(bu
   256 .el o
   256 .el o
   257 \fBAIM_MANIFEST\fR 内で \fB!DOCTYPE\fR 参照によって指定される DTD は、同じタグが付けられた兄弟要素としてこの両方のノードが共存することを許可しません。
   257 \fBAIM_MANIFEST\fR の \fB!DOCTYPE\fR 参照で指定される DTD が、これらのノードの両方が同じタグの兄弟要素として一緒に存在することを許可しない。
   258 .RE
   258 .RE
   259 .RS +4
   259 .RS +4
   260 .TP
   260 .TP
   261 .ie t \(bu
   261 .ie t \(bu
   262 .el o
   262 .el o
   263 \fIfilename\fR データ要素は子を持ちます。
   263 \fIfilename\fR データ要素が子を持っている。
   264 .RE
   264 .RE
   265 要素が \fIfilename\fR から挿入されるときに、新しいノードの作成が開始される場所の \fBAIM_MANIFEST\fR データルートにできるかぎり近い位置で分割が実行されます。分割の最初の新しいノードは、同じタグが付けられた兄弟要素が許可されているもっとも早い場所に作成されます。または、同じタグが付けられた要素が \fBAIM_MANIFEST\fR 内に存在しない場合には、もっとも早い適切な地点に作成されます。
   265 \fIfilename\fR からの要素を挿入する場合、新しいノードの作成が開始される分割は、\fBAIM_MANIFEST\fR データのルートにできるだけ近い位置で行われます。分割の最初の新しいノードは、同じタグの兄弟要素が許可される位置の中でもっとも早い位置で作成されますが、\fBAIM_MANIFEST\fR 内に同じタグの要素が存在していない場合はもっとも早い適切な位置で作成されます。
   266 .sp
   266 .sp
   267 .LP
   267 .LP
   268 この XML マニフェストスキーマを使用して、次の例を分析します。
   268 この XML マニフェストスキーマを使って後述の各例を分析します。
   269 .RS +4
   269 .RS +4
   270 .TP
   270 .TP
   271 .ie t \(bu
   271 .ie t \(bu
   272 .el o
   272 .el o
   273 マニフェストは、単一の A ノードで開始されます。
   273 マニフェストは単一の A ノードで始まります。
   274 .RE
   274 .RE
   275 .RS +4
   275 .RS +4
   276 .TP
   276 .TP
   277 .ie t \(bu
   277 .ie t \(bu
   278 .el o
   278 .el o
   279 A ノードは、B ノードの子を 1 つだけ持つことができます。
   279 A ノードは B ノードの子を 1 つだけ持つことができます。
   280 .RE
   280 .RE
   281 .RS +4
   281 .RS +4
   282 .TP
   282 .TP
   283 .ie t \(bu
   283 .ie t \(bu
   284 .el o
   284 .el o
   285 B ノードは、C ノードの子を複数持つことができます。
   285 B ノードは C ノードの子を複数持つことができます。
   286 .RE
   286 .RE
   287 .RS +4
   287 .RS +4
   288 .TP
   288 .TP
   289 .ie t \(bu
   289 .ie t \(bu
   290 .el o
   290 .el o
   291 B ノードは、E ノードの子を 1 つだけ持つことができます。
   291 B ノードは E ノードの子を 1 つだけ持つことができます。
   292 .RE
   292 .RE
   293 .sp
   293 .sp
   294 .LP
   294 .LP
   295 \fB例1: 同じタグが付けられた要素の挿入\fR。\fBAIM_MANIFEST\fR の内容が \fB/A/B/C1/D1\fR で \fIfilename\fR の内容が \fB/A/B/C2/D2\fR の場合、\fBload -i\fR コマンド後の \fBAIM_MANIFEST\fR ファイルの内容は \fB/A/B/{C1/D1,C2/D2}\fR です。C ノードは、新しいノードを追加できる最初の場所です。\fIfilename\fR データの C ノードが、\fBAIM_MANIFEST\fR データ内の既存の C ノードの後に追加されます。2 つの A 要素が異なる値を持っているか、2 つの B 要素が異なる値を持っている場合、\fIfilename\fR 要素の値は \fBAIM_MANIFEST\fR 要素の値を置き換えます。2 つの A 要素が異なる属性を持っているか、2 つの B 要素が異なる属性を持っている場合、属性の値はマージされます。
   295 \fB例 1: 同じタグの要素の挿入\fR:\fBAIM_MANIFEST\fR の内容が \fB/A/B/C1/D1\fR、\fIfilename\fR の内容が \fB/A/B/C2/D2\fR である場合に \fBload -i\fR コマンドを実行すると、\fBAIM_MANIFEST\fR ファイルの内容は \fB/A/B/{C1/D1,C2/D2}\fR になります。C ノードが、新しいノードを追加できる最初の位置です。\fIfilename\fR データからの C ノードは、\fBAIM_MANIFEST\fR データ内の既存の C ノードのあとに追加されます。2 つの A 要素の値が異なる場合や、2 つの B 要素の値が異なる場合、\fIfilename\fR 要素の値で \fBAIM_MANIFEST\fR 要素の値が置き換えられます。2 つの A 要素の属性が異なる場合や 2 つの B 要素の属性が異なる場合は、属性値がマージされます。
   296 .RS +4
   296 .RS +4
   297 .TP
   297 .TP
   298 .ie t \(bu
   298 .ie t \(bu
   299 .el o
   299 .el o
   300 \fBAIM_MANIFEST\fR ファイルと \fIfilename\fR ファイルの両方に存在する A と B の属性は、マージされたファイルでは \fIfilename\fR ファイルの値になります。
   300 \fBAIM_MANIFEST\fR ファイルと \fIfilename\fR ファイルの両方に存在している A と B の属性は、マージ後のファイルでは \fIfilename\fR ファイルからの値を持ちます。
   301 .RE
   301 .RE
   302 .RS +4
   302 .RS +4
   303 .TP
   303 .TP
   304 .ie t \(bu
   304 .ie t \(bu
   305 .el o
   305 .el o
   306 \fBAIM_MANIFEST\fR ファイルまたは \fIfilename\fR ファイルの両方ではなくどちらかにのみ存在する A と B の属性は、マージされたファイル内ではすべて保持されます。
   306 \fBAIM_MANIFEST\fR ファイル、\fIfilename\fR ファイルのいずれかに存在するが両方のファイルには存在していない A と B の属性は、マージ後のファイルではすべて保持されます。
   307 .RE
   307 .RE
   308 \fB例 2: 異なるタグが付けられた要素の挿入\fR。\fBAIM_MANIFEST\fR の内容が \fB/A/B/C/D\fR で \fIfilename\fR の内容が \fB/A/B/E/F\fR の場合、\fBload -i\fR コマンド後の \fBAIM_MANIFEST\fR ファイルの内容は \fB/A/B/{E/F,C/D}\fR です。E ノードは、DTD によって許可されている最初の場所に追加されます。要素 A と要素 B の値は \fIfilename\fR の値で、A と B の属性は、上の例 1 で説明されているように \fIfilename\fR から \fBAIM_MANIFEST\fR にマージされます。
   308 \fB例 2: 異なるタグの要素の挿入\fR。\fBAIM_MANIFEST\fR の内容が \fB/A/B/C/D\fR、\fIfilename\fR の内容が \fB/A/B/E/F\fR である場合に \fBload -i\fR コマンドを実行すると、\fBAIM_MANIFEST \fR ファイルの内容は \fB/A/B/{E/F,C/D}\fR になります。E ノードは、このノードが DTD によって許可される最初の位置に追加されます。要素 A と B の値は \fIfilename\fR からの値となり、A と B の属性は、前述の例 1 で説明したように \fIfilename\fR から \fBAIM_MANIFEST\fR にマージされます。
   309 .sp
   309 .sp
   310 場合によっては、正しいマージ場所を決定できないことがあります。これは、マージするノードをたどるために必要な兄弟がまだ追加されていない場合に起こります。この問題を回避するには、複数のノードまたはサブツリーを、DTD によって指定された順序で共通の親ノードに追加します。新しい兄弟間で正しい場所が決定できない場合、ノードはそれらの兄弟のリストの最後に配置されます。
   310 正しいマージ位置を決定できない場合があります。これが起こる可能性があるのは、マージされるノードのあとに続く必要のある兄弟がまだ追加されていない場合です。この問題を避けるには、複数のノードまたはサブツリーを共通の親ノードに DTD で規定された順番で追加します。ノードは、その一連の新しい兄弟の中での適切な位置を決定できない場合には、それらの兄弟の末尾に配置されます。
   311 .RE
   311 .RE
   312 
   312 
   313 .sp
   313 .sp
   314 .ne 2
   314 .ne 2
   315 .mk
   315 .mk
   316 .na
   316 .na
   317 \fB\fBvalidate\fR\fR
   317 \fB\fBaimanifest validate\fR\fR
   318 .ad
   318 .ad
   319 .sp .6
   319 .sp .6
   320 .RS 4n
   320 .RS 4n
   321 \fB!DOCTYPE\fR 文で参照されている DTD に対して \fBAIM_MANIFEST\fR マニフェストを検証します。エラーは\fB標準エラー出力\fRに出力されます。検証が失敗した場合、ゼロ以外のエラーステータスが返されます。
   321 \fB!DOCTYPE\fR 文で参照された DTD に基づいて \fBAIM_MANIFEST\fR マニフェストを検証します。エラーは \fBstderr\fR に表示されます。検証が失敗した場合はゼロ以外のステータスが返されます。
   322 .RE
   322 .RE
   323 
   323 
   324 .SH オペランド
   324 .SH オペランド
   325 .sp
   325 .sp
   326 .LP
   326 .LP
   327 次のオペランドは必須です。
   327 次のオペランドは必須です。
   328 .SS "Filename オペランド"
   328 .SS "filename オペランド"
   329 .sp
   329 .sp
   330 .LP
   330 .LP
   331 \fBload\fR サブコマンドには \fIfilename\fR オペランドが必要です。このオペランドは、\fBAIM_MANIFEST\fR マニフェストに読み込む完全なマニフェストまたは部分的なマニフェストの名前です。
   331 \fBload\fR サブコマンドには、\fIfilename\fR オペランド (\fBAIM_MANIFEST\fR マニフェストに読み込む完全または部分的なマニフェストの名前) が必要です。
   332 .SS "Value オペランド"
   332 .SS "value オペランド"
   333 .sp
   333 .sp
   334 .LP
   334 .LP
   335 \fBadd\fR と \fBset\fR サブコマンドには、\fIvalue\fR オペランドが必要です。\fIvalue\fR オペランドは、\fIpath\fR オペランドによって指定された要素または属性の有効な値です。
   335 \fBadd\fR および \fBset\fR サブコマンドでは \fIvalue\fR オペランドが必要です。\fIvalue\fR オペランドは、\fIpath\fR オペランドで指定された要素または属性の有効な値です。
   336 .SS "Path オペランド"
   336 .SS "path オペランド"
   337 .sp
   337 .sp
   338 .LP
   338 .LP
   339 \fBaimanifest\fR コマンドの \fBadd\fR、\fBget\fR、\fBset\fR サブコマンドには、\fIpath\fR オペランドが必要です。パスは、要素と属性の XML 階層内のノードを定義します。
   339 \fBaimanifest\fR コマンドの \fBadd\fR、\fBget\fR、および \fBset\fR サブコマンドでは \fIpath\fR オペランドが必要です。パスは、要素と属性から成る XML 階層内のノードを定義します。
   340 .sp
   340 .sp
   341 .LP
   341 .LP
   342 XML 要素の階層構造は、XML ツリーとも呼ばれます。次の部分的な AI マニフェストでは、\fBauto_install\fR 要素はツリーのルートで、\fBai_instance\fR 要素と \fBsoftware\fR 要素はブランチ、またはサブツリーのルートです。
   342 XML 要素の階層構造は XML ツリーとも呼ばれます。次の部分的な AI マニフェストの場合、\fBauto_install\fR 要素がツリーのルート、\fBai_instance\fR 要素と \fBsoftware\fR 要素がサブツリーのブランチまたはルートです。
   343 .sp
   343 .sp
   344 .in +2
   344 .in +2
   345 .nf
   345 .nf
   346 <auto_install>
   346 <auto_install>
   347   <ai_instance>
   347   <ai_instance>
   351 .fi
   351 .fi
   352 .in -2
   352 .in -2
   353 
   353 
   354 .sp
   354 .sp
   355 .LP
   355 .LP
   356 \fBaimanifest\fR パス構文では、スラッシュ文字 (/) を使用してツリー構造のブランチを示します。現在の例では、\fBsoftware\fR 要素へのパスは \fB/auto_install/ai_instance/software\fR です。
   356 \fBaimanifest\fR パス構文では、スラッシュ文字 (/) を使ってツリー構造内の各ブランチを示します。現在の例では、\fBsoftware\fR 要素へのパスは \fB/auto_install/ai_instance/software\fR です。
   357 .sp
   357 .sp
   358 .LP
   358 .LP
   359 属性は 1 つの要素にバインドされます。\fBaimanifest\fR パス構文では、アットマーク記号 (@) を使用して属性名を示します。\fBsoftware\fR 要素の \fBtype\fR 属性へのパスは、\fB/auto_install/ai_instance/software@type\fR です。
   359 属性は要素にバインドされます。\fBaimanifest\fR パス構文では、アットマーク記号 (@) を使って属性名を識別します。\fBsoftware\fR 要素の \fBtype\fR 属性へのパスは、\fB/auto_install/ai_instance/software@type\fR です。
   360 .sp
   360 .sp
   361 .LP
   361 .LP
   362 \fBaimanifest\fR の \fIpath\fR オペランドは、単一の要素に対応している必要があります。必要に応じて、要素と属性の値を含めてパスを一意にします。たとえば、次の部分的な AI マニフェストで定義された 2 番目のスライスに対してサイズを指定するには、パス \fB/auto_install/ai_instance/target/disk/slice[@name="4"]/size@val\fR を使用して、サイズを指定するスライスを特定します。
   362 \fBaimanifest\fR の \fIpath\fR オペランドは単一の要素に対応している必要があります。要素や属性値を必要に応じて含めることで、パスを一意にします。たとえば、次の部分的な AI マニフェストで定義されている 2 番目のスライスのサイズを指定するために、パス \fB/auto_install/ai_instance/target/disk/slice[@name="4"]/size@val\fR を使ってサイズを指定するスライスを識別できます。
   363 .sp
   363 .sp
   364 .in +2
   364 .in +2
   365 .nf
   365 .nf
   366 <auto_install>
   366 <auto_install>
   367   <ai_instance>
   367   <ai_instance>
   376 .fi
   376 .fi
   377 .in -2
   377 .in -2
   378 
   378 
   379 .sp
   379 .sp
   380 .LP
   380 .LP
   381 相対パスは許可されています。前の段落で示された \fBslice\fR のパスの指定は、4 の \fBname\fR 属性値を持つ \fBslice\fR が 1 つしかないため、\fBai_instance\fR、\fBtarget\fR、\fBdisk\fR、または \fBslice\fR で開始できます。たとえば、パス \fBslice[@name="4"]/size@val\fR を使用できます。
   381 相対パスは許可されます。前の段落で示した \fBslice\fR のパスは、\fBname\fR 属性値が 4 の \fBslice\fR は 1 つだけであるため、\fBai_instance\fR、\fBtarget\fR、\fBdisk\fR、または \fBslice\fR から指定を始めることもできます。たとえば、パス \fBslice[@name="4"]/size@val\fR を使用できます。
   382 .sp
   382 .sp
   383 .LP
   383 .LP
   384 \fIパス\fR内の\fI値\fRにスラッシュ文字が含まれる場合、\fB/name="pkg:/entire"\fR のように、その値を一重引用符または二重引用符で囲む必要があります。
   384 \fIpath\fR 内のある \fIvalue\fR にスラッシュ文字が含まれている場合、\fB/name="pkg:/entire"\fR のようにその値を単一引用符か二重引用符で囲む必要があります。
   385 .sp
   385 .sp
   386 .LP
   386 .LP
   387 \fBaimanifest\fR の呼び出しがシェルスクリプト内で行われる場合、引用符を含む値に対してさらに特別な処理が必要になる場合があります。シェルスクリプト内では、\fBaimanifest\fR パス値の引用符の前にバックスラッシュ文字 (\e) を追加してエスケープし、シェルが引用符を削除または解釈しないようにすることが必要になる場合があります。使用しているシェルの規則を確認してください。次の例は、\fBksh93\fR スクリプト内のスラッシュ文字が含まれる値を示しています。
   387 \fBaimanifest\fR がシェルスクリプト内で呼び出される場合には、引用符を含む値にさらに特別な処置が必要になる場合があります。シェルスクリプト内では、\fBaimanifest\fR パス値に含まれる引用符の前にバックスラッシュ文字 (\e) を付けて、シェルが引用符を削除したり解釈したりしないようにエスケープが必要になる場合があります。使用するシェルの規則を確認してください。次の例は、\fBksh93\fR スクリプトのスラッシュ文字付きの値を示しています。
   388 .sp
   388 .sp
   389 .in +2
   389 .in +2
   390 .nf
   390 .nf
   391 /usr/bin/aimanifest get software_data[name=\e"pkg:/entire\e"]@action
   391 /usr/bin/aimanifest get software_data[name=\e"pkg:/entire\e"]@action
   392 .fi
   392 .fi
   393 .in -2
   393 .in -2
   394 
   394 
   395 .sp
   395 .sp
   396 .LP
   396 .LP
   397 このマニュアルページでは、\fBaimanifest\fR がスクリプトまたは特定のシェル内で呼び出されることを前提としないため、このマニュアルページ内のほとんどの例でバックスラッシュエスケープ文字を省略しています。AI 派生マニフェストスクリプトについては、『\fIInstalling Oracle Solaris 11 Systems\fR』を参照してください。
   397 このマニュアルページのほとんどの例では、このマニュアルページがスクリプト内や特定のシェル内で \fBaimanifest\fR が呼び出されることを想定していないため、バックスラッシュエスケープ文字が省略されています。AI 派生マニフェストのスクリプトについては、『\fIOracle Solaris 11 システムのインストール\fR』を参照してください。
   398 .sp
   398 .sp
   399 .LP
   399 .LP
   400 次のブランチの形式は、要素または要素属性へのパスを作成する方法を示しています。
   400 次の各形式の分岐は、要素や要素属性へのパスの構築方法を示しています。
   401 .sp
   401 .sp
   402 .ne 2
   402 .ne 2
   403 .mk
   403 .mk
   404 .na
   404 .na
   405 \fB\fB/A\fR\fR
   405 \fB\fB/A\fR\fR
   406 .ad
   406 .ad
   407 .sp .6
   407 .sp .6
   408 .RS 4n
   408 .RS 4n
   409 \fBA\fR は要素のタグ名で、\fB/auto_install\fR のようになります。このブランチ指定は、単純ブランチとも呼ばれます。単純ブランチのみを持つパスは、単純パスと呼ばれます。
   409 \fBA\fR は要素のタグ名です (例、\fB/auto_install\fR)。この分岐指定は単純な分岐とも呼ばれます。単純な分岐のみだけのパスは、単純なパスと呼ばれます。
   410 .RE
   410 .RE
   411 
   411 
   412 .sp
   412 .sp
   413 .ne 2
   413 .ne 2
   414 .mk
   414 .mk
   415 .na
   415 .na
   416 \fB\fB/A=\fIvalue\fR\fR\fR
   416 \fB\fB/A=\fIvalue\fR\fR\fR
   417 .ad
   417 .ad
   418 .sp .6
   418 .sp .6
   419 .RS 4n
   419 .RS 4n
   420 \fBA\fR は要素のタグ名、\fIvalue\fR はその要素の値で、\fB/name="pkg:/entire"\fR のようになります。
   420 \fBA\fR は要素のタグ名、\fIvalue\fR はその要素の値です (例: \fB/name="pkg:/entire"\fR)。
   421 .RE
   421 .RE
   422 
   422 
   423 .sp
   423 .sp
   424 .ne 2
   424 .ne 2
   425 .mk
   425 .mk
   426 .na
   426 .na
   427 \fB\fB/A[B/C=\fIvalue\fR]\fR\fR
   427 \fB\fB/A[B/C=\fIvalue\fR]\fR\fR
   428 .ad
   428 .ad
   429 .sp .6
   429 .sp .6
   430 .RS 4n
   430 .RS 4n
   431 \fBA\fR は要素、\fBB\fR は \fBA\fR の子である要素、\fBC\fR は \fBB\fR の子である要素、\fIvalue\fR は \fBC\fR 要素の値です。このパス形式は、値が \fIvalue\fR の孫要素 \fBC\fR を持つ \fBA\fR 要素を指定します。たとえば、AI マニフェストに複数のソフトウェアセクションがある場合、この形式を使用すると、次のパスのように、パッケージ \fBpkg:/entire\fR をインストールするソフトウェアセクションに対する操作が可能になります。
   431 \fBA\fR は要素、\fBB\fR は \fBA\fR の子である要素、\fBC\fR は \fBB\fR の子である要素、\fIvalue\fR は \fBC\fR 要素の値です。このパス形式は、値が \fIvalue\fR の孫要素 \fBC\fR を持つ \fBA\fR 要素を指定します。たとえば、AI マニフェストに software セクションが複数含まれている場合には、この形式を使用して、次のパスのようにパッケージ \fBpkg:/entire\fR をインストールする software セクションを処理対象にできます。
   432 .sp
   432 .sp
   433 .in +2
   433 .in +2
   434 .nf
   434 .nf
   435 software[software_data/name="pkg:/entire"]
   435 software[software_data/name="pkg:/entire"]
   436 .fi
   436 .fi
   444 .na
   444 .na
   445 \fB\fB/A[@Aattr=\fIvalue\fR]\fR\fR
   445 \fB\fB/A[@Aattr=\fIvalue\fR]\fR\fR
   446 .ad
   446 .ad
   447 .sp .6
   447 .sp .6
   448 .RS 4n
   448 .RS 4n
   449 \fBA\fR は要素、\fBAattr\fR は \fBA\fR の属性、\fIvalue\fR は \fBAattr\fR 属性の値です。このパス形式は、値が \fIvalue\fR の属性 \fBAattr\fR を持つ \fBA\fR 要素を指定します。たとえば、AI マニフェストが複数のスライスを定義している場合、この形式を使用すると、\fBslice[@name="4"]\fR のように、4 の \fBname\fR 値を持つスライスに対する操作が可能になります。
   449 \fBA\fR は要素、\fBAattr\fR は \fBA\fR の属性、\fIvalue\fR は \fBAattr\fR 属性の値です。このパス形式は、値 \fIvalue\fR の属性 \fBAattr\fR を持つ \fBA\fR 要素を指定します。たとえば、AI マニフェストにスライスが複数定義されている場合には、この形式を使用して、\fBslice[@name="4"]\fR のように \fBname\fR の値が 4 のスライスを処理対象にできます
   450 .RE
   450 .RE
   451 
   451 
   452 .sp
   452 .sp
   453 .ne 2
   453 .ne 2
   454 .mk
   454 .mk
   455 .na
   455 .na
   456 \fB\fB/A[B/C@Cattr=\fIvalue\fR]\fR\fR
   456 \fB\fB/A[B/C@Cattr=\fIvalue\fR]\fR\fR
   457 .ad
   457 .ad
   458 .sp .6
   458 .sp .6
   459 .RS 4n
   459 .RS 4n
   460 \fBA\fR は要素、\fBB\fR は \fBA\fR の子、\fBC\fR は \fBB\fR の子、\fBCattr\fR は \fBC\fR の属性、\fIvalue\fR は \fBCattr\fR 属性の値です。このパス形式は、値が \fIvalue\fR の属性 \fBCattr\fR を持つ孫要素 \fBC\fR を持つ \fBA\fR 要素を指定します。たとえば、AI マニフェストに複数のソフトウェアセクションがある場合、この形式を使用すると、パス \fBsoftware[source/publisher@name="solaris"]\fR のように、名前の値が \fBsolaris\fR のパブリッシャーセクションを持つソフトウェアセクションに対する操作が可能になります。
   460 \fBA\fR は要素、\fBB\fR は \fBA\fR 要素の子、\fBC\fR は \fBB\fR 要素の子、\fBCattr\fR は \fBC\fR の属性、\fIvalue\fR は \fBCattr\fR 属性の値です。このパス形式は、値 \fIvalue\fR の属性 \fBCattr\fR を持つ孫要素 \fBC\fR を持つ \fBA\fR 要素を指定します。たとえば、AI マニフェストに複数のソフトウェアセクションがある場合、この形式を使用すると、パス \fBsoftware[source/publisher@name="solaris"]\fR のように、名前の値が \fBsolaris\fR のパブリッシャーセクションを持つソフトウェアセクションに対する操作が可能になります。
   461 .RE
   461 .RE
   462 
   462 
   463 .sp
   463 .sp
   464 .ne 2
   464 .ne 2
   465 .mk
   465 .mk
   466 .na
   466 .na
   467 \fB\fB/A[1]\fR\fR
   467 \fB\fB/A[1]\fR\fR
   468 .ad
   468 .ad
   469 .sp .6
   469 .sp .6
   470 .RS 4n
   470 .RS 4n
   471 \fB/A[1]\fR は、マニフェスト内の \fBA\fR 要素の最初のインスタンスを指定します。たとえば、AI マニフェストに複数のソフトウェアセクションがある場合、この形式を使用すると、\fB/auto_install[1]/ai_instance[1]/software[2]\fR のように、2 番目のソフトウェアセクションに対する操作が可能になります。
   471 \fB/A[1]\fR は、マニフェスト内での \fBA\fR 要素の最初のインスタンスを指定します。たとえば、AI マニフェストに software セクションが複数含まれている場合には、この形式を使用して、\fB/auto_install[1]/ai_instance[1]/software[2]\fR のように 2 番目の software セクションを処理対象にできます。
   472 .sp
   472 .sp
   473 これは、\fB-r\fR オプションによって返されるパスの形式です。「戻りパス」の節を参照してください。
   473 これが、\fB-r\fR オプションで返されるパスの形式です。「パスを返す」セクションを参照してください。
   474 .RE
   474 .RE
   475 
   475 
   476 .sp
   476 .sp
   477 .ne 2
   477 .ne 2
   478 .mk
   478 .mk
   479 .na
   479 .na
   480 \fB\fB/A@Aattr\fR\fR
   480 \fB\fB/A@Aattr\fR\fR
   481 .ad
   481 .ad
   482 .sp .6
   482 .sp .6
   483 .RS 4n
   483 .RS 4n
   484 このパスは、\fBA\fR 要素の \fBAattr\fR 属性を指定します。このパスは、\fBA\fR 要素ではなく \fBAattr\fR 属性を指定します。この形式を使用して、\fBAattr\fR 属性を設定または取得します。
   484 このパスは、\fBA\fR 要素の \fBAattr\fR 属性を指定します。このパスが指定するのは、\fBA\fR 要素ではなく \fBAattr\fR 属性です。この形式は、\fBAattr\fR 属性を設定または取得する場合に使用します。
   485 .RE
   485 .RE
   486 
   486 
   487 .sp
   487 .sp
   488 .ne 2
   488 .ne 2
   489 .mk
   489 .mk
   490 .na
   490 .na
   491 \fB\fB/A[B/C=\fIvalue\fR]@Aattr\fR\fR
   491 \fB\fB/A[B/C=\fIvalue\fR]@Aattr\fR\fR
   492 .ad
   492 .ad
   493 .sp .6
   493 .sp .6
   494 .RS 4n
   494 .RS 4n
   495 このパスは、値が \fIvalue\fR の孫属性 \fBC\fR を持つ \fBA\fR 要素の \fBAattr\fR 属性を指定します。
   495 このパスは、値 \fIvalue\fR の孫要素 \fBC\fR を持つ \fBA\fR 要素の \fBAattr\fR 属性を指定します。
   496 .RE
   496 .RE
   497 
   497 
   498 .sp
   498 .sp
   499 .ne 2
   499 .ne 2
   500 .mk
   500 .mk
   501 .na
   501 .na
   502 \fB\fB/A[B/C@Cattr=\fIvalue\fR]@Aattr \fR\fR
   502 \fB\fB/A[B/C@Cattr=\fIvalue\fR]@Aattr \fR\fR
   503 .ad
   503 .ad
   504 .sp .6
   504 .sp .6
   505 .RS 4n
   505 .RS 4n
   506 このパスは、値が \fIvalue\fR の \fBCattr\fR 属性を持つ孫要素 \fBC\fR を持つ \fBA\fR 要素の \fBAattr\fR 属性を指定します。
   506 このパスは、値 \fIvalue\fR の属性 \fBCattr\fR を持つ孫要素 \fBC\fR を持つ \fBA\fR 要素の \fBAattr\fR 属性を指定します。
   507 .RE
   507 .RE
   508 
   508 
   509 .sp
   509 .sp
   510 .ne 2
   510 .ne 2
   511 .mk
   511 .mk
   512 .na
   512 .na
   513 \fB\fB/A/B=\fIvalue\fR@Battr\fR\fR
   513 \fB\fB/A/B=\fIvalue\fR@Battr\fR\fR
   514 .ad
   514 .ad
   515 .sp .6
   515 .sp .6
   516 .RS 4n
   516 .RS 4n
   517 このパスは、値が \fIvalue\fR の \fBB\fR 要素の \fBBattr\fR 属性を指定します。\fBB\fR 要素は \fBA\fR 要素の子です。
   517 このパスは、値 \fIvalue\fR の \fBB\fR 要素の \fBBattr\fR 属性を指定します。\fBB\fR 要素は \fBA\fR 要素の子です。
   518 .RE
   518 .RE
   519 
   519 
   520 .SH 戻りパス
   520 .SH パスを返す
   521 .sp
   521 .sp
   522 .LP
   522 .LP
   523 \fB-r\fR オプションを使用すると、\fBadd\fR、\fBget\fR、\fBset\fR サブコマンドは、そのサブコマンドによって作成またはアクセスされた要素のアドレスを返します。この返されたアドレスは、ノード ID のチェーンの形式になります。この返されたアドレスを使用すると、同じ要素に関連付けられた値が変更された場合であっても、その値に再度アクセスできます。
   523 \fBadd\fR、\fBget\fR、および \fBset\fR サブコマンドで \fB-r\fR オプションを使用すると、サブコマンドによって作成またはアクセスされた要素のアドレスが返されます。この返されるアドレスの形式は、ノード ID のチェーンです。この返されたアドレスを使用すれば、その要素に関連付けられた値が変更されていても、同じ要素に再びアクセスできます。
   524 .sp
   524 .sp
   525 .LP
   525 .LP
   526 次の例は、\fB-r\fR オプションによって返されたアドレスが、要素と属性の値を指定するパスよりはるかに簡単に使用できることを示しています。次のノードツリーで開始します。
   526 後述の例から、\fB-r\fR オプションで返されるアドレスのほうが、要素や属性値を指定するパスよりもずっと使いやすいことがわかります。次のノードツリーから始めます。
   527 .sp
   527 .sp
   528 .in +2
   528 .in +2
   529 .nf
   529 .nf
   530         auto_install
   530         auto_install
   531              |
   531              |
   542 .fi
   542 .fi
   543 .in -2
   543 .in -2
   544 
   544 
   545 .sp
   545 .sp
   546 .LP
   546 .LP
   547 \fBname\fR 属性値が \fBdata2\fR で \fBname_type\fR 属性値が \fBvolid\fR の新しい \fBdisk\fR ノードを追加します。
   547 \fBname\fR 属性値が \fBdata2\fR、\fBname_type\fR 属性値が \fBvolid\fR の新しい \fBdisk\fR ノードを追加します:
   548 .sp
   548 .sp
   549 .in +2
   549 .in +2
   550 .nf
   550 .nf
   551         auto_install
   551         auto_install
   552              |
   552              |
   564 .fi
   564 .fi
   565 .in -2
   565 .in -2
   566 
   566 
   567 .sp
   567 .sp
   568 .LP
   568 .LP
   569 1 つの属性を持つ新しい \fBdisk_name\fR 要素は、単一のコマンドで簡単に追加できます。2 番目の属性と 3 番目の属性を追加するには、変更する \fBdisk_name\fR 要素を指定する必要があります。同じノードに複数回アクセスするための次の 2 つの方法を比較します。
   569 属性が 1 つ新しい \fBdisk_name\fR 要素は、単一のコマンドを使って容易に追加できます。2 番目や 3 番目の属性を追加するには、変更する \fBdisk_name\fR 要素を指定する必要があります。同じノードに複数回アクセスするための次の 2 つの方法を比較してください。
   570 .SS "値を使用したパスの指定"
   570 .SS "値を使用したパスの指定"
   571 .sp
   571 .sp
   572 .LP
   572 .LP
   573 この例のコマンドは、値を使用してパスを指定します。最初のコマンドで一意の値を割り当て、以降のコマンドではその値を使用して一意のパスを指定できるようにする必要があります。この方法では、値が変更された場合に正しくない結果が生成される可能性があります。
   573 この例のコマンドでは、値を使ってパスを指定しています。最初のコマンドで一意の値を代入することにより、後続のコマンドでその値を使って一意のパスを指定できるようにする必要があります。この方法では、値が変更されると間違った結果が生成される可能性があります。
   574 .sp
   574 .sp
   575 .in +2
   575 .in +2
   576 .nf
   576 .nf
   577 $ \fBaimanifest add target/disk/disk_name@name data2\fR
   577 $ \fBaimanifest add target/disk/disk_name@name data2\fR
   578 $ \fBaimanifest set \e\fR
   578 $ \fBaimanifest set \e\fR
   581 > \fBtarget/disk[disk_name@name=data2]@whole_disk true\fR
   581 > \fBtarget/disk[disk_name@name=data2]@whole_disk true\fR
   582 .fi
   582 .fi
   583 .in -2
   583 .in -2
   584 .sp
   584 .sp
   585 
   585 
   586 .SS "戻りパスを使用したパスの指定"
   586 .SS "返されたパスを使用したパスの指定"
   587 .sp
   587 .sp
   588 .LP
   588 .LP
   589 同じノードに複数回アクセスするもっとも信頼性の高い方法は、新しい \fBdisk_name\fR 要素へのパスを保存し、その保存したパスを以降のアクセスで使用する方法です。
   589 同じノードに複数回アクセスするためのもっとも信頼性の高い方法は、新しい \fBdisk_name\fR 要素へのパスを保存したあと、その保存したパスを後続のアクセスで使用することです。
   590 .sp
   590 .sp
   591 .in +2
   591 .in +2
   592 .nf
   592 .nf
   593 $ \fBNewDisk=$(aimanifest add -r target/disk@whole_disk true)\fR
   593 $ \fBNewDisk=$(aimanifest add -r target/disk@whole_disk true)\fR
   594 $ \fBaimanifest add ${NewDisk}/disk_name@name data2\fR
   594 $ \fBaimanifest add ${NewDisk}/disk_name@name data2\fR
   597 .in -2
   597 .in -2
   598 .sp
   598 .sp
   599 
   599 
   600 .sp
   600 .sp
   601 .LP
   601 .LP
   602 \fB-r\fR オプションによって \fB$NewDisk\fR に返されるパスは、ノードを ID で表しており、値を持ちません。
   602 \fB-r\fR オプション経由で \fB$NewDisk\fR に返されるパスは、ID を使ってノードを表現しており、値は使用していません。
   603 .sp
   603 .sp
   604 .in +2
   604 .in +2
   605 .nf
   605 .nf
   606 $ \fBaimanifest add -r target/disk/@whole_disk true\fR
   606 $ \fBaimanifest add -r target/disk/@whole_disk true\fR
   607 /auto_install[1]/ai_instance[1]/target[1]/disk[2]
   607 /auto_install[1]/ai_instance[1]/target[1]/disk[2]
   610 .sp
   610 .sp
   611 
   611 
   612 .SH 使用例
   612 .SH 使用例
   613 .sp
   613 .sp
   614 .LP
   614 .LP
   615 これらの例を試すには、\fBAIM_MANIFEST\fR を設定する必要があります。
   615 次の例を試すには、\fBAIM_MANIFEST\fR を設定する必要があります。
   616 .sp
   616 .sp
   617 .in +2
   617 .in +2
   618 .nf
   618 .nf
   619 $ \fBexport AIM_MANIFEST=/tmp/aimtest.xml\fR
   619 $ \fBexport AIM_MANIFEST=/tmp/aimtest.xml\fR
   620 .fi
   620 .fi
   621 .in -2
   621 .in -2
   622 .sp
   622 .sp
   623 
   623 
   624 .sp
   624 .sp
   625 .LP
   625 .LP
   626 \fBaimanifest\fR コマンドが変更できる \fBAIM_MANIFEST\fR ファイルには、少なくとも次の両方の要素が含まれている必要があります。
   626 \fBaimanifest\fR コマンドで変更できる \fBAIM_MANIFEST\fR ファイルには、少なくとも次の部分が両方とも含まれている必要があります。
   627 .RS +4
   627 .RS +4
   628 .TP
   628 .TP
   629 .ie t \(bu
   629 .ie t \(bu
   630 .el o
   630 .el o
   631 作成している XML マニフェストで有効な DTD への \fB!DOCTYPE\fR 参照。
   631 作成中の XML マニフェストで有効な DTD への \fB!DOCTYPE\fR 参照。
   632 .RE
   632 .RE
   633 .RS +4
   633 .RS +4
   634 .TP
   634 .TP
   635 .ie t \(bu
   635 .ie t \(bu
   636 .el o
   636 .el o
   637 このマニフェストのルート要素。
   637 このマニフェストのルート要素。
   638 .RE
   638 .RE
   639 .sp
   639 .sp
   640 .LP
   640 .LP
   641 次の例は、AI マニフェスト用の最低限の \fBAIM_MANIFEST\fR マニフェストファイルを示しています。
   641 次の例は、AI マニフェストの最小 \fBAIM_MANIFEST\fR マニフェストファイルを示しています。
   642 .sp
   642 .sp
   643 .in +2
   643 .in +2
   644 .nf
   644 .nf
   645 <!DOCTYPE auto_install SYSTEM "file:///usr/share/install/ai.dtd">
   645 <!DOCTYPE auto_install SYSTEM "file:///usr/share/install/ai.dtd">
   646 <auto_install/>
   646 <auto_install/>
   647 .fi
   647 .fi
   648 .in -2
   648 .in -2
   649 
   649 
   650 .sp
   650 .sp
   651 .LP
   651 .LP
   652 通常は、既存の有効な AI マニフェストに対して動作する派生マニフェストスクリプト内で \fBaimanifest\fR コマンドを使用します。これらの例を試すには、\fB/usr/share/auto_install/manifest/default.xml\fR をコピーしてから、\fBAIM_MANIFEST\fR を定義してこのコピーを参照します。このコピーが書き込み可能になっていることを確認してください。
   652 通常、既存の有効な AI マニフェストを処理対象とする派生マニフェストスクリプト内で \fBaimanifest\fR コマンドを使用します。これらの例を試すには、\fB/usr/share/auto_install/manifest/default.xml\fR をコピーしたあと、このコピーを参照する \fBAIM_MANIFEST\fR を定義します。このコピーが書き込み可能になっていることを確認してください。
   653 .LP
   653 .LP
   654 \fB例 1 \fR\fBauto_reboot\fR の属性の設定
   654 \fB例 1 \fR\fBauto_reboot\fR 属性の設定
   655 .sp
   655 .sp
   656 .in +2
   656 .in +2
   657 .nf
   657 .nf
   658 $ \fBaimanifest set /auto_install/ai_instance@auto_reboot false\fR
   658 $ \fBaimanifest set /auto_install/ai_instance@auto_reboot false\fR
   659 .fi
   659 .fi
   660 .in -2
   660 .in -2
   661 .sp
   661 .sp
   662 
   662 
   663 .LP
   663 .LP
   664 \fB例 2 \fR\fBauto_reboot\fR の値の取得
   664 \fB例 2 \fR\fBauto_reboot\fR 値の取得
   665 .sp
   665 .sp
   666 .in +2
   666 .in +2
   667 .nf
   667 .nf
   668 $ \fBaimanifest get /auto_install/ai_instance@auto_reboot\fR
   668 $ \fBaimanifest get /auto_install/ai_instance@auto_reboot\fR
   669 false
   669 false
   670 .fi
   670 .fi
   671 .in -2
   671 .in -2
   672 .sp
   672 .sp
   673 
   673 
   674 .LP
   674 .LP
   675 \fB例 3 \fR値のパスを使用したパブリッシャーの追加
   675 \fB例 3 \fR値パスを使用したパブリッシャーの追加
   676 .sp
   676 .sp
   677 .LP
   677 .LP
   678 この例のパッケージリポジトリは、\fBfile:///net/host2/export/extras_repo\fR にあるファイルリポジトリです。パブリッシャーは \fBextras\fR です。
   678 この例のパッケージリポジトリは、\fBfile:///net/host2/export/extras_repo\fR にあるファイルリポジトリです。パブリッシャーは \fBextras\fR です。\fBsoftware \fR 要素は \fBsource\fR 要素を 1 つだけ持つことができるため、この例では新しい \fBpublisher\fR 要素を発行元の \fBsolaris\fR を含む \fBsource\fR 要素に追加します。
   679 
   679 
   680 .sp
   680 .sp
   681 .in +2
   681 .in +2
   682 .nf
   682 .nf
   683 $ \fBaimanifest add \e\fR
   683 $ \fBaimanifest add \e\fR
   684 > \fBsoftware/source/publisher@name extras\fR
   684 > \fBsoftware[@type=IPS]/source[publisher@name=solaris]/publisher@name \e\fR
       
   685 \fBextras\fR
   685 $ \fBaimanifest add \e\fR
   686 $ \fBaimanifest add \e\fR
   686 > \fBsoftware/source/publisher[@name=extras]/origin@name \e\fR
   687 > \fBpublisher[@name=extras]/origin@name \e\fR
   687 > \fBfile:///net/host2/export/extras_repo\fR
   688 > \fBfile:///net/host2/export/extras_repo\fR
   688 $ \fBaimanifest set \e\fR
   689 .fi
   689 > \fBsoftware[source/publisher@name=extras]@name extras\fR
   690 .in -2
   690 $ \fBaimanifest set \e\fR
   691 .sp
   691 > \fBsoftware[source/publisher@name=extras]@type IPS\fR
   692 
   692 .fi
   693 .sp
   693 .in -2
   694 .LP
   694 .sp
   695 \fBdefault.xml\fR AI マニフェストから開始した場合、これらの \fBaimanifest\fR コマンドから次の AI マニフェストエントリが得られます。簡潔にするために、\fBdestination\fR および \fBsoftware_data\fR 要素は省略されています。
   695 
   696 
   696 .sp
   697 .sp
   697 .LP
   698 .in +2
   698 これらの \fBaimanifest\fR コマンドは、次の AI マニフェストエントリを生成します。\fBsoftware\fR 要素は、同じタグが付けられた兄弟が許可されている\fIパス\fRの最初の要素であるため、XML コードのこのセクションは、出力ファイル内にすでに存在する最後の \fBsoftware\fR セクションに続きます。
   699 .nf
   699 
   700 <software type="IPS">
   700 .sp
       
   701 .in +2
       
   702 .nf
       
   703 <software name="extras" type="IPS">
       
   704   <source>
   701   <source>
       
   702     <publisher name="solaris">
       
   703       <origin name="http://pkg.oracle.com/solaris/release"/>
       
   704     </publisher>
   705     <publisher name="extras">
   705     <publisher name="extras">
   706       <origin name="file:///net/host2/export/extras_repo"/>
   706       <origin name="file:///net/host2/export/extras_repo"/>
   707     </publisher>
   707     </publisher>
   708   </source>
   708   </source>
   709 </software>
   709 </software>
   710 .fi
   710 .fi
   711 .in -2
   711 .in -2
   712 
   712 
   713 .LP
   713 .LP
   714 \fB例 4 \fR戻りパスを使用したパブリッシャーの追加
   714 \fB例 4 \fR返されたパスを使用したパブリッシャーの追加
   715 .sp
   715 .sp
   716 .LP
   716 .LP
   717 この例は前の例と同じですが、同じ結果を得るために異なる方法を使用します。
   717 この例は前の例と同じですが、異なる方法を使って同じ結果を実現しています。
   718 
   718 
   719 .sp
   719 .sp
   720 .in +2
   720 .in +2
   721 .nf
   721 .nf
   722 $ \fBSW_PATH=$(aimanifest add -r \e\fR
   722 $ \fBNEW_PUB=$(aimanifest add -r \e\fR
   723 > \fB/auto_install/ai_instance/software@name extras)\fR
   723 > \fBsoftware[@type=IPS]/source[publisher@name=solaris]/publisher@name \e\fR
   724 $ \fBaimanifest set ${SW_PATH}@type IPS\fR
   724 \fBextras)\fR
   725 $ \fBPUB_PATH=$(aimanifest add ${SW_PATH}/source/publisher@name extras)\fR
   725 $ \fBecho $NEW_PUB\fR
   726 $ \fBaimanifest add \e\fR
   726 /auto_install[1]/ai_instance[1]/software[1]/source[1]/publisher[2]
   727 \fB${PUB_PATH}/origin@name file:///net/host2/export/extras_repo)\fR
   727 $ \fBaimanifest add ${NEW_PUB}/origin@name \e\fR
   728 .fi
   728 \fBfile:///net/host2/export/extras_repo\fR
   729 .in -2
   729 .fi
   730 .sp
   730 .in -2
   731 
   731 .sp
   732 .LP
   732 
   733 \fB例 5 \fRマニフェストフラグメントの追加によるパブリッシャーの追加
   733 .LP
   734 .sp
   734 \fB例 5 \fRマニフェストフラグメントを追加することによるパブリッシャーの追加
   735 .LP
   735 .sp
   736 この例は前の例と同じですが、同じ結果を得るために 3 番目の方法を使用します。
   736 .LP
       
   737 この例では、部分的な AI マニフェストを含むファイルをロードすることで、発行元 \fBextras\fR を追加します。この場合、結果は、発行元 \fBextras\fR が定義された IPS タイプの別個の追加 \fBsoftware\fR 要素になります。この新しい \fBsoftware\fR 要素は、発行元 \fBsolaris\fR を定義する元の IPS \fBsoftware\fR 要素のあとに挿入されます。この新しい \fBsoftware\fR 要素内部の \fBsoftware_data \fR 要素で命名されたパッケージは、発行元の \fBextras\fR またはこの新しい \fBsoftware\fR 要素で定義されたほかの発行元からのみ検索されます。インストールするソフトウェアのない \fBsoftware\fR 要素は役に立たないため、このマニフェストフラグメントはインストールするパッケージも定義します。
   737 
   738 
   738 .sp
   739 .sp
   739 .LP
   740 .LP
   740 次の内容を持つ \fBextras.xml\fR という名前のファイルを作成します。
   741 次の内容を持つ \fBextras.xml\fR という名前のファイルを作成します。
   741 
   742 
   742 .sp
   743 .sp
   743 .in +2
   744 .in +2
   744 .nf
   745 .nf
   745 <auto_install>
   746 <auto_install>
   746   <ai_instance>
   747   <ai_instance>
   747     <software name="extras" type="IPS">
   748     <software type="IPS">
   748       <source>
   749       <source>
   749         <publisher name="extras">
   750         <publisher name="extras">
   750           <origin name="file:///net/host2/export/extras_repo"/>
   751           <origin name="file:///net/host2/export/extras_repo"/>
   751         </publisher>
   752         </publisher>
   752       </source>
   753       </source>
       
   754       <software_data action="install">
       
   755         <name>pkg:/package/from/extras_repo</name>
       
   756       </software_data> 
   753     </software>
   757     </software>
   754   </ai_instance>
   758   </ai_instance>
   755 </auto_install>
   759 </auto_install>
   756 .fi
   760 .fi
   757 .in -2
   761 .in -2
   758 
   762 
   759 .sp
   763 .sp
   760 .LP
   764 .LP
   761 ソフトウェアセクションのみが必要な場合でも、\fBauto_install\fR 要素と \fBai_instance\fR 要素も含める必要があります。\fIpath\fR オペランドで必要となるすべてのものを含める必要があります。読み込まれたファイルが \fBauto_install\fR 要素または \fB ai_instance\fR 要素の属性を指定している場合、それらの属性値は既存の値を置き換えるか、または追加されます。
   765 \fBsoftware\fR セクションだけが必要な場合でも、\fBauto_install\fR 要素と \fBai_instance\fR 要素も含める必要があります。読み込むファイル内で \fBauto_install\fR または \fBai_instance\fR 要素の属性が指定されていた場合、それらの属性値が既存の値を置き換えるか追加されます。
   762 
   766 
   763 .sp
   767 .sp
   764 .LP
   768 .LP
   765 次のコマンドを使用して、この \fBsoftware\fR セクションを \fBAIM_MANIFEST\fR マニフェストに追加します。
   769 この \fBsoftware\fR セクションを \fBAIM_MANIFEST\fR マニフェストに追加するには、次のコマンドを使用します。
   766 
   770 
   767 .sp
   771 .sp
   768 .in +2
   772 .in +2
   769 .nf
   773 .nf
   770 $ \fBaimanifest load -i extras.xml\fR
   774 $ \fBaimanifest load -i extras.xml\fR
   771 .fi
   775 .fi
   772 .in -2
   776 .in -2
   773 .sp
   777 .sp
   774 
   778 
   775 .LP
   779 .LP
   776 \fB例 6 \fR値のパスを使用したパッケージの追加
   780 \fB例 6 \fR値パスを使用したパッケージの追加
   777 .sp
   781 .sp
   778 .LP
   782 .LP
   779 この例では、パス内の値としてパブリッシャー名を指定することによって、\fBextras\fR という名前の \fBpublisher\fR 要素を持つ \fBsoftware\fR 要素にパッケージを追加します。この例では、相対パス指定の使用についても示しています。
   783 この例では、発行元の名前をパス内の値として指定することにより、名前が \fBsolaris\fR の \fBpublisher\fR 要素を持つ \fBsoftware\fR 要素にパッケージを追加します。
   780 
   784 
   781 .sp
   785 .sp
   782 .in +2
   786 .in +2
   783 .nf
   787 .nf
   784 $ \fBaimanifest add \e\fR
   788 $ \fBaimanifest add \e\fR
   785 > \fBsoftware[source/publisher@name=extras]/software_data/name \e\fR
   789 > \fBsoftware[source/publisher@name=solaris]/software_data/name \e\fR
   786 > \fBpkg:/system/utils\fR
   790 > \fBpkg:/system/utils\fR
   787 .fi
   791 .fi
   788 .in -2
   792 .in -2
   789 .sp
   793 .sp
   790 
   794 
   791 .sp
   795 .sp
   792 .LP
   796 .LP
   793 この \fBaimanifest\fR コマンドは、次の \fBsoftware_data\fR セクションを追加します。
   797 \fBdefault.xml\fR AI マニフェストから開始した場合、この \fBaimanifest\fR コマンドは次に示す 2 番目の \fBsoftware_data \fR 要素を追加します。
   794 
   798 
   795 .sp
   799 .sp
   796 .in +2
   800 .in +2
   797 .nf
   801 .nf
   798 <software name="extras" type="IPS">
   802 <software_data action="install">
   799   <source>
   803   <name>pkg:/entire@latest</name>
   800     <publisher name="extras">
   804   <name>pkg:/group/system/solaris-large-server</name>
   801       <origin name="file:///net/host2/export/extras_repo"/>
   805 </software_data>
   802     </publisher>
   806 <software_data>
   803   </source>
   807   <name>pkg:/system/utils</name>
   804   <software_data>
   808 </software_data>
   805     <name>pkg:/system/utils</name>
   809 .fi
   806   </software_data>
   810 .in -2
   807 </software>
   811 
   808 .fi
   812 .LP
   809 .in -2
   813 \fB例 7 \fR返されたパスを使用したパッケージの追加
   810 
   814 .sp
   811 .LP
   815 .LP
   812 \fB例 7 \fR戻りパスを使用したパッケージの追加
   816 この例は前の例と同じですが、異なる方法を使って同じ結果を実現しています。この例では、\fBget\fR サブコマンドを返されたパスオプションとともに使用して、発行元の \fBsolaris\fR が定義されている \fBsoftware\fR 要素にパッケージを追加します。
   813 .sp
   817 
   814 .LP
   818 .sp
   815 この例は前の例と同じですが、同じ結果を得るために異なる方法を使用します。この例では、パス内の値としてパブリッシャーの名前を指定する代わりに、「戻りパスを使用したパブリッシャーの追加」の例で \fBSW_PATH\fR に保存した \fBsoftware\fR 要素へのパスを使用します。
   819 .in +2
   816 
   820 .nf
   817 .sp
   821 $ \fBNEW_PKG=$(aimanifest get -r \e\fR
   818 .in +2
   822 \fBsoftware[source/publisher@name=solaris] | awk '{print $2 }')\fR
   819 .nf
   823 $ \fBecho $NEW_PKG\fR
   820 $ \fBaimanifest add ${SW_PATH}/software_data/name pkg:/system/utils\fR
   824 /auto_install[1]/ai_instance[1]/software[1]
   821 .fi
   825 $ \fBaimanifest add ${NEW_PKG}/software_data/name \e\fR
   822 .in -2
   826 \fBpkg:/system/utils\fR
   823 .sp
   827 .fi
   824 
   828 .in -2
   825 .LP
   829 .sp
   826 \fB例 8 \fRマニフェストの検証
   830 
       
   831 .LP
       
   832 \fB例 8 \fRマニフェストフラグメントの追加によるパッケージの追加
       
   833 .sp
       
   834 .LP
       
   835 この例では、部分的な AI マニフェストを含むファイルをロードすることで、パッケージを追加します。この場合、結果は IPS タイプの別個の追加 \fBsoftware \fR 要素になり、元の IPS \fBsoftware\fR 要素のあとに挿入されます。この新しい \fBsoftware\fR 要素には、\fBsoftware_data \fR 要素のみが含まれ、\fBsource\fR 要素は指定されません。この新しい \fBsoftware\fR 要素内部の \fBsoftware_data\fR 要素で命名されたパッケージは、直前の \fBsoftware\fR 要素内で定義された発行元から検索されます。
       
   836 
       
   837 .sp
       
   838 .LP
       
   839 次の内容を持つ \fBnewpkg.xml\fR という名前のファイルを作成します:
       
   840 
       
   841 .sp
       
   842 .in +2
       
   843 .nf
       
   844 <auto_install>
       
   845   <ai_instance>
       
   846     <software type="IPS">
       
   847       <software_data>
       
   848         <name>pkg:/system/utils</name>
       
   849       </software_data>
       
   850     </software>
       
   851   </ai_instance>
       
   852 </auto_install>
       
   853 .fi
       
   854 .in -2
       
   855 
       
   856 .sp
       
   857 .LP
       
   858 \fBsoftware\fR セクションだけが必要な場合でも、\fBauto_install\fR 要素と \fBai_instance\fR 要素も含める必要があります。読み込むファイル内で \fBauto_install\fR または \fBai_instance\fR 要素の属性が指定されていた場合、それらの属性値が既存の値を置き換えるか追加されます。
       
   859 
       
   860 .sp
       
   861 .LP
       
   862 この \fBsoftware\fR セクションを \fBAIM_MANIFEST\fR マニフェストに追加するには、次のコマンドを使用します。
       
   863 
       
   864 .sp
       
   865 .in +2
       
   866 .nf
       
   867 $ \fBaimanifest load -i newpkg.xml\fR
       
   868 .fi
       
   869 .in -2
       
   870 .sp
       
   871 
       
   872 .LP
       
   873 \fB例 9 \fRマニフェストの検証
   827 .sp
   874 .sp
   828 .LP
   875 .LP
   829 \fBAIM_MANIFEST\fR マニフェストを検証します。
   876 \fBAIM_MANIFEST\fR マニフェストを検証します。
   830 
   877 
   831 .sp
   878 .sp
   837 .sp
   884 .sp
   838 
   885 
   839 .SH 終了ステータス
   886 .SH 終了ステータス
   840 .sp
   887 .sp
   841 .LP
   888 .LP
   842 次の終了値が返されます。
   889 次の終了ステータスが返されます。
   843 .sp
   890 .sp
   844 .ne 2
   891 .ne 2
   845 .mk
   892 .mk
   846 .na
   893 .na
   847 \fB\fB0\fR\fR
   894 \fB\fB0\fR\fR
   848 .ad
   895 .ad
   849 .RS 13n
   896 .RS 13n
   850 .rt  
   897 .rt  
   851 コマンドは正常に処理されました。
   898 コマンドが正常に処理されました。
   852 .RE
   899 .RE
   853 
   900 
   854 .sp
   901 .sp
   855 .ne 2
   902 .ne 2
   856 .mk
   903 .mk
   857 .na
   904 .na
   858 \fB\fB>0\fR\fR
   905 \fB>\fB0\fR\fR
   859 .ad
   906 .ad
   860 .RS 13n
   907 .RS 13n
   861 .rt  
   908 .rt  
   862 エラーが発生しました。
   909 エラーが発生した。
   863 .RE
   910 .RE
   864 
   911 
   865 .SH ファイル
   912 .SH ファイル
   866 .sp
   913 .sp
   867 .ne 2
   914 .ne 2
   868 .mk
   915 .mk
   869 .na
   916 .na
   870 \fB\fBAIM_MANIFEST\fR\fR
   917 \fB\fBAIM_MANIFEST\fR\fR
   871 .ad
   918 .ad
   872 .RS 16n
   919 .sp .6
   873 .rt  
   920 .RS 4n
   874 この環境変数の値は、構築されている AI マニフェストの場所です。
   921 この環境変数の値は、構築される AI マニフェストの場所です。
   875 .RE
   922 .RE
   876 
   923 
   877 .sp
   924 .sp
   878 .ne 2
   925 .ne 2
   879 .mk
   926 .mk
   880 .na
   927 .na
   881 \fB\fBAIM_LOGFILE\fR\fR
   928 \fB\fBAIM_LOGFILE\fR\fR
   882 .ad
   929 .ad
   883 .RS 16n
   930 .sp .6
   884 .rt  
   931 .RS 4n
   885 この環境変数の値は、\fBaimanifest\fR の動作のログファイルの場所です。
   932 この環境変数の値は、\fBaimanifest\fR 処理のログファイルの場所です。
   886 .RE
   933 .RE
   887 
   934 
   888 .SH 属性
   935 .SH 属性
   889 .sp
   936 .sp
   890 .LP
   937 .LP
   891 属性についての詳細は、マニュアルページの \fBattributes\fR(5) を参照してください。
   938 次の属性については、\fBattributes\fR(5) を参照してください。
   892 .sp
   939 .sp
   893 
   940 
   894 .sp
   941 .sp
   895 .TS
   942 .TS
   896 tab() box;
   943 tab() box;
   907 .TE
   954 .TE
   908 
   955 
   909 .SH 関連項目
   956 .SH 関連項目
   910 .sp
   957 .sp
   911 .LP
   958 .LP
   912 installadm(1M), \fBpkg\fR(1)
   959 \fBinstalladm\fR(1M)
   913 .sp
   960 .sp
   914 .LP
   961 .LP
   915 『\fI『Installing Oracle Solaris 11 Systems』\fR』の第 3 章「\fI「Installing Using an Install Server」\fR」
   962 Part\ III, \fI「Installing Using an Install Server,」\fR in \fI『Installing Oracle Solaris 11 Systems』\fR