ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris 10 JumpStart から Oracle Solaris 11 自動インストーラへの移行 Oracle Solaris 11 Information Library (日本語) |
js2ai の使用による JumpStart ルールおよびプロファイルから AI 条件およびマニフェストへの変換
js2ai による JumpStart デバイス指定の変換方法
4. Oracle Solaris 11 サーバー上の JumpStart を使用した Oracle Solaris 10 のインストール
js2ai ユーティリティーで -r オプションを使用すると、JumpStart ルールおよび関連付けられたプロファイルが AI 条件およびマニフェストに変換されます。最初は -S オプションを使用して検証をスキップします。
/usr/sbin/js2ai -rS [-d sysidcfg_dir] [-D destination_dir]
このコマンドは、rules ファイルおよび rules ファイルによって参照されるプロファイルで変換操作を実行します。rules ファイルで参照される各プロファイルは、AI クライアントプロビジョニングマニフェスト (/usr/share/auto_install/manifest/default.xml ) に対して処理されます。このステップでは、JumpStart rules ファイルで指定されたプロファイルごとに、AI_profile_name という名前のディレクトリを作成します。AI_profile_name ディレクトリには、このプロファイルを参照するルールに対応する AI 条件ファイルが criteria-rule_number.xml の形式で格納されます。また、AI_profile_name ディレクトリには、profile_name プロファイルファイルに対応する AI マニフェストファイルが profile_name.arch.xml の形式で格納されます。
変換が正常に完了したというメッセージが表示されない場合、エラーレポートおよび js2ai.log ファイルを調べます。エラーレポートおよびログファイルは、警告、処理エラー、サポートされない項目、変換エラー、および検証エラーを報告します。エラーレポートは stdout への表出力で、rules およびプロファイルファイルの変換中に発生したタイプごとのエラーの番号を示します。ログファイルには問題が記述されます。
処理エラーを修正します。
rules ファイルおよびプロファイルファイルから、サポート外項目として一覧表示されたすべての行を削除します。
変換エラーを検査して、可能な場合はエラーを修正します。それ以外の場合は、エラーの原因となっている行を削除します。
警告メッセージを検査して、修正が必要ないことを確認します。
変換が正しく完了したことを示すメッセージを受け取ったら、-S オプションを付けずに js2ai コマンドを実行して、出力された AI マニフェストを検証します。検証エラーは AI マニフェストファイル内で修正する必要があります。
特定の出力 AI マニフェストを適切な AI DTD に対して検証するには、js2ai コマンドに -V オプションを付けて実行します。
/usr/sbin/js2ai -V manifest_file
AI マニフェストは、AI インストールサービスに追加されるときも検証されます。
js2ai ユーティリティーを使用して、rules ファイルとその rules ファイルに関連付けられたすべてのプロファイルの代わりに、1 つの JumpStart プロファイルファイルを変換するには、-r オプションの代わりに -p オプションを使用します。
/usr/sbin/js2ai -p JS_profile_name [-d sysidcfg_dir] [-D destination_dir]
このセクションでは、js2ai が JumpStart プロファイル指定から AI マニフェスト用のターゲット要素を決定する方法について説明します。
プロファイルの変換プロセス中は、js2ai はプロファイルが参照するクライアントシステムにアクセスしないため、js2ai はできる限り JumpStart と一致するプロセスを使用して、変換中にルートディスクを決定しようとします。
js2ai ツールは次のステップを実行して、ルートディスクで使用するデバイスを決定します。
プロファイルで root_device キーワードが指定されている場合、js2ai は rootdisk をスライスが存在するデバイスに設定します。
rootdisk が設定されておらず、プロファイルで boot_device キーワードが指定されている場合、js2ai は rootdisk をブートデバイスに設定します。
rootdisk が設定されておらず、partitioning default が指定され、solaris fdisk エントリが指定されている場合、js2ai は rootdisk を指定された disk_name に設定します。
rootdisk が設定されておらず、プロファイルで filesys cwtxdysz size / エントリが指定されている場合、js2ai は rootdisk をそのエントリで指定された cwtxdysz ディスクに設定します。
rootdisk が設定されておらず、プロファイルで usedisk disk_name エントリが指定されている場合、js2ai は rootdisk をそのエントリで指定された disk_name ディスクに設定します。
rootdisk が設定されておらず、プロファイルで次の指定が見つかった場合 (size は 0 または delete でなく、disk_name は all でない)、rootdisk はこの disk_name に設定されます。
fdisk disk_name solaris size
rootdisk が設定されていない場合、デバイスが rootdisk として指定されたオカレンスで変換エラーが生成されます。
js2ai ツールは次のステップを実行して、any キーワードが指定されているときに使用するデバイスを決定します。
any デバイスが指定されていて、キーワードアクション (ミラー化されていないプール、または / マウントポイントを使用した filesys) が指定されている場合、any デバイスは rootdisk に設定されます (rootdisk が設定されている場合)。
any デバイスが変換されておらず、usedisk 文がプロファイル内に存在する場合、any デバイスが usedisk 文で指定されたデバイスに設定されます。
any デバイスが変換されておらず、any デバイスが指定されたアクションによって ZFS ルートプールが作成される場合、AI はそのデバイスを選択します。ミラー化されたプールが指定されている場合、これは適用できません。
js2ai ツールは次のステップを実行して、ZFS ルートプールで使用するデバイスを決定します。ZFS ルートプールが決定されると、その後に検出される定義がすでに決定されている ZFS ルートプールと競合する場合、エラーとしてフラグが設定されます。
プロファイルで pool キーワードが指定されている場合、js2ai は ZFS ルートプールを pool キーワードで指定されたデバイスに設定します。
ZFS ルートプールが決定されておらず、プロファイルでマウントポイント / を使用して filesys が指定された場合、ZFS ルートプールは指定されたデバイスを使用して作成されます。
ZFS ルートプールが決定されておらず、プロファイル内のすべてのキーワードが処理され、rootdisk が設定されている場合、ZFS ルートプールは rootdisk デバイスを使用して作成されます。
ZFS ルートプールが決定されておらず、パーティションタイプが default の場合、AI は ZFS ルートプールで使用するデバイスを選択します。
ZFS ルートプールが決定されておらず、処理中にエラーが発生しなかった場合、AI は ZFS ルートプールで使用するデバイスを選択します。
ZFS ルートプールがミラー化されたプールではなく、指定された 1 つ以上の usedisk デバイスが rootdisk デバイスまたは any デバイスの変換で使用されていない場合、これらのディスクが ZFS ルートプールに追加されます。
JumpStart プロファイルでは cluster および package キーワードを使用してソフトウェアをシステムにインストールします。cluster キーワードは AI ではサポートされません。IPS では、合体パッケージまたはグループパッケージをインストールする構文は、他のパッケージをインストールする構文と同じです。JumpStart プロファイル内の cluster を単に package に変更すると、js2ai は AI マニフェスト内で正しいパッケージインストール指定を作成します。
ヒント - AI マニフェスト内のパッケージ名を確認してください。AI マニフェスト内でインストール用に指定されたパッケージが、その AI マニフェスト内で指定されたどのパブリッシャー起点からも利用できない場合、クライアントインストールは失敗します。
IPS パッケージ名は SVR4 パッケージ名と異なります。たとえば、SVR4 パッケージ SUNWpampkcs11 の名前は IPS では library/security/pam/module/pam-pkcs11 に変更されます。
一部の SVR4 パッケージ名は IPS 内に存在するため、SVR4 名を使用して IPS パッケージをインストールできます。たとえば、AI マニフェストで SUNWpampkcs11 パッケージのインストールが指定された場合、library/security/pam/module/pam-pkcs11 パッケージが自動的にインストールされます。この場合、パッケージの名前が変更されます。
一部の SVR4 パッケージ名は IPS 内に存在しません。これらの場合、パッケージ名を変更するか、その指定を AI マニフェストから削除する必要があります。たとえば、SUNWCall および SUNWCuser パッケージは IPS 内で名前変更されません。AI マニフェストでこれらのパッケージが指定された場合、インストールは失敗します。
js2ai ユーティリティーは、JumpStart プロファイルファイルからの指定を含む新規 AI マニフェストを構築するための基礎として、/usr/share/auto_install/manifest/default.xml AI マニフェストを使用します。このデフォルト AI マニフェストは、基本オペレーティングシステムをインストールする 2 つのパッケージ (entire および solaris-large-server) のインストールを指定します。これら 2 つのパッケージの他は、おそらく追加のツールおよびアプリケーションのインストールを指定するだけで済みます。
AI マニフェスト内で特定のパッケージ名が使用できるかどうかを判断するには、Oracle Solaris 11 システムで pkg list コマンドを使用します。AI マニフェスト内で指定された IPS パッケージリポジトリ起点からのパッケージを一覧表示するための -g オプションを必ず使用してください。この例では、AI マニフェストは http://pkg.oracle.com/solaris11/release リポジトリ起点を指定します。
$ pkg list -af -g http://pkg.oracle.com/solaris11/release SUNWCall SUNWCuser pkg list: no packages matching 'SUNWCuser, SUNWCall' known
このメッセージは、これら 2 つのパッケージがこの AI マニフェスト内で使用できないことを示しています。
$ pkg list -af -g http://pkg.oracle.com/solaris11/release SUNWpampkcs11 NAME (PUBLISHER) VERSION IFO SUNWpampkcs11 0.6.0-0.133 --r
最も右側の列の「r」は、このパッケージの名前が変更されていることを示します。この名前を AI マニフェスト内で使用できますが、pkg info コマンドを使用してパッケージの新しい名前を決定した方がよい場合もあります。
次の出力の「Renamed to」行を参照してください。SUNWpampkcs11 パッケージの名前は library/security/pam/module/pam-pkcs11 に変更されています。今後の Oracle Solaris 更新との互換性を高めるために、AI マニフェスト内で library/security/pam/module/pam-pkcs11 を指定した方がよい場合もあります。
$ pkg info -r SUNWpampkcs11 Name: SUNWpampkcs11 Summary: State: Not installed (Renamed) Renamed to: library/security/pam/module/pam-pkcs11@0.6.0-0.133 consolidation/sfw/sfw-incorporation Publisher: solaris Version: 0.6.0 Build Release: 5.11 Branch: 0.133 Packaging Date: Wed Oct 27 18:50:11 2010 Size: 0.00 B FMRI: pkg://solaris/SUNWpampkcs11@0.6.0,5.11-0.133:20101027T185011Z $ pkg info -r pam-pkcs11 Name: library/security/pam/module/pam-pkcs11 Summary: The OpenSC PKCS#11 PAM Login Tools Category: System/Security State: Not installed Publisher: solaris Version: 0.6.0 Build Release: 5.11 Branch: 0.173.0.0.0.0.487 Packaging Date: Sun Aug 28 00:16:46 2011 Size: 1.92 MB FMRI: pkg://solaris/library/security/pam/module/pam-pkcs11@...
$ pkg list -af -g http://pkg.oracle.com/solaris/release SUNWmysql NAME (PUBLISHER) VERSION IFO SUNWmysql 4.0.24-0.142 --o
最も右側の列の「o」は、このパッケージが廃止されていることを示します。このパッケージ名は AI マニフェスト内で使用できません。pkg list コマンドにワイルドカードを指定して使用するか、pkg search コマンドを使用して、使用可能な別の名前でパッケージが使用できるかどうかを判断します。
$ pkg list -af SUNWmysql* NAME (PUBLISHER) VERSION IFO SUNWmysql 4.0.24-0.142 --o SUNWmysql-base 0.5.11-0.133 --r SUNWmysql-python 0.5.11-0.162 --o SUNWmysql-python26 0.5.11-0.133 --r SUNWmysql5 5.0.86-0.171 --o SUNWmysql5 5.0.86-0.133 --r SUNWmysql51 5.1.37-0.133 --r SUNWmysql51lib 5.1.37-0.133 --r SUNWmysql51test 5.1.37-0.133 --r SUNWmysql5jdbc 5.1.5-0.171 --o SUNWmysql5jdbc 5.1.5-0.133 --r SUNWmysql5test 5.0.86-0.171 --o SUNWmysql5test 5.0.86-0.133 --r SUNWmysqlt 4.0.24-0.142 --o $ pkg info -r SUNWmysql51 Name: SUNWmysql51 Summary: State: Not installed (Renamed) Renamed to: database/mysql-51@5.1.37-0.133 consolidation/sfw/sfw-incorporation Publisher: solaris Version: 5.1.37 Build Release: 5.11 Branch: 0.133 Packaging Date: Wed Oct 27 18:49:18 2010 Size: 0.00 B FMRI: pkg://solaris/SUNWmysql51@5.1.37,5.11-0.133:20101027T184918Z
AI マニフェスト内で SUNWmysql を database/mysql-51 に置換した方がよい場合もあります。
このセクションでは、単一の js2ai コマンドの使用による、JumpStart rules ファイルおよびその rules ファイルによって参照されるすべてのプロファイルファイルの変換を示します。デフォルトでは、変換された各プロファイルは、AI_profile-filename という名前のディレクトリに出力されます。そのプロファイルを選択するルールは、AI 基準ファイルと同じディレクトリに出力されます。
この例では次の rules ファイルを使用します。
# The following rule matches only one system: hostname sample_host - fdisk.profile - # The following rule matches only one system: hostaddress 10.6.68.127 - mirrorfilesys.profile - # The following rule matches any system that is on the 924.222.43.0 network: network 924.222.43.0 - rootdisk.profile - # The following rule matches all x86 systems: arch i386 - mirrorpool.profile -
fdisk.profile ファイルの内容は次のとおりです。
install_type initial_install system_type server root_device c1t0d0s0 usedisk c1t0d0 fdisk rootdisk solaris all partitioning explicit filesys rootdisk.s1 5000 swap filesys rootdisk.s0 10000 / cluster SUNWCall
mirrorfilesys.profile ファイルの内容は次のとおりです。
install_type initial_install partitioning default filesys mirror c6t0d0s0 c6t1d0s0 60048 cluster SUNWCuser
mirrorpool.profile ファイルの内容は次のとおりです。
install_type initial_install partitioning default pool newpool auto auto auto mirror any any cluster SUNWCuser
rootdisk.profile ファイルの内容は次のとおりです。
install_type initial_install partitioning explicit filesys rootdisk.s0 15000 / filesys rootdisk.s1 1000 swap cluster SUNWCall
次のコマンドを使用して、この rules ファイルを処理します。検証が実行されなかったため、エラーレポートでは検証エラーはハイフン文字として表示されます。検証は -S オプションによって抑制されます。
# js2ai -rS Process Unsupported Conversion Validation Name Warnings Errors Items Errors Errors ------------------- -------- ------- ----------- ---------- ---------- rules 0 0 1 0 - fdisk.profile 0 0 2 0 - mirrorfilesys.profile 0 0 2 0 - mirrorpool.profile 0 0 1 1 - rootdisk.profile 0 0 1 2 - Conversion completed. One or more failures occurred. For errors see js2ai.log # cat js2ai.log rules:line 3:UNSUPPORTED: unsupported keyword: hostname fdisk.profile:line 2:UNSUPPORTED: unsupported value for 'system_type' specified: server fdisk.profile:line 9:UNSUPPORTED: unsupported keyword: cluster mirrorfilesys.profile:line 3:UNSUPPORTED: unsupported mount point of 'unnamed' specified, mount points other than '/' and 'swap' are not supported mirrorfilesys.profile:line 4:UNSUPPORTED: unsupported keyword: cluster mirrorpool.profile:line 3:CONVERSION: unable to convert 'any' device to physical device. Replace 'any' with actual device name mirrorpool.profile:line 4:UNSUPPORTED: unsupported keyword: cluster rootdisk.profile:line 3:CONVERSION: unable to convert 'rootdisk.s0'. Replace'rootdisk.' with actual device name rootdisk.profile:line 4:CONVERSION: unable to convert 'rootdisk.s1'. Replace'rootdisk.' with actual device name rootdisk.profile:line 5:UNSUPPORTED: unsupported keyword: cluster
出力は、AI_profile-filename という名前のディレクトリに格納されます。JumpStart ルールから作成されたすべての AI 条件ファイルは、rules ファイル内のルールの位置から名前が付けられます。AI マニフェストには profile-filename. arch.xml という名前が付けられ、arch は generic、x86、または sparc です。
# ls AI_* AI_fdisk.profile: fdisk.profile.x86.xml AI_mirrorfilesys.profile: criteria-2.xml mirrorfilesys.profile.generic.xml AI_mirrorpool.profile: criteria-2.xml mirrorpool.profile.generic.xml AI_rootdisk.profile: criteria-3.xml rootdisk.profile.generic.xml
ログファイルでは、JumpStart ルールキーワード hostname が、AI マニフェストを選択するための AI 条件キーワードとしてサポートされないと報告されています。hostname キーワードは、fdisk.profile プロファイルを使用するクライアントを指定するために使用されます。hostname は AI マニフェストを選択するためにサポートされるキーワードではないため、新しい AI_fdisk.profile ディレクトリには AI 条件ファイルが含まれません。
この問題は、rules ファイル内で hostname を hostaddress に変更することによって修正できます。
この問題は、hostname システムを識別する MAC アドレスまたは IP アドレスを指定する AI 条件ファイルを作成することによっても修正できます。たとえば、sample_host の MAC アドレスが 0:14:4F:20:53:97 の場合、次の条件ファイルは JumpStart ルール hostname sample_host と同等です。
<?xml version="1.0" encoding="utf-8"?> <ai_criteria_manifest> <ai_criteria name="mac"> <value>0:14:4F:20:53:97</value> </ai_criteria> </ai_criteria_manifest>
システムの MAC アドレスを見つけるには、『Oracle Solaris 管理: ネットワークインタフェースとネットワーク仮想化』および dladm(1M) のマニュアルページに記載されているように、dladm コマンドを使用してください。
JumpStart ルール hostaddress 10.6.68.127 について、js2ai ユーティリティーは AI 条件ファイル AI_mirrorfilesys.profile/criteria-2.xml を自動的に作成し、JumpStart の hostaddress キーワードを AI の ipv4 キーワードに置換します。
<?xml version="1.0" encoding="utf-8"?> <ai_criteria_manifest> <ai_criteria name="ipv4"> <value> 10.6.68.127 </value> </ai_criteria> </ai_criteria_manifest>
JumpStart ルール network 924.222.43.0 について、js2ai ユーティリティーは AI 条件ファイル AI_rootdisk.profile/criteria-3.xml を自動的に作成し、指定されたネットワークアドレスに基づいて IP アドレスの範囲を指定します。
<?xml version="1.0" encoding="utf-8"?> <ai_criteria_manifest> <ai_criteria name="ipv4"> <range> 924.222.43.0 924.222.43.255 </range> </ai_criteria> </ai_criteria_manifest>
JumpStart ルール arch i386 について、js2ai ユーティリティーは AI 条件ファイル AI_mirrorpool.profile/criteria-4.xml を自動的に作成し、JumpStart の arch キーワードを AI の cpu キーワードに置換します。
<?xml version="1.0" encoding="utf-8"?> <ai_criteria_manifest> <ai_criteria name="cpu"> <value> i386 </value> </ai_criteria> </ai_criteria_manifest>
js2ai ユーティリティーは通常、エラーが報告される場合であっても、JumpStart プロファイルごとに AI マニフェストを作成します。このセクションでは、出力される AI マニフェストがさらに完全になるようにするために、一部の一般的なエラーに対処する方法について説明します。
js2ai ユーティリティーは fdisk.profile JumpStart プロファイルについて次のエラーを表示しました。
fdisk.profile:line 2:UNSUPPORTED: unsupported value for 'system_type' specified: server fdisk.profile:line 9:UNSUPPORTED: unsupported keyword: cluster
これら 2 つの行は無視され、出力 AI マニフェストに影響しません変換でエラーメッセージを出さないようにする場合は、これら 2 つの行を削除できます。fdisk.profile ファイルの内容は次のとおりです。
install_type initial_install root_device c1t0d0s0 usedisk c1t0d0 fdisk rootdisk solaris all partitioning explicit filesys rootdisk.s1 5000 swap filesys rootdisk.s0 10000 /
js2ai ユーティリティーの -p オプションを使用して、このプロファイルのみ処理します。
# js2ai -p fdisk.profile Successfully completed conversion
出力 AI マニフェスト AI_fdisk.profile/fdisk.profile.x86.xml の target スタンザには次の内容があります。
<target> <disk whole_disk="true"> <disk_name name="c1t0d0" name_type="ctd"/> <partition action="create" name="1" part_type="191"> <slice action="create" force="true" is_swap="true" name="1"> <size val="5000mb"/> </slice> <slice action="create" force="true" in_vdev="rpool_vdev" in_zpool="rpool" name="0"> <size val="10000mb"/> </slice> </partition> </disk> <logical nodump="true" noswap="false"> <zpool is_root="true" name="rpool"> <vdev name="rpool_vdev" redundancy="none"/> </zpool> </logical> </target>
software スタンザは /usr/share/auto_install/manifest/default.xml 内のものと同じです。これは、このプロファイルにはパッケージ指定が含まれていないためです。
js2ai ユーティリティーは mirrorfilesys.profile JumpStart プロファイルについて次のエラーを表示しました。
mirrorfilesys.profile:line 3:UNSUPPORTED: unsupported mount point of 'unnamed' specified, mount points other than '/' and 'swap' are not supported mirrorfilesys.profile:line 4:UNSUPPORTED: unsupported keyword: cluster
JumpStart プロファイルファイルでは、filesys mirror 指定の file_system パラメータは省略可能です。js2ai 変換では、file_system パラメータは省略できず、/ または swap の 2 つ値のいずれかを持つ必要があります。
mirrorfilesys.profile ファイルを編集して、filesys 指定の末尾に「/」を追加し、cluster 行を削除します。すると、mirrorfilesys.profile ファイルの内容は次のようになります。
install_type initial_install partitioning default filesys mirror c6t0d0s0 c6t1d0s0 60048 /
AI_mirrorfilesys.profile/criteria-2.xml ファイルを別の場所に保存します。次に、js2ai ユーティリティーの -p オプションを使用して、このプロファイルのみ処理します。
# js2ai -p mirrorfilesys.profile Successfully completed conversion
AI_mirrorfilesys.profile ディレクトリには、mirrorfilesys.profile.sparc.xml および mirrorfilesys.profile.x86.xml の 2 つの出力 AI マニフェストが格納されています。これら 2 つの AI マニフェストの違いは、mirrorfilesys.profile.x86.xml には 2 つの partition 指定が含まれていることだけです。mirrorfilesys.profile.x86.xml マニフェストの target スタンザの内容は次のとおりです。
<target> <disk> <disk_name name="c6t1d0" name_type="ctd"/> <partition action="create" name="1" part_type="191"> <slice action="create" force="true" in_vdev="rpool_vdev" in_zpool="rpool" name="0"> <size val="60048mb"/> </slice> </partition> </disk> <disk> <disk_name name="c6t0d0" name_type="ctd"/> <partition action="create" name="1" part_type="191"> <slice action="create" force="true" in_vdev="rpool_vdev" in_zpool="rpool" name="0"> <size val="60048mb"/> </slice> </partition> </disk> <logical nodump="true" noswap="false"> <zpool is_root="true" name="rpool"> <vdev name="rpool_vdev" redundancy="mirror"/> </zpool> </logical> </target>
software スタンザは /usr/share/auto_install/manifest/default.xml 内のものと同じです。これは、このプロファイルにはパッケージ指定が含まれていないためです。
js2ai ユーティリティーは mirrorpool.profile JumpStart プロファイルについて次のエラーを表示しました。
mirrorpool.profile:line 4:CONVERSION: unable to convert 'any' device to physical device. Replace 'any' with actual device name mirrorpool.profile:line 8:UNSUPPORTED: unsupported keyword: cluster
これらのエラーを修正するには、次の 2 つの方法のいずれかを使用します。これらの修正は、両方ともまったく同じ AI マニフェスト出力を生成します。「any デバイスの変換方法」も参照してください。
mirrorpool.profile プロファイルを編集し、any を物理デバイス名に置換します。また、cluster 行を削除します。すると、mirrorpool.profile ファイルの内容は、たとえば次のようになります。
install_type initial_install partitioning default pool newpool auto auto auto mirror c6t0d0s0 c6t1d0s0
pool 指定の vdevlist 一覧に、物理デバイス名でなく any を指定した場合、any パラメータを含む指定よりも前にデバイス情報を提供しておく必要があります。mirrorpool.profile プロファイルを編集して、プール指定の前に usedisk 指定を追加します。また、cluster 行を削除します。すると、mirrorpool.profile ファイルの内容は、たとえば次のようになります。
install_type initial_install partitioning default usedisk c6t0d0 c6t1d0 pool newpool auto auto auto mirror any any
AI_mirrorpool.profile/criteria-4.xml ファイルを別の場所に保存します。次に、js2ai ユーティリティーの -p オプションを使用して、このプロファイルのみ処理します。
# js2ai -p mirrorpool.profile Successfully completed conversion
AI_mirrorpool.profile ディレクトリには、mirrorpool.profile.sparc.xml および mirrorpool.profile.x86.xml の 2 つの出力 AI マニフェストが格納されています。これら 2 つの AI マニフェストの違いは、mirrorpool.profile.x86.xml には 2 つの partition 指定が含まれていることだけです。mirrorpool.profile.x86.xml マニフェストの target スタンザの内容は次のとおりです。
<target> <disk> <disk_name name="c6t1d0" name_type="ctd"/> <partition action="create" name="1" part_type="191"> <slice action="create" force="true" in_vdev="rpool_vdev" in_zpool="newpool" name="0"/> </partition> </disk> <disk> <disk_name name="c6t0d0" name_type="ctd"/> <partition action="create" name="1" part_type="191"> <slice action="create" force="true" in_vdev="rpool_vdev" in_zpool="newpool" name="0"/> </partition> </disk> <logical nodump="false" noswap="false"> <zpool is_root="true" name="newpool"> <vdev name="rpool_vdev" redundancy="mirror"/> </zpool> </logical> </target>
software スタンザは /usr/share/auto_install/manifest/default.xml 内のものと同じです。これは、このプロファイルにはパッケージ指定が含まれていないためです。
js2ai ユーティリティーは rootdisk.profile JumpStart プロファイルについて次のエラーを表示しました。
rootdisk.profile:line 3:CONVERSION: unable to convert 'rootdisk.s0'. Replace'rootdisk.' with actual device name rootdisk.profile:line 4:CONVERSION: unable to convert 'rootdisk.s1'. Replace'rootdisk.' with actual device name rootdisk.profile:line 5:UNSUPPORTED: unsupported keyword: cluster
これらのエラーを修正するには、次の 2 つの方法のいずれかを使用します。これらの修正は、両方ともまったく同じ AI マニフェスト出力を生成します。
rootdisk.profile プロファイルを編集し、rootdisk. を c0t0d0 に置換します。また、cluster 行を削除します。すると、rootdisk.profile ファイルの内容は次のようになります。
install_type initial_install partitioning explicit filesys c0t0d0s0 15000 / filesys c0t0d0s1 1000 swap
rootdisk.profile プロファイルを編集して root_device 指定を追加し、cluster 行を削除します。すると、rootdisk.profile ファイルの内容は次のようになります。
install_type initial_install partitioning explicit root_device c0t0d0s0 filesys rootdisk.s0 15000 / filesys rootdisk.s1 1000 swap
AI_rootdisk.profile/criteria-3.xml ファイルを別の場所に保存します。次に、js2ai ユーティリティーの -p オプションを使用して、このプロファイルのみ処理します。
# js2ai -p rootdisk.profile Successfully completed conversion
AI_rootdisk.profile ディレクトリには、rootdisk.profile.sparc.xml および rootdisk.profile.x86.xml の 2 つの出力 AI マニフェストが格納されています。これら 2 つの AI マニフェストの違いは、rootdisk.profile.x86.xml に partition 指定が含まれていることだけです。rootdisk.profile.x86.xml マニフェストの target スタンザの内容は次のとおりです。
<target> <disk> <disk_name name="c0t0d0" name_type="ctd"/> <partition action="create" name="1" part_type="191"> <slice action="create" force="true" in_vdev="rpool_vdev" in_zpool="rpool" name="0"> <size val="15000mb"/> </slice> <slice action="create" force="true" is_swap="true" name="1"> <size val="1000mb"/> </slice> </partition> </disk> <logical nodump="true" noswap="false"> <zpool is_root="true" name="rpool"> <vdev name="rpool_vdev" redundancy="none"/> </zpool> </logical> </target>
software スタンザは /usr/share/auto_install/manifest/default.xml 内のものと同じです。これは、このプロファイルにはパッケージ指定が含まれていないためです。
ルールまたはプロファイル変換あるいは AI マニフェスト検証に関する詳細な情報を表示するには、js2ai コマンドに -v オプションを指定します。-v オプションを指定すると、処理ステップが表示され、エラーレポートには rules ファイルまたはプロファイルをレポートから省略するのではなく、ゼロが表示されます。
# js2ai -v -p rootdisk.profile Processing profile: rootdisk.profile Performing conversion on: rootdisk.profile Generating x86 manifest for: rootdisk.profile Validating rootdisk.profile.x86.xml Generating sparc manifest for: rootdisk.profile Validating rootdisk.profile.sparc.xml Process Unsupported Conversion Validation Name Warnings Errors Items Errors Errors ---------------------- -------- ------- ----------- ---------- ---------- rootdisk.profile 0 0 0 0 0 Successfully completed conversion
生成された AI マニフェストを検証するには -V オプションを使用します。
# js2ai -V ./AI_rootdisk.profile/rootdisk.profile.sparc.xml Successfully completed conversion # js2ai -v -V ./AI_rootdisk.profile/rootdisk.profile.sparc.xml Validating rootdisk.profile.sparc.xml Process Unsupported Conversion Validation Name Warnings Errors Items Errors Errors ---------------------- -------- ------- ----------- ---------- ---------- rootdisk.profile.sparc - - - - 0 Successfully completed conversion