C 補足メディア #
補足メディアを使用して、パートナーやお客様は独自のタスクまたはワークフローをインストールウィザードに追加できます。
これは、AutoYaST XMLファイルの一部となるXMLファイルを追加することで実行されます。ワークフローに含めるため、このファイルをproduct.xml
と呼ぶ必要があります。
これは、独自のRPMの追加、独自のスクリプトの実行、クラスタファイルシステムの設定、独自のダイアログやスクリプトの作成など、さまざまなタイプの追加に使用できます。
C.1 product.xml
#
product.xml
ファイルは、通常のAutoYaST XMLファイルのように見えますが、いくつかの制限があります。
この制限が存在するのは、以前にインストールの第1ステージが実行されているため、第2ステージに関連するXMLの部分のみが実行されるためです。
2つのXMLファイル(autoyast.xml
とproduct.xml
)は、メディアが読み込まれた後でマージされ、追加のワークフローのため、直ちに「新しい」AutoYaST XMLファイルが生成されます。
次の領域またはセクションがマージされます。
<general> <ask-list> 1 ... <software> 2 <post-packages> ... <scripts> <chroot-scripts> 3 <post-scripts> 4 <init-scripts> 5 ...
C.2項 「独自のAutoYaST Askダイアログ」を参照してください。 | |
C.3項 「追加のパッケージをインストールする」を参照してください。 | |
パッケージのインストール後、最初のブート前 | |
インストール済みシステムの最初のブート中、サービスは実行されていません。 | |
インストール済みシステムの最初のブート中、すべてのサービスが稼働しています。 |
他のすべてのセクションが置き換えられます。
カスタマイズオプションの詳細については、 AutoYaST Guide, Chapter 「Configuration and Installation Options」, Section 「Custom User Scripts」 (https://documentation.suse.com/sles-15)を参照してください。
C.2 独自のAutoYaST Askダイアログ #
AutoYaSTの「Ask」機能の詳細については、 AutoYaST Guide, Chapter 「Configuration and Installation Options」, Section 「Ask the User for Values During Installation」 (https://documentation.suse.com/sles-15)を参照してください。
補足メディアの場合、ダイアログをcont
ステージ(<stage>cont</stage>
)内でのみ使用できます。つまり、ダイアログは最初の再起動後に実行されます。
ダイアログを含むファイルは、ベースAutoYaST XMLファイルとマージされます。
ベストプラクティスとして、ダイアログにダイアログ番号と要素番号がある必要があり、10の手順があることが最適です。これは、後で追加を含めるのに役立ち、決定に応じてダイアログまたは要素をジャンプするためのターゲットとして使用することができます。また、これはベースダイアログでも使用され、適切なダイアログ番号と要素番号を指定すると、ベースダイアログの間にダイアログを配置できます。
ファイルに質問に対する回答を保存して、後でスクリプトのいずれかで使用することができます。インストールウィザードはこのようなファイルを/tmp
ディレクトリからメディアデータもコピーされるディレクトリにコピーするため、これにはプレフィックス/tmp/ay
を使用する「必要がある」ことに注意してください。これが実行されるのは、次の補足メディアが同じダイアログまたは同じ回答ファイルを持つ可能性があり、ここに保存される値が上書きされるためです。
いくつかのオプションを使用した例を示します。
<?xml version="1.0"?> <!DOCTYPE profile> <profile xmlns="http://www.suse.com/1.0/yast2ns" xmlns:config="http://www.suse.com/1.0/configns"> <general> <ask-list config:type="list"> <ask> <stage>cont</stage> <dialog config:type="integer">20</dialog> <element config:type="integer">10</element> <question>What is your name?</question> <default>Enter your name here</default> <help>Please enter your full name within the field</help> <file>/tmp/ay_q_my_name</file> <script> <filename>my_name.sh</filename> <rerun_on_error config:type="boolean">true</rerun_on_error> <environment config:type="boolean">true</environment> <source><![CDATA[ function check_name() { local name=$1 LC_ALL=POSIX [ -z "$name" ] && echo "You need to provide a name." && return 1 return 0 } check_name "$VAL" ]]> </source> <debug config:type="boolean">false</debug> <feedback config:type="boolean">true</feedback> </script> </ask> </ask-list> </general> </profile>
C.3 追加のパッケージをインストールする #
product.xml
ファイル内にRPMパッケージをインストールすることもできます。これを行うため、第2ステージのインストールに<post-packages>
要素を使用できます。
詳細については、『 AutoYaST Guide, Chapter 「Configuration and Installation Options」, Section 「Installing Packages in Stage 2」 』(https://documentation.suse.com/sles-15)を参照してください。次に一例を示します。
... <software> <post-packages config:type="list"> <package>yast2-cim</package> </post-packages> </software> ...
C.4 補足メディアのディレクトリ例 #
補足メディアディレクトリの最小例には、product.xml
と呼ばれるファイルのみが含まれます。