目次
本章では、一般的な用途における制御ファイル内の重要部について説明して います。その他の利用可能なオプションについては、設定管理システム (CMS) をお使いのうえ設定してください。
なお、設定オプションの中には、設定済みのソフトウエア選択に合わせて、追加の パッケージをインストールしなければならないものがあります。たとえば 最小構成 でインストールしたような場合は、必要な パッケージがインストールされず、後から個別に追加する必要があります。
YaST はインストール処理の第 2 フェーズのうち、 AutoYaST のインストール後 フェーズの前に必要なパッケージをインストールします。ただし、その時点で システム内に必要な YaST モジュールがインストールされていない場合は、 重要な設定手順が飛ばされることになります。たとえば yast2-security をインストールしていない場合、セキュリティ関連の設定は実施されません。
汎用オプションとは、インストール処理に関連するオプションのほか、 インストール済みのシステムの環境に対するオプションを全て含みます。
例4.1 汎用オプション
mode セクションでは、確認や再起動に関連する AutoYaST の動作を設定する ことができます。下記の例は、 <general><mode> セクション内に 存在すべき項目です。
既定では、自動インストール処理時にユーザ側に確認メッセージを表示します。 このオプションは、ターゲットシステムに対して設定や変更を行なう際、デバッグ などの目的で事前に確認メッセージを表示するためのものです。 confirm が "true" に設定されている場合 (既定値) 、 最初のシステム設定が完了して再起動した際、もう一度最初からインストールを 実施したりしないようにすることができます。完全無人インストールの場合にのみ、 この確認を無効化してください。
また、通常はインストール処理の第 2 ステージに進む際に再起動を行ないますが、 halt を設定すると、全てのパッケージをインストール した後、 AutoYaST はマシンをシャットダウンします。この時点ではブートローダの インストールは完了していますし、 chroot スクリプトも実行済みの状態です。
final_halt と final_reboot は、 openSUSE 11.0 および SLES11 またはそれ以降のバージョンで提供されている オプションで、第 2 ステージのインストール完了後に、それぞれマシンを 停止したり再起動したりすることができます。
openSUSE 11.0 およびそれ以降のバージョンでは kexec が使用されるようになった ため、第 1 ステージと第 2 ステージの間で再起動を行なうことはなくなりました。 ですが、 forceboot オプションを使用することで、再起動を 強制することができるようになっています。 "true" を指定するとマシンの再起動が 実施し、 "false" を指定すると実施しなくなります。何も指定しない場合、 forceboot オプションはそれぞれの製品の既定値に従います。
<general> <signature-handling> <accept_unsigned_file config:type="boolean">true</accept_unsigned_file> <accept_file_without_checksum config:type="boolean">true</accept_file_without_checksum> <accept_verification_failed config:type="boolean">true</accept_verification_failed> <accept_unknown_gpg_key config:type="boolean">true</accept_unknown_gpg_key> <import_gpg_key config:type="boolean">true</import_gpg_key> <accept_non_trusted_gpg_key config:type="boolean">true</accept_non_trusted_gpg_key> </signature-handling> <mode> <halt config:type="boolean">false</halt> <forceboot config:type="boolean">false</forceboot> <! -- 11.0 以降のみ --> <final_reboot config:type="boolean">false</final_reboot> <! -- 11.0 以降のみ --> <final_halt config:type="boolean">false</final_halt> <! -- 11.0 以降のみ --> <confirm config:type="boolean">true</confirm> <second_stage config:type="boolean">true</second_stage> </mode> <proposals config:type="list"> <!-- 11.1 以降 --> <proposal>partitions_proposal</proposal> </proposals> <wait> <!-- 11.1 / SLES11 以降 --> <pre-modules config:type="list"> <module> <name>networking</name> <sleep> <time config:type="integer">10</time> <feedback config:type="boolean">true</feedback> </sleep> <script> <source> sleep 5 </source> <debug config:type="boolean">false</debug> </script> </module> </pre-modules> <post-modules config:type="list"> <module> <name>networking</name> <sleep> <time config:type="integer">3</time> <feedback config:type="boolean">true</feedback> </sleep> <script> <source> sleep 7 </source> <debug config:type="boolean">false</debug> </script> </module> </post-modules> </wait> <!-- storage セクションは openSUSE 11.3 および SLES11 SP2 またはそれ以降のバージョンで利用できます --> <storage> <!-- partition_alignment: `align_optimal - こちらが既定値です。パーティションの境界はカーネルの提案通りに設定されます。 これにより、パーティション境界による起動問題 (マシンや BIOS が原因となる問題) が発生する場合があります。 `align_cylinder - openSUSE 11.3 以前のバージョンと同様に境界を設定します。パーティションの境界は シリンダの境界に合わせて決められます。 --> <partition_alignment config:type="symbol">align_cylinder</partition_alignment> </storage> </general>
openSUSE 11.1 では、 AutoYaST プロファイル内で <proposals config:type="list"> タグを利用することで、提案画面を設定することができます。提案画面には、このセクション 内に書かれた全ての提案項目が表示されます。なお、 confirm オプションを "true" に設定する必要があります。
これは openSUSE 11.1 における提案項目の一覧です。インストールメディア内の
control.xml
ファイルにも、同じ内容が書かれています:
partitions_proposal
bootloader_proposal
country_simple_proposal
timezone_proposal
users_proposal
hwinfo_proposal
mouse_proposal
software_proposal
runlevel_proposal
deploying_proposal
openSUSE 11.1 および SLES 11 、またはそれ以降のバージョンでは、 wait (待機) と呼ばれるセクションが提供されています。 これはそれぞれ第 2 ステージで各モジュールを実行する際、事前と事後に AutoYaST が sleep を実行するための仕組みです。 ここでは待機用のスクリプトを指定するか、もしくは秒単位で待機時間を 指定します (両方を指定することもできます) 。上記の例では、ネットワークの 設定が始まる前に 15 秒 (10+5 秒) の待機が、ネットワークの設定完了後に 10 秒 (3+7 秒) の待機がそれぞれ設定されています。上記の例では、単純に "時間" を指定した sleep コマンドが設定されているだけなので、スクリプトに ついては特段複雑なことは行なっていません。
SUSE Linux 10.1/SLES10 での変更点 | |
---|---|
language (言語), keyboard (キーボード), clock (日付/時刻) の各属性は、 general リソースからルートノードに移動しています。 これらのバージョンまたはそれ以降のバージョンでは、 general セクションは 使用しないでください。 最初の再起動のあと、第 2 ステージで AutoYaST を無効にしたい場合は、 second_stage 属性を使用することができます ("false" に設定してください) 。この場合、第 2 ステージの作業は全て手作業で実施する ことになります。既定値は "true" で、 AutoYaST が全ての処理を行ないます。 openSUSE 11.0 またはそれ以降のバージョンでは、第 2 ステージのインストール 完了後に、マシンを再起動したりシャットダウンしたりするためのオプションが 用意されています。それぞれ final_reboot と final_halt です。 なお、署名の処理について、詳しくは 4.5項 「ソフトウエア」 をお読みください。 |
report リソースでは、インストール中に発生しうる 3 種類の ポップアップメッセージを管理することができます:
メッセージのポップアップ (一般に致命的なエラーを表わすものではなく、 情報を提供する目的のもの)
警告用のポップアップ (何らかの問題が発生していることを示すもの)
エラーのポップアップ (何らかのエラーが発生した場合のもの)
例4.2 レポート処理の設定例
<report> <messages> <show config:type="boolean">true</show> <timeout config:type="integer">10</timeout> <log config:type="boolean">true</log> </messages> <errors> <show config:type="boolean">true</show> <timeout config:type="integer">10</timeout> <log config:type="boolean">true</log> </errors> <warnings> <show config:type="boolean">true</show> <timeout config:type="integer">10</timeout> <log config:type="boolean">true</log> </warnings> </report>
インストールを実施する方の知識に合わせて、これらのメッセージを 表示しないように設定することができるほか、ログに記録したり 時間制限付きで表示させたりすることができます。 なお、全ての messages に対して時間制限 (timeout) を設定し、表示させておくのがお勧めです。警告メッセージ については、いくつか飛ばすことができるものがあるものの、無視して 良いものではありません。
自動インストールモードでの既定値は、全てのメッセージを表示し、 ログを記録せずに 10 秒で自動的に消える設定になっています。
致命的なシステムメッセージ | |
---|---|
report リソースでは、必ずしも全てのメッセージを 制御できるわけではありません。パッケージのインストールやパーティション 設定など、致命的なエラーメッセージによっては report セクションを無視して動作するものもあります。 これらのうちの多くは はい または いいえ で回答するタイプのメッセージです。 |
このドキュメンテーションは yast2-bootloader に関する説明を記述している もので、 SLE11 と openSUSE 11.0 およびそれ以降のバージョンに適用できる ものです。それ以前のバージョンをお使いの場合は、それぞれの ディストリビューション内の /usr/share/doc/packages/autoyast2/ ディレクトリ にあるドキュメンテーションをお読みください。
AutoYaST のプロファイル内では、一般に bootloader パートのみを設定します。
<bootloader> <device_map config:type="list"> - device.map 内でのデバイス順序に関する設定 </device_map> <global> - インストールに関する設定 (GRUB および汎用ブートコードのインストール) </global> <initrd_modules config:type="list"> - initrd のモジュール一覧に関する設定 </initrd_modules> <loader_type>grub</loader_type> - type of bootloader <sections config:type="list"> - menu.lst 内のブートローダセクションに関する設定 </sections> </bootloader>
device.map
内ではデバイスとその順序を設定することが
できますが、これは必ずしも設定しなければならないものではありません。
yast2-bootloader はインストールの最中にデバイスの存在を確認し、 device.map
ファイルを自動的に生成することができるためです。ただし、場合によっては
自動検出した順序が誤っていたりすることがあるほか、 BIOS の認識とは異なる
設定を行ないたい場合に、ここを設定します。設定にあたってはよく注意して
実施してください。設定を誤ると、システムが起動できなくなってしまいます。
<device_map config:type="list"> <device_map_entry> <firmware>hd0</firmware> <!-- order of devices in target map --> <linux>/dev/disk/by-id/ata-ST3500418AS_6VM23FX0</linux> <!-- name of device (disk) --> </device_map_entry> </device_map>
オプションの設定の中では重要な項目です。ここでは GRUB のインストール先と 起動処理の動作について設定を行ないます。何も設定しない場合、 yast2-bootloader が自動的に設定を作成してインストールします。通常の AutoYaST プロファイルでは、 このパートのみを設定し、それ以外のパートは yast2-bootloader で自動設定します。 なお、特に要件がなければ、 XML ファイル内にプーとローダ関連の設定を行なわない ことをお勧めします。
<global> <activate>true</activate> <default>openSUSE 11.2 - 2.6.31.5-0.1</default> <gfxmenu>(hd0,1)/boot/message</gfxmenu> <lines_cache_id>4</lines_cache_id> <timeout config:type="integer">10</timeout> </global>
属性 |
値 |
説明 |
---|---|---|
activate |
起動用のパーティションに対して boot フラグを設定します。 "/boot" 用に個別のパーティションを設定していない場合は、 "/" が起動用のパーティションになります。起動用のパーティションが 論理パーティションの場合、起動フラグは拡張パーティションに対して 設定されます。 <activate>true</activate> | |
default |
<default>openSUSE 11.2 - 2.6.31.5-0.1</default> | |
gfxmenu |
グラフィカルな起動メニューに対するパスを指定します。グラフィカルな 起動メニューを使用しない場合は、 'none' を指定します。 <gfxmenu>(hd0,1)/boot/message</gfxmenu> | |
timeout |
<timeout config:type="integer">10</timeout> | |
generic_mbr |
MBR に対して汎用のブートコードを書き込みます。なお、 boot_mbr が "true" に設定されている場合は、この設定は無視されます。 <generic_mbr>false</generic_mbr> | |
boot_mbr |
GRUB を順序内で最初のハードディスクの MBR に書き込みます (ハードディスクの順序は device.map で設定します) 。 <boot_mbr>false</boot_mbr> | |
boot_boot |
GRUB を /boot パーティションに書き込みます。 /boot パーティション が存在しない場合、 GRUB は "/" に書き込まれます。 <boot_boot>false</boot_boot> | |
boot_root |
GRUB を "/" パーティションに書き込みます。 <boot_root>false</boot_root> | |
boot_extended |
GRUB を拡張パーティションに書き込みます (汎用のブートコードを 利用し、 "/boot" パーティションが論理パーティション内に存在する ような場合に重要です) 。 注意: "/boot" パーティションが論理 パーティションの場合、 generic_mbr ではなく boot_mbr (MBR に GRUB を書き込む) を設定する必要があります。 <boot_extended>false</boot_extended> | |
boot_custom |
GRUB を指定したデバイスに書き込みます。 <boot_custom>/dev/sda3</boot_custom> | |
trusted_grub |
通常の GRUB ではなく、 trusted GRUB を使用します (このオプションを 有効にすると、 gfxmenu は自動的に削除されます) 。ハードウエア側で サポートしている場合を除き、 trusted GRUB を有効にはしないでください。 <trusted_grub>false</trusted_grub> | |
lines_cache_id |
perl-Bootloader に対するキャッシュ ID を指定する内部オプションです。 複製した XML ファイルを使用している場合、使用したり変更したりしないでください。 |
initrd モジュールの一覧を指定します。通常は AutoYaST が自動的に判断して 設定する項目であるため、影響を熟知している場合を除いて、独自に設定するのは 避けてください。
menu.lst におけるブートセクションの設定は、通常 yast2-bootloader が自動的に 行ないます。 yast2-bootloader は、正しいカーネルと initrd を指定しないと、 それらの項目を削除します。
<sections config:type="list"> <section> <append>resume=/dev/disk/by-id/raid-sil_ajacccbhejai-part2 splash=silent quiet showotps</append> <image>(hd0,0)/vmlinuz-2.6.31-10-default</image> <initial>1</initial> <initrd>(hd0,0)/initrd-2.6.31-10-default</initrd> <lines_cache_id>0</lines_cache_id> <name>openSUSE 11.2 Milestone 8 - 2.6.31-10 (default)</name> <original_name>linux</original_name> <root>/dev/mapper/sil_ajacccbhejai_part3</root> <type>image</type> <vgamode>0x31a</vgamode> </section> <section> <append>resume=/dev/disk/by-id/raid-sil_ajacccbhejai-part2 splash=silent quiet showopts</append> <image>(hd0,0)/vmlinuz-2.6.31-10-xen</image> <initrd>(hd0,0)/initrd-2.6.31-10-xen</initrd> <lines_cache_id>2</lines_cache_id> <name>Xen -- openSUSE 11.2 Milestone 8 - 2.6.31-10</name> <nounzip>0</nounzip> <original_name>xen</original_name> <root>/dev/mapper/sil_ajacccbhejai_part3</root> <type>xen</type> <vgamode>0x31a</vgamode> <xen>(hd0,0)/xen.gz</xen> <xen_append></xen_append> </section> <section> <blockoffset>1</blockoffset> <chainloader>/dev/fd0</chainloader> <lines_cache_id>3</lines_cache_id> <name>Floppy</name> <noverifyroot>true</noverifyroot> <original_name>floppy</original_name> <type>other</type> </section> </sections>
利用可能なオプションは、その 種類 によって 異なります。
属性 |
値 |
説明 |
---|---|---|
append |
カーネルに対するパラメータ (ただし vga= と root= は除くこと) 。 <append>splash=silent quiet showopts</append> | |
image |
カーネルのパス。 <image>(hd0,0)/vmlinuz-2.6.31-10</image> | |
initrd |
initrd のパス。 <initrd>(hd0,0)/my-initrd</initrd> | |
lines_cache_id |
perl-Bootloader に対するキャッシュ ID を指定する内部オプションです。 複製した XML ファイルを使用している場合、使用したり変更したりしないでください。 | |
name |
セクションの名前またはタイトル。 <name>Productive System</name> | |
original_name |
設定ファイル内のコメントに書かれた、 YaST が処理する際の内部名。 通常は "linux" や "failsafe" などの名前になります。チェインローダ では、 "windows" やその他の名前 ("linux", "floppy" など) になります。 内部名は、下記のとおりシンプルなものを指定してください: linux, xen, windows, floppy など <original_name>linux</original_name> | |
root |
ルートパーティション ("/") の場所。 <root>/dev/mapper/sil_ajacccbhejai_part3</root> | |
type |
セクションの種類 (image/xen/other/menu) 。 <type>xen</type> | |
vgamode |
VGA のカーネルパラメータ (vga=) 。 <vgamode>0x31a</vgamode> | |
xen |
xen.gz のパス。 <xen>(hd0,0)/xen.gz</xen> | |
xen_append |
XEN に対して設定するカーネルパラメータ。 <xen_append></xen_append> |
属性 |
値 |
説明 |
---|---|---|
lines_cache_id |
perl-Bootloader に対するキャッシュ ID を指定する内部オプションです。 複製した XML ファイルを使用している場合、使用したり変更したりしないでください。 | |
name |
セクションの名前またはタイトル。 <name>Floppy</name> | |
original_name |
設定ファイル内のコメントに書かれた、 YaST が処理する際の内部名。 通常は "linux" や "failsafe" などの名前になります。チェインローダ では、 "windows" やその他の名前 ("linux", "floppy" など) になります。 内部名は、下記のとおりシンプルなものを指定してください: linux, xen, windows, floppy など <original_name>linux</original_name> | |
type |
セクションの種類 (image/xen/other/menu) 。 <type>other</type> | |
blockoffset |
チェインローダのオフセット値 (grub のみで使用します) 。 <blockoffset>1</blockoffset> | |
chainloader |
チェインローダのパーティション値 (grub では、 chainloader の値と blockoffset の値を組み合わせることで、後続のチェインローダを 決定します) 。 <chainloader>/dev/fd0</chainloader> | |
noverifyroot |
ルートをチェックするかどうかを指定します。 <noverifyroot>true</noverifyroot> | |
remap |
ハードディスクのマッピング変更に関連した Windows 固有の オプションです。たとえば 1 台目と 2 台目のディスクを 入れ替えたい場合は、下記のように設定します: remap (hd0) (hd1) map (hd1) (hd0) <remap>false</remap> | |
makeactive |
チェインローダセクションに対して、 makeactive のパラメータを 追加します。 <makeactive>false</makeactive> |
属性 |
値 |
説明 |
---|---|---|
lines_cache_id |
perl-Bootloader に対するキャッシュ ID を指定する内部オプションです。 複製した XML ファイルを使用している場合、使用したり変更したりしないでください。 | |
name |
セクションの名前またはタイトル。 <name>Floppy</name> | |
original_name |
設定ファイル内のコメントに書かれた、 YaST が処理する際の内部名。 通常は "linux" や "failsafe" などの名前になります。チェインローダ では、 "windows" やその他の名前 ("linux", "floppy" など) になります。 内部名は、下記のとおりシンプルなものを指定してください: linux, xen, windows, floppy など <original_name>linux</original_name> | |
type |
セクションの種類 (image/xen/other/menu) 。 <type>other</type> | |
configfile |
menu.lst 設定ファイルのパス。 <configfile>1</configfile> | |
root |
Linux の他のインストールからメニューを読み込むためのデバイス名。 <root>/dev/sda1</root> |
openSUSE 11.1 と SLES11 、およびそれ以降のバージョンにおける EVMS サポートについて | |
---|---|
openSUSE 11.1 および SLES 11 、そしてそれ以降のバージョンでは、 EVMS はインストールシステムでサポートされなくなりました。そのため、 AutoYaST でも EVMS のサポートは提供されなくなっています。 EVMS 関連のドキュメンテーションは、 SLES 10 (全てのサービスパック を含む) と openSUSE のバージョン 11.1 以前のものに対してのみ 有効です。 |
それぞれ下記の要素は、 <profile> セクション内の <partitioning config:type="list"><drive> から </drive></partitioning> までの間に書かなければなりません。
属性 |
値 |
説明 |
---|---|---|
device |
このセクション内で設定を行ないたいデバイスを指定します。 SUSE Linux 10.1 および SLES 10 、もしくはそれ以降のバージョンの場合は、 /dev/disk/by-id/ata-WDC_WD3200AAKS-75L9A0_WD-WMAV27368122 のような永続名を指定することができます。 SLES 10 および SUSE Linux 10.2 、 もしくはそれ以降のバージョンの場合は、 /dev/disk/by-path/pci-0001:00:03.0-scsi-0:0:0:0 のように by-path を利用した表記も利用できます。 <device>/dev/hda</device> |
任意指定です。何も指定しない場合は、 AutoYaST がデバイスを自動的に判別 します。 RAID の場合は、 "/dev/md" を指定します。 |
initialize |
"true" に設定すると、 AutoYaST がパーティションの計算をはじめる前に、 パーティションテーブルを消去します。 <initialize config:type="boolean" >true</initialize> |
任意指定です。既定値は "false" です。 |
is_lvm_vg |
指定したデバイスが物理デバイスではなく、 LVM ボリュームグループで あることを指定します (詳しくは下記の LVM 設定をお読みください) 。 <is_lvm_vg config:type="boolean" >true</is_lvm_vg> |
SLES10SP1, SL 10.2 で 廃止されました 。 代わりに type をお使いください。 対象のデバイスが LVM ボリュームグループの場合に "true" を指定します。 既定値は "false" です。 |
is_evms_vg |
指定したデバイスが物理デバイスではなく、 EVMS ボリュームグループで あることを指定します (詳しくは下記の EVMS 設定をお読みください) 。 <is_evms_vg config:type="boolean" >true</is_evms_vg> |
SLES10SP1, SL 10.2 で 廃止されました 。 代わりに type をお使いください。 対象のデバイスが EVMS ボリュームグループの場合に "true" を指定します。 既定値は "false" です。 |
partitions |
<partition> 項目の一覧を含むものです (詳しくは下記をお読みください) 。 <partitions config:type="list"> <partition>...</partition> ... </partitions> |
任意指定です。何も設定しない場合、 AutoYaST は自動的に判断してパーティションを 作成します (詳しくは "パーティション作成の自動化" をお読みください) 。 |
pesize |
この設定は、 LVM/EVMS の場合にのみ意味を持つ項目です。 <pesize>8M</pesize> |
任意設定です。 EVMS/LVM ボリュームグループに対しては、 4M が既定値です。 |
use |
ハードディスクのパーティション作成に対して、 AutoYaST が取るべき 方法を指定します。 下記の中から選択します:
|
このパラメータは必ず指定する必要があります。 |
type |
ドライブ に対して設定する種類を指定します (この パラメータは、 SLES10 および SL10.1 までで使用されていた is_lvm_vg と is_evms_vg を置き換えるものです) 。 下記の中から選択します:
<type config:type="symbol">CT_LVM</type> |
任意指定です。通常の物理ハードディスクの場合は、 CT_DISK が既定値です。 |
disklabel |
パーティションテーブルの種類を指定します。 下記の中から選択します:
<disklabel>gpt</disklabel> |
任意指定で、 openSUSE 12.1 および SLES11 SP2 、またはそれ以降のバージョンで 使用できます。既定では、 YaST が自動的に判断します (多くの場合、 msdos が 選択されます) 。 |
keep_unknown_lv |
type=CT_LVM のドライブに対してのみ意味のある項目です。 LVG を再利用している 状況下でこの値を "true" に設定すると、 VG 内にある全ての既存 LV は、 <partitioning> セクションで設定されない限り何も操作が行なわれなく なります。これにより、 LV をわざわざ指定することなく、既存の LV を維持する ことができます。 <keep_unknown_lv config:type="boolean" >false</keep_unknown_lv> |
任意指定です。 openSUSE 12.1 および SLES11 SP2 、またはそれ以降のバージョンで 利用できます。既定値は "false" です。 |
それぞれ下記の要素は、 <drive> セクション内の <partitions config:type="list"><partition> から </partition></partitions> までの間に書かなければなりません。
属性 |
値 |
説明 |
---|---|---|
create |
対象のパーティションを作成しなければならないか、もしくは既に 存在するパーティションの場合に指定します。 <create config:type="boolean" >false</create> |
"false" に設定した場合は、 AutoYaST に対してパーティションに関する情報を 設定する必要があります (partition_nr などを使用します) 。 |
mount |
このパーティションのマウントポイントを指定します。 <mount>/</mount> <mount>swap</mount> |
少なくともルートパーティション (/) とスワップ領域のパーティションを 指定しなければなりません。 |
fstopt |
このパーティションに対するマウントオプションを指定します。 <fstopt >ro,noatime,user,data=ordered,acl,user_xattr</fstopt> |
利用可能なマウントオプションについて、詳しくは man mount をお読みください。 |
label |
このパーティションに対するラベルを指定します ("mountby" パラメータを使用する場合に有効な項目です) 。 <label>mydata</label> |
使用例について、詳しくは man e2label をお読みください。 |
uuid |
パーティションの UUID を指定します ("mountby" パラメータを使用する場合に有効な項目です) 。 <uuid >1b4e28ba-2fa1-11d2-883f-b9a761bde3fb</uuid> |
詳しくは man uuidgen をお読みください。 |
size |
パーティションのサイズを、 "4G", "4500M" などの形式で指定します。 "/boot" とスワップ領域に対しては、 "auto" を指定することで AutoYaST に 自動計算させる方法を指定できます。また、いずれか 1 つのパーティションに "max" を指定すると、残った領域全てを使用させることができます。 SUSE Linux 10.2 および SLES10 SP1 、およびそれ以降のバージョンでは、 サイズを割合で設定することができます。たとえば "10%" のように指定すると、 ハードディスクや VG のサイズに対して 10 パーセント分のサイズを設定する ことができます。必要に応じて、 "auto", "max", "size", "%" を混在させる こともできます。 <size>10G</size> | |
format |
AutoYaST に対して、対象のパーティションをフォーマットするかどうかを 指定します。 <format config:type="boolean">false</format> |
"create" を "true" に設定した場合、通常はこの設定も "true" に設定します。 |
filesystem |
このパーティションに対して設定するファイルシステムを指定します:
<filesystem config:type="symbol" >reiser</filesystem> |
任意指定です。既定値は reiser です。 |
partition_nr |
このパーティションのパーティション番号を指定します。 create=false を指定した場合、もしくは LVM を使用している場合、 partition_nr でパーティションを指定することができます。 AutoYaST に対してプライマリパーティションを作成させたい 場合は、 5 より小さい数値を指定します。 <partition_nr config:type="integer" >2</partition_nr> |
多くの場合、 1 から 4 までがプライマリパーティション、 5 以上が論理パーティションを表わします。 |
partition_id |
パーティションの ID を設定するための指定です。 Linux パーティションに対して 131 以外の値を、スワップパーティションに 対して 130 以外の値を使用したい場合は、ここで設定します。 <partition_id config:type="integer" >131</partition_id> |
Linux パーティションの場合は 131 、スワップパーティションの場合は 130 がそれぞれ既定値となります。 |
filesystem_id |
上述の partition_id をお読みください。過去のバージョンと互換性を 維持する目的で、本設定は partition_id と同じ意味になるように なっています。 <filesystem_id config:type="integer" >131</filesystem_id> |
SUSE Linux 10.1 および SLES 10 、またはそれ以降のバージョンの場合は、 partition_id をお使いください。 |
mountby |
AutoYaST に対して、パーティション番号ではなくラベルや UUID 、 udev パスや udev ID などを利用してマウントさせたい場合に、この設定を 行ないます。 <mountby config:type="symbol" >label</mountby> |
それぞれ上述の "label" および "uuid" の項目をお読みください。 |
lv_name |
このパーティションがボリュームグループ (LVM または EVMS) 内の論理ボリュームの場合、ここで論理ボリュームの名称を指定 します (ドライブ設定内の is_lvm_vg や is_evms_vg の各 パラメータをお読みください) 。 <lv_name>opt_lv</lv_name> | |
stripes |
LVM ストライピングを設定するための整数です。どれだけの デバイスにわたってデータを配置するか (データの分散度) を指定します。 <stripes config:type="integer">2</stripes> | |
stripesize |
各ブロックのサイズを KB (キロバイト) 単位で指定します。 <stripesize config:type="integer" >4</stripesize> | |
lvm_group |
対象のパーティションがボリュームグループ (LVM) で使用されて いる (ボリュームグループの一部になっている) 物理パーティション の場合、ここでボリュームグループの名前を指定します。 <lvm_group>system</lvm_group> | |
evms_group |
対象のパーティションがボリュームグループ (EVMS) で使用されて いる (ボリュームグループの一部になっている) 物理パーティション の場合、ここでボリュームグループの名前を指定します。 <evms_group>system</evms_group> | |
raid_name |
対象のパーティションが RAID で使用されている (RAID の一部に なっている) 物理パーティションの場合、ここで RAID の名前を 指定します。 <raid_name>/dev/md0</raid_name> | |
raid_type |
RAID の種類を指定します。 <raid_type>raid1</raid_type> | |
raid_options |
RAID オプションを指定します。詳しくは下記をお読みください。 <raid_options>...</raid_options> | |
resize |
このパラメータは SLES10 SP1 および openSUSE 10.2 またはそれ以降の バージョンで利用できます。 "true" を指定すると、既存のパーティションを サイズ変更する意味になります。この場合、 create を false に設定する必要があるほか、 format の設定も false に 設定するのが通常です。また、 AutoYaST に対して partition_nr と size の 設定を行なう必要があります。サイズは元のサイズに対する割合か、もしくは 具体的なサイズ (800M など) を指定します。 このパラメータを設定した場合、サイズに対して設定する max (最大値) と auto (自動) は利用できません。 <resize config:type="boolean" >false</resize> |
サイズ変更は物理ディスクに対してのみ動作します。 LVM/EVMS ボリュームに 対しては動作しません。 |
それぞれ下記の要素は、 <partition><raid_options> から </raid_options></partition> までの間に書かなければなりません。
属性 |
値 |
説明 |
---|---|---|
chunk_size |
<chunk_size>4</chunk_size> | |
parity_algorithm |
設定できる値は、 left_asymmetric, left_symmetric, right_asymmetric, right_symmetric のいずれかです。 SLES 11 SP2 および openSUSE 12.1 、もしくは それ以降のバージョンでは、 RAID6 および RAID10 を構築する目的で、 parity_first, parity_last, left_asymmetric_6, left_symmetric_6, right_asymmetric_6, right_symmetric_6, parity_first_6, n2, o2, f2, n3, o3, f3 の各値も設定できます。 <parity_algorithm >left_asymmetric</parity_algorithm> | |
raid_type |
設定できる値は、 raid0, raid1, raid5 のいずれかです。 <raid_type>raid1</raid_type> |
既定値は raid1 です。 |
パーティション作成を自動化する場合は、パーティションのサイズとマウント ポイントを設定するだけでかまいません。パーティション作成を正しく行なうのに 必要となる他の情報は、制御ファイル内に指定されていない場合、それぞれ インストール時に自動的に計算されます。
制御ファイル内に何もパーティションが設定されていない場合、指定したドライブに ルートパーティションを作成する際は下記のような構成で自動的に作成が 行なわれます:
/boot
/boot パーティションのサイズは、インストール先の システムのアーキテクチャに応じた大きさで設定されます。
swap
swap パーティションのサイズは、システムで 利用可能なメモリ量に応じて設定されます。
/ (ルートパーティション)
ルートパーティションのサイズは、それぞれ swap や /boot の各パーティションを作成した後の 残りサイズで設定されます。
ドライブの初期状態と、事前にどのようなパーティション設定が為されていたのか によって、 default のパーティション作成方法を変える ことができます:
Use free space
ドライブに既にパーティションが設定されている場合、ドライブの 空き領域を使用して新しいパーティションを作成することができます。 この場合は、パッケージの容量とスワップの容量を合計したサイズ以上の 空き領域が必要になります。
Reuse all available space
既存のパーティションを全て (Linux パーティションも、それ以外の パーティションも) 削除したい場合、このオプションを使用します。
Reuse all available Linux partitions
このオプションは、既存の Linux パーティションを全て削除します。 その他のパーティション (具体的には Windows) については、何も 行ないません。ただし、このオプションは Linux パーティションが デバイスの後ろ側に存在する場合にのみ動作します。
Reuse only specified partitions
このオプションは、削除するパーティションを指定するためのもの です。この場合は、後ろのパーティションから指定してください。
パーティションの再作成は、選択したパーティションがそれぞれ隣り合って いる状態で、かつデバイスの後ろ側に存在する場合にのみ動作します。
重要な注意事項 | |
---|---|
use 属性で指定する値は、既存のデータと パーティションをどのように扱うかを指定するためのものです。 たとえば all を指定すると、ディスク上にある 全ての データが消去される意味になります。 重要なデータを含むパーティションを保持するように設定する場合は、 必ず事前にバックアップを採取し、 confirm 属性を設定してください。自動インストールを実施している場合は、 パーティションの削除時にも確認メッセージが表示されません。 |
インストール先のシステムに複数のドライブが存在する場合、それぞれの デバイス名で各ドライブを認識し、どのようにパーティションを設定するのかを 指定してください。
パーティションのサイズは、ギガバイト単位でもメガバイト単位でも設定 することができます。それ以外にも auto (自動) や max (最大値) なども利用することができます。なお、 max はドライブ内で利用できる全ての領域を使用する 意味であるため、ドライブ内の最後のパーティションに対してのみ指定する ことができます。また、 swap (スワップ) や boot のパーティションのサイズに対して auto を指定すると、利用可能なメモリ量や システムの種類に応じて、自動的にサイズを決定します。
固定サイズの場合は、下記のように指定します:
1GB と指定すると、 1 ギガバイトのサイズになります。 1500MB と指定すると、 1.5 ギガバイトのサイズになります。
例4.3 自動的なパーティション作成
下記は単一ドライブ環境での設定例です。事前にはパーティション設定の 存在しない環境であるため、指定したパーティション計画を元にして 自動的に設定を行ないます。デバイスを指定しない場合、デバイスは 自動的に検出されます。なお、この場合 /dev/sda と /dev/hda に 対して、別々のプロファイルを設定することはできません。
<partitioning config:type="list"> <drive> <device>/dev/hda</device> <use>all</use> </drive> </partitioning>
既存のパーティションが存在する場合や、複数のドライブが存在する 場合の詳細な例は下記のとおりです。
例4.4 詳細な自動パーティション作成
<partitioning config:type="list"> <drive> <device>/dev/hda</device> <partitions config:type="list"> <partition> <mount>/</mount> <size>5gb</size> </partition> <partition> <mount>swap</mount> <size>1gb</size> </partition> </partitions> </drive> <drive> <device>/dev/hdb</device> <use>all</use> <partitions config:type="list"> <partition> <filesystem config:type="symbol">reiser</filesystem> <mount>/data1</mount> <size>15gb</size> </partition> <partition> <filesystem config:type="symbol">jfs</filesystem> <mount>/data2</mount> <size>auto</size> </partition> </partitions> <use>free</use> </drive> </partitioning>
多くの場合、 AutoYaST では自動的にパーティションを削除することが できるため、パーティションテーブルを消去する必要はありません。 ですが、パーティションを個別に削除するのではなく、パーティション テーブルごと削除することもできます。
この場合は、 "drive" セクションに対して下記の項目を追加します:
<initialize config:type="boolean">true</initialize>
この設定を行なうと、 AutoYaST はパーティション解析処理を行ない、 計画を作成する前に、パーティションテーブルを削除します。 もちろん、これにより既存のパーティションのデータは全て 失われることになります。
既定では、ファイルシステムは /etc/fstab
内でデバイス名を利用してマウントします。それ以外にも、
UUID やボリュームラベルで
マウントする方法があります。なお、必ずしも全てのファイルシステムが
UUID やボリュームラベルに
対応しているわけではありません。パーティションのマウント方法
を指定するには、 symbol 型を持つ
mountby 属性で設定してください。
指定可能な値は下記のとおりです:
device (デバイス, 既定値)
label (ラベル)
UUID
ボリュームラベルを利用してマウントする場合、その名前は label 属性内に入力します。
/etc/fstab
の 4 番目のフィールドに入力する
マウントオプションについても設定することができます。複数の
オプションはカンマで区切ります。設定可能な値は下記のとおりです:
読み込み専用でのマウント (ro): ファイルシステムに対して、読み込み専用でマウントすることを 指示します。既定値は "false" です。
アクセス日時更新の無効化 (noatime): ファイルが読み込まれた際、アクセス日時を更新しないようにします。 既定値は "false" です。
ユーザによるマウント (user): 対象のファイルシステムが、一般ユーザからマウントできるように なります。既定値は "false" です。
データ部分のジャーナルモード指定 (ordered, journal,writeback): ファイルデータに対するジャーナル設定を指定します。
ファイルシステムに書き込む前に、 すべてのデータをジャーナルに書き込みます。
メタデータ部分をジャーナルに書き込む前に、 すべてのデータをファイルシステムに書き込みます。
データの順序性を維持しないようにします。
アクセス制御リスト (acl): ファイルシステムに対して、アクセス制御リスト機能の有効化を 指定します。
拡張ユーザ属性 (user_xattr): ファイルシステムに対して、ユーザ属性を拡張して使用できる ようにします。
例4.5 マウントオプション
<partitions config:type="list"> <partition> <filesystem config:type="symbol">reiser</filesystem> <format config:type="boolean">true</format> <fstopt>ro,noatime,user,data=ordered,acl,user_xattr</fstopt> <mount>/local</mount> <mountby config:type="symbol">uuid</mountby> <partition_id config:type="integer">131</partition_id> <size>10gb</size> </partition> </partitions>
場合によっては、何もない状態からパーティションを作成するのではなく、 一方のパーティションはそのまま保持し、他方のパーティションだけを フォーマットしたいようなことがあります。たとえば他の Linux インストールが存在していたり、全く異なるオペレーティングシステムが 存在していたりするような場合、それらのパーティションは消去せず、 そのままにしなければならないことがあります。
このような場合は、インストール先のシステムに対して、あらかじめ どのようなパーティションが設定されているのかを知っておく必要が あります。どのようにパーティションを操作するのかにもよりますが、 たいていの場合は既存のパーティションに対して、 ID とサイズ、 番号をそれぞれ知っておく必要があります。これらの情報をもとにして、 AutoYaST に一方のパーティションの保持、および他方のパーティションの フォーマット (または作成) をそれぞれ指定します。
下記の例では、パーティション番号 1, 2, 5 をそれぞれ保持し、 6 を削除して新しい 2 つのパーティションを作成しています。残りの すべてのパーティションのみをフォーマットしています。
例4.6 パーティションの保持
<partitioning config:type="list"> <drive> <device>/dev/hdc</device> <partitions config:type="list"> <partition> <create config:type="boolean">false</create> <format config:type="boolean">true</format> <mount>/</mount> <partition_nr config:type="integer">1</partition_nr> </partition> <partition> <create config:type="boolean">false</create> <format config:type="boolean">false</format> <partition_nr config:type="integer">2</partition_nr> <mount>/space</mount> </partition> <partition> <create config:type="boolean">false</create> <format config:type="boolean">true</format> <filesystem config:type="symbol">swap</filesystem> <partition_nr config:type="integer">5</partition_nr> <mount>swap</mount> </partition> <partition> <format config:type="boolean">true</format> <mount>/space2</mount> <size>50mb</size> </partition> <partition> <format config:type="boolean">true</format> <mount>/space3</mount> <size>max</size> </partition> </partitions> <use>6</use> </drive> </partitioning>
上記の例は、既存のパーティションテーブルに対する正確な 情報が必要となるもので、指定した番号のパーティションを保持する ように指定しています。ただし、場合によってはそのような 情報が採取できない場合も考えられます。たとえば、ハードウエア 環境やハードディスクの種類や設定が、混在していたりする 場合などです。下記のシナリオは、 Linux 以外の OS と Linux がインストールされている場合の例です。
上記のシナリオ (「図4.1「パーティションの保持」」) では、 AutoYaST には新しいパーティションを作成させず、特定のパーティション タイプを検出させてそれらを使用するよう、制御ファイル内に 計画を記述するのが適切です。この場合はパーティション番号が 記載されないことになりますが、マウントポイントとパーティション タイプを指定して行ないます (ファイルシステムのオプションや 暗号化、ファイルシステムの種類などのオプションも指定できます) 。
例4.7 保持すべきパーティションの自動検出
<partitioning config:type="list"> <drive> <partitions config:type="list"> <partition> <create config:type="boolean">false</create> <format config:type="boolean">true</format> <mount>/</mount> <partition_id config:type="integer">131</partition_id> </partition> <partition> <create config:type="boolean">false</create> <format config:type="boolean">true</format> <filesystem config:type="symbol">swap</filesystem> <partition_id config:type="integer">130</partition_id> <mount>swap</mount> </partition> </partitions> </drive> </partitioning>
新機能 | |
---|---|
このオプションは、 AutoYaST に対して既存の |
既定では、すべてのパーティションに対してフォーマットを行ないますが、 いくつかのパーティションをフォーマットせず、マウントだけを行なうような 設定も可能です (たとえばデータ用のパーティションなど) 。また、システムに 複数のオペレーティングシステムがインストールされている場合 (たとえば それぞれルートパーティションの異なる fstab ファイル が存在する場合など) は、制御ファイル内でルートパーティションを 指定していない限り、インストールは中断されます。下記の例では、 このオプションの使用方法を説明しています:
例4.8 既存の /etc/fstab
の読み込み
<partitioning_advanced> <fstab> <!-- 既存の fstab からデータを読み込みます。複数のルートパーティションが 見つかった場合、下記でいずれかを選択します。選択しない場合は、 最初に見つかったものを使用します。 --> <!-- <root_partition>/dev/hda5</root_partition> --> <use_existing_fstab config:type="boolean">true</use_existing_fstab> <!-- fstab で見つかったパーティションは、全て既定でフォーマットと マウントが行われます。ただし、異なる設定がされているパーティションに ついては、除外されます。 --> <partitions config:type="list"> <partition> <format config:type="boolean">false</format> <mount>/bootmirror</mount> </partition> </partitions> </fstab> </partitioning_advanced>
LVM を設定するには、まずこれまでに説明した通常のパーティション設定を 利用して、 物理ボリューム を作成します。
例4.9 LVM 物理ボリュームの作成
下記の例では、 partitioning リソースで どのように LVM を設定するのかを示しています:
<partitioning config:type="list"> <drive> <device>/dev/sda</device> <partitions config:type="list"> <partition> <lvm_group>system</lvm_group> <partition_type>primary</partition_type> <size>max</size> </partition> </partitions> <use>all</use> </drive> </partitioning>
上記の例では、 /dev/sda1
デバイスに対して
LVM というタイプのパーティションを作成し、
フォーマットを行なわずにボリュームグループ system
に設定します。また、このパーティションはドライブ内で利用可能な
すべての領域を使用します。
例4.10 LVM 論理ボリューム (新しい書式)
<partitioning config:type="list"> <drive> <device>/dev/sda</device> <partitions config:type="list"> <partition> <lvm_group>system</lvm_group> <partition_type>primary</partition_type> <size>max</size> </partition> </partitions> <use>all</use> </drive> <drive> <device>/dev/system</device> <is_lvm_vg config:type="boolean">true</is_lvm_vg> <partitions config:type="list"> <partition> <filesystem config:type="symbol">reiser</filesystem> <lv_name>user_lv</lv_name> <mount>/usr</mount> <size>500mb</size> </partition> <partition> <filesystem config:type="symbol">reiser</filesystem> <lv_name>opt_lv</lv_name> <mount>/opt</mount> <size>1500mb</size> </partition> <partition> <filesystem config:type="symbol">reiser</filesystem> <lv_name>var_lv</lv_name> <mount>/var</mount> <size>200mb</size> </partition> </partitions> <pesize>4M</pesize> <use>all</use> </drive> </partitioning>
SUSE Linux 10.1 またはそれ以降のバージョンでは、論理ボリュームの size (サイズ) を max (最大値) に 設定することができます。もちろん max の設定は、 いずれか 1 つの論理ボリュームに対してのみ設定できます。 1 つのボリューム グループ内にある 2 つの論理ボリュームに対して、 size を max にすることは できません。
SLES10 またはそれ以前では EVMS に対応していますが、 SLES11 またはそれ以降の バージョンでは、 EVMS に対応していません。
EVMS は LVM (上述) とよく似た使い方ができるもので、 LVM から EVMS への切り替えも、 AutoYaST プロファイル内で少し変更するだけで完了します。それぞれ "is_lvm_vg" の要素を "is_evms_vg" に変更し、 "lvm_group" の要素を "evms_group" に変更してください。
なお、 AutoYaST では、 LVM と EVMS を混在させることはできません。
LVM の例を EVMS に変更すると、下記のようになります:
例4.11 EVMS 論理ボリューム
<partitioning config:type="list"> <drive> <device>/dev/sda</device> <partitions config:type="list"> <partition> <evms_group>system</evms_group> <partition_type>primary</partition_type> <size>max</size> </partition> </partitions> <use>all</use> </drive> <drive> <device>/dev/system</device> <is_evms_vg config:type="boolean">true</is_evms_vg> <partitions config:type="list"> <partition> <filesystem config:type="symbol">reiser</filesystem> <lv_name>user_lv</lv_name> <mount>/usr</mount> <size>500mb</size> </partition> <partition> <filesystem config:type="symbol">reiser</filesystem> <lv_name>opt_lv</lv_name> <mount>/opt</mount> <size>1500mb</size> </partition> <partition> <filesystem config:type="symbol">reiser</filesystem> <lv_name>var_lv</lv_name> <mount>/var</mount> <size>200mb</size> </partition> </partitions> <pesize>4M</pesize> <use>all</use> </drive> </partitioning>
AutoYaST を利用することで、ソフトウエア RAID を作成/構築することが できます。サポートされる RAID レベルは下記のとおりです:
RAID 0: このレベルはディスク性能を引き上げるためのもので、冗長性は ありません 。いずれか 1 台のドライブが クラッシュすると、データの復元は不可能になります。
RAID 1: このレベルは最大限の冗長性を提供します。これは 2 台以上のディスクで 構成できるレベルであり、全てのデータに対して正確なコピーを 保持します。いずれか 1 台のディスクさえ生きていれば、データを 失うことはありません。なお、このタイプの RAID を使用するパーティション は、それぞれ全く同一のサイズでなければなりません。
RAID 5: このレベルは多数のディスクを組み合わせて使用し、かつ幾分かの 冗長性を提供します。このレベルを使用するには、 3 台以上のディスクが 必要となります。いずれか 1 台のディスクがクラッシュしても、 データを失うことはありませんが、同時に 2 台のディスクがクラッシュ すると、データの復元は不可能になります。
Multipath: このモードは同一の物理デバイスに対して、複数のコントローラから アクセスできるようにするためのもので、コントローラカードの障害を 回避することができます。このモードを使用するには、少なくとも 2 台の デバイスが必要となります。
LVM の場合は、まずすべての RAID パーティションを作成し、それらを作成したい RAID デバイスに所属させる必要があります。また、 RAID 内で パーティションやデバイスをそのまま使用するか、もしくは スペア デバイス (障害発生時用の待機デバイス) とするかを設定します。
下記の例では、シンプルな RAID1 設定を行なっています:
例4.12 RAID1 の設定
<partitioning config:type="list"> <drive> <device>/dev/sda</device> <partitions config:type="list"> <partition> <partition_id config:type="integer">253</partition_id> <format config:type="boolean">false</format> <raid_name>/dev/md0</raid_name> <raid_type>raid</raid_type> <size>4gb</size> </partition> <!-- 通常のパーティション ("/" や swap (スワップ) など) が続きます --> </partitions> <use>all</use> </drive> <drive> <device>/dev/sdb</device> <partitions config:type="list"> <partition> <format config:type="boolean">false</format> <partition_id config:type="integer">253</partition_id> <raid_name>/dev/md0</raid_name> <raid_type>raid</raid_type> <size>4gb</size> </partition> </partitions> <use>all</use> </drive> <drive> <device>/dev/md</device> <partitions config:type="list"> <partition> <filesystem config:type="symbol">reiser</filesystem> <format config:type="boolean">true</format> <mount>/space</mount> <partition_id config:type="integer">131</partition_id> <partition_nr config:type="integer">0</partition_nr> <raid_options> <chunk_size>4</chunk_size> <parity_algorithm>left-asymmetric</parity_algorithm> <raid_type>raid1</raid_type> </raid_options> </partition> </partitions> <use>all</use> </drive> </partitioning>
RAID を設定する際には、下記の点に注意してください:
RAID デバイスは必ず /dev/md にします。
partition_nr 属性を、 MD デバイスの 順序番号に設定します。たとえば partition_nr を 0 に設定すると、 /dev/md0 が 設定されます。
すべての RAID 固有オプションが、 raid_options リソース内に含まれるようにします。
下記の要素を <profile> セクション内に設定する必要があります:
<dasd> <devices config:type="list"> <listentry> ... </listentry> </devices> </dasd>
それぞれのディスクは、 <listentry> から </listentry> までの間で設定します:
属性 |
値 |
説明 |
---|---|---|
device |
固定で <device >DASD</dev_name> | |
dev_name |
このセクションで設定するデバイスを、
<dev_name >/dev/dasda</dev_name> |
任意指定ですが、設定しておくことをお勧めします。何も指定しない 場合、 AutoYaST はデバイスを独自に判別します。 |
channel |
ディスクに対してアクセスするチャネルを指定します。 <channel>0.0.0150</channel> |
必須です。 |
diag |
<diag config:type="boolean">true</diag> |
任意指定です。 |
下記の要素を <profile> セクション内に設定する必要があります:
<zfcp> <devices config:type="list"> <listentry> ... </listentry> </devices> </zfcp>
それぞれのディスクは、 <listentry> から </listentry> までの間で設定します:
属性 |
値 |
説明 |
---|---|---|
controller_id |
チャネル番号を指定します。 <controller_id >0.0.fc00</controller_id> | |
fcp_lun |
論理ユニット番号を指定します。 <fcp_lun >0x4010400400000000</fcp_lun> | |
wwpn |
World wide Port Number を指定します。 <wwpn >0x500507630510473a</wwpn> |
SLES10 およびそれ以降のバージョンでは、 セレクション と呼ばれる機能は廃止され、 パターン という 形式になりました。 AutoYaST ではセレクションをパターンに変換する ことはできません。 SLES9 で使用していた AutoYaST プロファイルを SLES10 サーバに対して使用したい場合は、 addon 項目をすべて削除して、 base 項目を追加する 必要があります。パターンは下記のようにして設定します:
例4.13 制御ファイル内でのパターンとパッケージの選択
<software> <patterns config:type="list"> <pattern>directory_server</pattern> </patterns> <packages config:type="list"> <package>apache</package> <package>sendmail</package> </packages> <do_online_update config:type="boolean">true</do_online_update> <!-- openSUSE 11.1 以降 --> </software>
packages での選択は、 SLES9 から変わっていません。 addon と base のセクション だけがなくなっています。
この機能は openSUSE 11.1 またはそれ以降のバージョンで利用できます。 SLES11 では利用できません。
openSUSE 11.0 では、インストールの作業を迅速に行なうため、イメージからの インストールを行なうことができます。もちろん openSUSE 11.1 以降のバージョン でも対応している機能です。
例4.14 イメージ配置の有効化
<!-- openSUSE 11.1 以降 --> <!-- software セクション内ではないことに注意してください! --> <deploy_image> <image_installation config:type="boolean">false</image_installation> </deploy_image>
CD-ROM などのメディア内に用意されているパッケージに加え、カーネルの カスタマイズ版など、外部のパッケージをインストールすることができます。 ただし、たとえばカスタマイズ版のカーネルパッケージは SuSE のパッケージと互換性が無ければなりませんし、通常版のカーネルと同じ場所に インストールされるものでなければなりません。
従来のバージョンでは、制御ファイル内で独自の場所を指定してインストールを 行なう必要はなく、パッケージデータベースを再作成して、新しいパッケージや 新しいバージョンのパッケージを、インストール元のリポジトリに配置するだけ で済んでいました。
このような作業を行なう目的で、リポジトリ内で利用可能なパッケージを問い合わせ、 パッケージデータベースを作成するためのスクリプトが提供されています。 /usr/bin/create_package_descr コマンドをお使いのうえ、 パッケージデータベースを作成してください。ただし、データベースを作成する際、 すべての言語は英語にリセットされることに注意してください。
例4.15 パッケージデータベースの作成
cd /usr/local/CDs/LATEST/suse create_package_descr -x PATH_TO_EXTRA_PROV -d /usr/local/CDs/LATEST/suse
SUSE Linux 9.1 および SLES 9 での変更点 | |
---|---|
rpm ファイルには記述されていない追加の依存関係を設定するには、
|
上記の例では、 /usr/local/CDs/LATEST/suse
ディレクトリ
内に、アーキテクチャに依存したパッケージ (i586 など) と
依存していないパッケージ (noarch) の両方が含まれて
います。異なるアーキテクチャの場合は、出力が異なります。
この方法の利点は、 SuSE FTP サーバなどから取得する 場合に比べ、更新された最新のパッケージを配置できるという点にあります。 また、この方法を利用すれば、独自の CD-ROM を簡単に作成できることにも なります。
SUSE Linux 10.1 および SLES 10 での変更点 | |
---|---|
SLES10/SL10.1 では、インストール元に独自の RPM を追加するための 方法が変更されています。 AutoYaST や YaST において、 yast/order や yast/instorder はサポートされていません。独自の RPM をインストール元に追加したい 場合 (SDK などのアドオン製品を含む) は、元の製品の CD1 に対し、 下記のような add_on_products ファイルを 追加してください: media_url [path_on_media [product_1 [product_2 [....]]] media_url ではメディアの URL を指定します。 path_on_media はメディア内の カタログのパスを指定します。何も指定しない場合は、ルート (/) ディレクトリ であるものと判断されます。 product_1 とそれ以降には、それぞれ インストールに使用する製品の名称を指定します。こちらも何も指定しない 場合は、メディア内のすべての製品をインストールします。 たとえば下記のようになります: http://192.168.66.6/SLES10/sdk/CD1 http://192.168.66.6/SLES10/CD1/updates add_on_products ファイルを作成したら、 AutoYaST のプロファイルでそれを使用するように指定します。 たとえば下記のようになります: <add-on> <add_on_products config:type="list"> <listentry> <media_url>http://192.168.66.6/SLES10/CD1/updates</media_url> <product>SuSE-Linux-Updates</product> <product_dir>/</product_dir> <ask_on_error config:type="boolean">false</ask_on_error> <!-- openSUSE 11.0 またはそれ以降で利用可能 --> <name>MyUpdates</name> <!-- openSUSE 11.1/SLES11 またはそれ以降で利用可能 (bnc#433981) --> </listentry> </add_on_products> </add-on> AutoYaST のプロファイル内で上記の項目を設定する場合、 add_on_products ファイルは不要です。 また、 openSUSE 11.0 またはそれ以降のバージョンの場合、指定した場所にアドオン製品が 見つからない場合、タイムアウトエラーを報告する代わりに、ユーザに対してアドオン製品の 準備を行なうように指示することができます。これを設定するには、 ask_on_error を "true" に設定してください (既定値は "false" です) 。この設定であれば、 CD/DVD からの インストールでも、異なるメディアにあるアドオン製品を設定することができます。 なお、 YaST はインストール元にあるファイルの署名を確認します。 content ファイルに対して署名が存在しないと、手動インストールでは YaST がユーザに対して、どのように対処すべきかを尋ねます。自動インストールでは、 特に通知を行なうことなく、指定したインストール元を使用しなくなります。 |
AutoYaST で署名の存在しないインストール元を使用させたい場合は、 AutoYaST のプロファイルで 下記の設定を行ない、署名の確認を無効化してください (general セクション 内に記述します) 。
下記の要素は、 <general><signature-handling> から </signature-handling></general> までの間に記述します。
属性 |
値 |
説明 |
---|---|---|
accept_unsigned_file |
"true" に設定すると、 AutoYaST は content ファイルが 署名されていない場合にも、受け入れるようになります。 <accept_unsigned_file config:type="boolean" >true</accept_unsigned_file> |
任意指定です。何も指定しない場合は、 YaST 側で何をすべきかを 判断します。 |
accept_file_without_checksum |
"true" に設定すると、 AutoYaST は content ファイルに チェックサムが存在しない場合も、ファイルを受け入れる ようになります。 <accept_file_without_checksum config:type="boolean" >true</accept_file_without_checksum> |
任意指定です。何も指定しない場合は、 YaST 側で何をすべきかを 判断します。 |
accept_verification_failed |
"true" に設定すると、 AutoYaST は署名の確認が失敗した場合も、その ファイルを受け入れるようになります。 <accept_verification_failed config:type="boolean" >true</accept_verification_failed> |
任意指定です。何も指定しない場合は、 YaST 側で何をすべきかを 判断します。 |
accept_unknown_gpg_key |
"true" に設定すると、 AutoYaST は content ファイルの署名などに 使用する新しい gpg 鍵を、インストール元から受け入れます。 <accept_unknown_gpg_key config:type="boolean" >true</accept_unknown_gpg_key> |
任意指定です。何も指定しない場合は、 YaST 側で何をすべきかを 判断します。 |
accept_non_trusted_gpg_key |
既知の鍵であるものの、信頼していない鍵を受け入れる設定です。 <accept_non_trusted_gpg_key config:type="boolean" >true</accept_non_trusted_gpg_key> |
任意指定です。何も指定しない場合は、 YaST 側で何をすべきかを 判断します。 |
import_gpg_key |
"true" に設定すると、 AutoYaST はインストール元にある新しい gpg 鍵を受け入れ、自身のデータベース内に取り込みます。 <import_gpg_key config:type="boolean" >true</import_gpg_key> |
任意指定です。何も指定しない場合は、 YaST 側で何をすべきかを 判断します。 |
openSUSE 10.3 またはそれ以降のバージョンでは、それぞれのアドオン製品に 対して個別に署名処理を設定することができます。下記の要素は、個別のアドオン 製品内の <signature-handling> セクション内に記載します。
属性 |
値 |
説明 |
---|---|---|
accept_unsigned_file |
"true" に設定すると、 AutoYaST はこのアドオン製品に対する content ファイルが署名されていない場合にも、受け入れるように なります。 <accept_unsigned_file config:type="boolean" >true</accept_unsigned_file> |
任意指定です。何も指定しない場合は、 <general> セクションの グローバル設定を使用します。 |
accept_file_without_checksum |
"true" に設定すると、 AutoYaST はこのアドオン製品に対する content ファイルにチェックサムが存在しない場合も、 ファイルを受け入れるようになります。 <accept_file_without_checksum config:type="boolean" >true</accept_file_without_checksum> |
任意指定です。何も指定しない場合は、 <general> セクションの グローバル設定を使用します。 |
accept_verification_failed |
"true" に設定すると、 AutoYaST はこのアドオン製品に対する 署名の確認が失敗した場合も、そのファイルを受け入れるようになります。 <accept_verification_failed config:type="boolean" >true</accept_verification_failed> |
任意指定です。何も指定しない場合は、 <general> セクションの グローバル設定を使用します。 |
accept_unknown_gpg_key |
"true" に設定すると、 AutoYaST はこのアドオン製品に対する content ファイルの署名などに使用する新しい gpg 鍵を、インストール 元から受け入れます。 <accept_unknown_gpg_key> <all config:type="boolean">false</all> <keys config:type="list"> <keyid>3B3011B76B9D6523</keyid> </keys> </accept_unknown_gpg_key> |
任意指定です。何も指定しない場合は、 <general> セクションの グローバル設定を使用します。 |
accept_non_trusted_gpg_key |
既知の鍵であるものの、信頼していない鍵を受け入れる設定です。 <accept_non_trusted_gpg_key> <all config:type="boolean">false</all> <keys config:type="list"> <keyid>3B3011B76B9D6523</keyid> </keys> </accept_non_trusted_gpg_key> |
任意指定です。何も指定しない場合は、 <general> セクションの グローバル設定を使用します。 |
import_gpg_key |
"true" に設定すると、 AutoYaST はインストール元にある新しい gpg 鍵を受け入れ、自身のデータベース内に取り込みます。 <import_gpg_key> <all config:type="boolean">false</all> <keys config:type="list"> <keyid>3B3011B76B9D6523</keyid> </keys> </import_gpg_key> |
任意指定です。何も指定しない場合は、 <general> セクションの グローバル設定を使用します。 |
カーネルパッケージは、パターンなどの選択には含まれません。基本的には、 インストール時に必要なカーネルを自動的に判断します。これは、パターンに カーネルパッケージが含まれてると、多くの場合矛盾が発生することになり、 インストールがうまくいかなくなるためです。
特定のカーネルをインストールするように強制したい場合は、 kernel 属性を使用します。下記は default カーネルを インストールするように強制する設定です。この設定では、 SMP など他の カーネルが必要な環境であっても、 default カーネルをインストール します。
例4.16 制御ファイル内でのパッケージ選択
<software> <kernel>kernel-default</kernel> <packages config:type="list"> <package>apache2</package> </packages> </software>
パッケージによっては、依存関係やセレクションの都合により、 自動的にインストールするように選択されるものがあります。
これらのパッケージを削除してしまうと、システムの一貫性を壊す ことになってしまいます。特に基本パッケージについては、同様の 機能が提供される場合を除いて、削除することはお勧めできません。 たとえば MTA (メール転送エージェント) の機能では、既定では postfix が選択され インストールされますが、 sendmail と呼ばれる もう 1 つの MTA を使用することも できます。 sendmail をインストールすると、 不要になった postfix は自動的に削除されます。 下記の例では、このような動作を説明しています:
例4.17 制御ファイル内でのパッケージ選択
<software> <packages config:type="list"> <package>sendmail</package> </packages> <remove-packages config:type="list"> <package>postfix</package> </remove-packages> </software>
第 1 ステージではなく、再起動後の第 2 ステージでパッケージを インストールしたい場合は、 post-packages 要素内で指定します:
<software> <post-packages config:type="list"> <package>yast2-cim</package> </post-packages> </software>
SLES11 および openSUSE 11.1 、もしくはそれ以降のバージョンでは、 第 2 ステージでパターンをインストールすることもできるようになって います。 post-patterns 要素内で設定して ください:
<software> <post-patterns config:type="list"> <pattern>apparmor</pattern> </post-patterns> </software>
openSUSE 11.1 またはそれ以降のバージョンでは、インストールの最後に オンライン更新を実施することができます。オンライン更新を実施するには、 do_online_update を "true" に設定してください。 もちろんこれは、 suse-register/customer-center のセクションなどで、 オンライン更新用のリポジトリを追加した場合のみ意味を持ちます。 アドオン製品として、第 1 ステージの段階でオンライン更新リポジトリが 登録済みであった場合は、 AutoYaST は第 1 ステージの段階で最新の パッケージをインストールします。また、オンライン更新でカーネルが更新 されると、第 2 ステージの終了時に再起動が行なわれます。
<software> <do_online_update config:type="boolean">true</do_online_update> </software>
runlevel リソースでは既定のランレベルを設定することができるほか、特定の ランレベルでどのシステムサービスを起動するのかを設定することができます。
default 属性では、システムにおける既定のランレベルを 指定します。ランレベルの変更は、次回のシステム起動時から有効になります。 インストール完了後は、 フルマルチユーザ (ネットワークと ディスプレイマネージャ付き) であるランレベル 5 で動作します。 なお、システムに X11 をインストールしなかった場合は、 general リソース内にある reboot 属性を利用して、第 1 ステージ 終了後にシステムを再起動するように設定することをお勧めします。
特定のランレベルで動作させるサービスについては、下記の例のようにスペース 区切りのリストで指定します。 service_status 属性で、 個別のサービスの状態を変更することもできます。
例4.18 ランレベルの設定
.... <runlevel> <default>3</default> <services config:type="list" > <service> <service_name>at</service_name> <service_start>3 5</service_start> </service> <service> <service_name>portmap</service_name> <service_status>enable</service_status> </service> <service> <service_name>hwscan</service_name> <service_status>disable</service_status> </service> </services> </runlevel> ....
ネットワークの設定は、単一の SuSE Linux マシンを イーサネットやダイアルアップ接続で接続する際に使用します。 複数のネットワークカードが存在する場合や、ルーティングを設定したり する場合など、複雑なネットワーク設定も行なうことができます。 また、このモジュールを利用することで、イーサネットやトークンリングの コントローラを設定することもできます。
まずは networking セクション内で、下記のオプションを "true" に 設定します (既定値は "false" です。 openSUSE 11.2 またはそれ以降の バージョンで利用できます。 SLES11 では利用できません):
<keep_install_network config:type="boolean">true</keep_install_network>
YaST では、インストール時に作成したネットワーク設定 (linuxrc で作成 したもの) を維持することもできますし、 AutoYaST プロファイルで作成した 設定 (作成していれば) と合成することもできます。なお、両方を組み合わせる こともできます。 AutoYaST での設定は、既存の設定ファイルに書かれたもの よりも優先して働きます。また、 YaST は既存の ifcfg-* ファイルを削除する ことはなく、プロファイルに書かれた設定を書き込みます。 DNS やルーティングに 関する設定が存在しない場合、 YaST は既存の設定値を維持します。それ以外の 場合は、プロファイル内の設定内容が適用されます。
ネットワークの設定と有効化を自動的に行なうには、 global リソースを使用して ネットワーク設定を行ないます。
例4.19 ネットワーク設定
..... <networking> <dns> <dhcp_hostname config:type="boolean">true</dhcp_hostname> <dhcp_resolv config:type="boolean">true</dhcp_resolv> <domain>local</domain> <hostname>linux</hostname> </dns> <interfaces config:type="list"> <interface> <bootproto>dhcp</bootproto> <device>eth0</device> <startmode>onboot</startmode> </interface> </interfaces> <routing> <ip_forward config:type="boolean">false</ip_forward> <routes config:type="list"> <route> <destination>default</destination> <device>-</device> <gateway>192.168.1.240</gateway> <netmask>-</netmask> </route> </routes> </routing> <modules config:type="list"> <module_entry> <device>eth0</device> <module>e100</module> <options></options> </module_entry> </modules> </networking> ....
インターネットプロキシ (キャッシュ) サーバに関する 設定を行ないます。
HTTP プロキシ は、 World Wide Web (www) サーバ に接続する際の代理となるサーバです。同様に FTP プロキシ はファイル転送プロトコル (FTP) サーバに接続する際の代理サーバです。 No proxy では、プロキシサーバを使用せずに直接 接続すべきドメインを指定します。
プロキシサーバに対して認証が必要となる場合は、それぞれユーザ名 (proxy_user) とパスワード (proxy_password) も指定してください。
例4.20 ネットワーク設定: プロキシ
<?xml version="1.0"?> <!DOCTYPE profile> <profile xmlns="http://www.suse.com/1.0/yast2ns" xmlns:config="http://www.suse.com/1.0/configns"> <proxy> <enabled config:type="boolean">true</enabled> <ftp_proxy>http://192.168.1.240:3128</ftp_proxy> <http_proxy>http://192.168.1.240:3128</http_proxy> <no_proxy>localhost</no_proxy> <proxy_password>testpw</proxy_password> <proxy_user>testuser</proxy_user> </proxy> </profile>
AutoYaST のプロファイルでは、使用すべきスーパーサーバを指定する要素 (netd_service) が存在するほか、それを有効にするかどうか (netd_status) やサービスを設定すべきかどうか (netd_conf) を設定することができます。
サービスの設定は、 2 つのパーツから構成されています。 1 つはキー項目、 もう 1 つはキー以外の項目です。設定を記述する際は、キー項目を利用して 項目のマッチング処理を行なうことに注意してください。該当するサービスが 既に存在する場合、既存のサービスに対してそれ以外の (キー以外の) 項目が 設定されます。該当するサービスが存在しない場合は、新しいサービスが 作成されます。複数のサービスが該当するような場合は、警告が報告されます。 なお、キー項目は script, service, protocol, server の 4 つです。
service と protocol は文字列が
一致するかどうかが判断基準になります。 script は
設定ファイルのベース名 (ディレクトリ部を除いたファイル名) を設定し、
通常は /etc/xinetd.d
以下のファイル名 (たとえば
"echo-udp", "inetd.conf" など) になります。 8.2 との互換性のため、
server の項目はゆるやかな判断を行ないます。
この項目が /usr/sbin/tcpd
の場合、実際のサーバ名は
server_args から取得します。この場合は、空白で
区切られた最初の内容のベース名を判断基準にします。
例4.21 inetd の例
<profile> ... <inetd> <netd_service config:type="symbol">xinetd</netd_service> <netd_status config:type="integer">0</netd_status> <netd_conf config:type="list"> <conf> <script>imap</script> <service>pop3</service> <enabled config:type="boolean">true</enabled> </conf> <conf> <server>in.ftpd</server> <server_args>-A</server_args> <enabled config:type="boolean">true</enabled> </conf> <conf> <service>daytime</service> <protocol>tcp</protocol> </conf> .... <conf>...</conf> </netd_conf> </inetd> ... </profile>
nis リソースを使用すると、ターゲットのマシンを NIS クライアント として設定することができます。 下記の例は、複数のドメインを利用する詳細な設定例です。
例4.22 ネットワーク設定: NIS
... <nis> <nis_broadcast config:type="boolean">true</nis_broadcast> <nis_broken_server config:type="boolean">true</nis_broken_server> <nis_by_dhcp config:type="boolean">false</nis_by_dhcp> <nis_domain>test.com</nis_domain> <nis_local_only config:type="boolean">true</nis_local_only> <nis_options></nis_options> <nis_other_domains config:type="list"> <nis_other_domain> <nis_broadcast config:type="boolean">false</nis_broadcast> <nis_domain>domain.com</nis_domain> <nis_servers config:type="list"> <nis_server>10.10.0.1</nis_server> </nis_servers> </nis_other_domain> </nis_other_domains> <nis_servers config:type="list"> <nis_server>192.168.1.1</nis_server> </nis_servers> <start_autofs config:type="boolean">true</start_autofs> <start_nis config:type="boolean">true</start_nis> </nis> ...
インストールするマシンのユーザ認証を行なうにあたって、 OpenLDAP サーバの 認証情報を利用する LDAP クライアント を設定することができます。このとき必要となるデータは、検索のベース名 (ベース DN 、 たとえば dc=mydomain,dc=com など) と LDAP サーバのアドレス (たとえば 10.20.0.2) です。
LDAP クライアントを有効にしてユーザ認証を 行なう場合、それぞれ NSS と PAM についても、設定を行なう必要があります。
例4.23 ネットワーク設定: LDAP クライアント
... <ldap> <ldap_domain> dc=mydomain,dc=com</ldap_domain> <ldap_server>10.10.0.1</ldap_server> <ldap_tls config:type="boolean">true</ldap_tls> <ldap_v2 config:type="boolean">true</ldap_v2> <pam_password>crypt</pam_password> <start_ldap config:type="boolean">true</start_ldap> </ldap> ...
システムを NFS サーバや NFS クライアントとなるように設定したい場合も、 設定システムを利用することで設定できます。下記の例では、 NFS クライアントと サーバの両方の使用方法を説明しています。
SLE11 および openSUSE 11.2 までのバージョンの場合、 NFS クライアント設定は 下記のように記述します:
例4.24 ネットワーク設定: NFS クライアント
... <nfs config:type="list"> <nfs_entry> <mount_point>/home</mount_point> <nfs_options>defaults</nfs_options> <server_path>192.168.1.1:/home</server_path> </nfs_entry> </nfs> ...
openSUSE 11.3 または SLE12 、もしくはそれ以降のバージョンの場合、 NFS クライアントの設定構造が変更されています。いくつかのグローバル設定 オプションが新しく用意されています: enable_nfs4 は NFS サポートを有効にするかどうか、 idmapd_domain は rpc.idmapd 向けのドメイン名 (NFS4 を有効にした場合にのみ意味のある 設定) をそれぞれ設定することができます。ただし、古い構造の設定は 新しい構造の設定と互換性がありません。そのため、古いリリース向けに 作成された NFS セクションは、新しい製品では動作しません。
例4.25 ネットワーク設定: NFS クライアント - 新形式 (openSUSE 11.3 およびそれ以降)
... <nfs> <enable_nfs4 config:type="boolean">true</enable_nfs4> <idmapd_domain>suse.cz</idmapd_domain> <nfs_entries config:type="list"> <nfs_entry> <mount_point>/home</mount_point> <nfs_options>sec=krb5i,intr,rw</nfs_options> <server_path>saurus.suse.cz:/home</server_path> <vfstype>nfs4</vfstype> </nfs_entry> <nfs_entry> <mount_point>/work</mount_point> <nfs_options>defaults</nfs_options> <server_path>bivoj.suse.cz:/work</server_path> <vfstype>nfs</vfstype> </nfs_entry> <nfs_entry> <mount_point>/mnt</mount_point> <nfs_options>defaults</nfs_options> <server_path>fallback.suse.cz:/srv/dist</server_path> <vfstype>nfs</vfstype> </nfs_entry> </nfs_entries> </nfs> ...
例4.26 ネットワーク設定: NFS サーバ
.... <nfs_server> <nfs_exports config:type="list"> <nfs_export> <allowed config:type="list"> <allowed_clients>*(ro,root_squash,sync)</allowed_clients> </allowed> <mountpoint>/home</mountpoint> </nfs_export> <nfs_export> <allowed config:type="list"> <allowed_clients>*(ro,root_squash,sync)</allowed_clients> </allowed> <mountpoint>/work</mountpoint> </nfs_export> </nfs_exports> <start_nfsserver config:type="boolean">true</start_nfsserver> </nfs_server> ....
システムの起動時に、 NTP デーモンを起動するかどうかを設定することが できます。 NTP デーモンはその起動時にホスト名を解決するほか、 NTP デーモンの起動前に時刻同期処理も行なわれます。起動時の時刻同期処理に 使用するホストを設定するには、 initial_sync を指定します。
また、 NTP デーモンを chroot jail 下で動作させるには、 start_in_chroot を設定します。 chroot jail 内で デーモンを動作させると、システムのセキュリティがより高くなるため、 設定しておくことを強くお勧めします。また、 NTP サーバやピア、ローカル クロックや NTP ブロードキャストに関する設定も、制御ファイル内に記述 することができます。下記に様々な設定オプションに関する例を示します。
例4.27 ネットワーク設定: NTP クライアント
<?xml version="1.0"?> <!DOCTYPE profile> <profile xmlns="http://www.suse.com/1.0/yast2ns" xmlns:config="http://www.suse.com/1.0/configns"> <ntp-client> <configure_dhcp config:type="boolean">false</configure_dhcp> <peers config:type="list"> <peer> <address>ntp1.example.com</address> <initial_sync config:type="boolean">true</initial_sync> <options></options> <type>server</type> </peer> </peers> <start_at_boot config:type="boolean">true</start_at_boot> <start_in_chroot config:type="boolean">true</start_in_chroot> </ntp-client> </profile>
このモジュールでは、メールクライアントに対するサーバ側の設定を 行なうことができます。このモジュールには様々なオプションが用意されて いますが、下記の例を元に作成していくことをお勧めします。
例4.28 メール設定
... <mail> <aliases config:type="list"> <alias> <alias>root</alias> <comment></comment> <destinations>foo</destinations> </alias> <alias> <alias>test</alias> <comment></comment> <destinations>foo</destinations> </alias> </aliases> <connection_type config:type="symbol">permanent</connection_type> <fetchmail config:type="list"> <fetchmail_entry> <local_user>foo</local_user> <password>bar</password> <protocol>POP3</protocol> <remote_user>foo</remote_user> <server>pop.foo.com</server> </fetchmail_entry> <fetchmail_entry> <local_user>test</local_user> <password>bar</password> <protocol>IMAP</protocol> <remote_user>test</remote_user> <server>blah.com</server> </fetchmail_entry> </fetchmail> <from_header>test.com</from_header> <listen_remote config:type="boolean">true</listen_remote> <local_domains config:type="list"> <domains>test1.com</domains> </local_domains> <masquerade_other_domains config:type="list"> <domain>blah.com</domain> </masquerade_other_domains> <masquerade_users config:type="list"> <masquerade_user> <address>joe@test.com</address> <comment></comment> <user>joeuser</user> </masquerade_user> <masquerade_user> <address>bar@test.com</address> <comment></comment> <user>foo</user> </masquerade_user> </masquerade_users> <mta config:type="symbol">postfix</mta> <outgoing_mail_server>test.com</outgoing_mail_server> <postfix_mda config:type="symbol">local</postfix_mda> <smtp_auth config:type="list"> <listentry> <password>bar</password> <server>test.com</server> <user>foo</user> </listentry> </smtp_auth> <use_amavis config:type="boolean">true</use_amavis> <virtual_users config:type="list"> <virtual_user> <alias>test.com</alias> <comment></comment> <destinations>foo.com</destinations> </virtual_user> <virtual_user> <alias>geek.com</alias> <comment></comment> <destinations>bar.com</destinations> </virtual_user> </virtual_users> </mail> ...
このモジュールの使用を使用することで、インストール先のシステムに対して 様々なローカルセキュリティを設定することができます。ローカルセキュリティ には起動時の設定のほか、ログイン設定やパスワードの設定、ユーザに対する 追加の設定やファイルのパーミッション (アクセス許可) などが含まれます。
セキュリティ関連の設定は、インストール済みのシステムでセキュリティ モジュールを起動し、 カスタム設定 で表示される 設定を元にして作成することをお勧めします。
例4.29 セキュリティ設定
たとえば下記のように設定します。
... <security> <console_shutdown>ignore</console_shutdown> <cwd_in_root_path>no</cwd_in_root_path> <displaymanager_remote_access>no</displaymanager_remote_access> <fail_delay>3</fail_delay> <faillog_enab>yes</faillog_enab> <gid_max>60000</gid_max> <gid_min>101</gid_min> <kdm_shutdown>root</kdm_shutdown> <lastlog_enab>yes</lastlog_enab> <encryption>md5</encryption> <obscure_checks_enab>no</obscure_checks_enab> <pass_max_days>99999</pass_max_days> <pass_max_len>8</pass_max_len> <pass_min_days>1</pass_min_days> <pass_min_len>6</pass_min_len> <pass_warn_age>14</pass_warn_age> <passwd_use_cracklib>yes</passwd_use_cracklib> <permission_security>secure</permission_security> <run_updatedb_as>nobody</run_updatedb_as> <uid_max>60000</uid_max> <uid_min>500</uid_min> </security> ...
ここではパスワードに関連した様々な設定を行ないます。これらの設定は、
主に /etc/login.defs
ファイル内に保存されます。
encryption 属性では、パスワードの暗号化に関する 設定を行ないます。何も指定しない場合、 DES が 設定されたものとみなされます。
DES は Linux における既定の暗号化方式で、全ての ネットワーク環境で利用可能なものです。ただし、半角 8 文字以上の パスワードには対応していません。 MD5 はより長い パスワードに対応していますが、ネットワークプロトコルによっては対応 していないものもあり、特に NIS などで問題になります。これ以外にも、 Blowfish 等にも対応しています。
また、パスワードの健全性をチェックにしたり、長さをチェックしたりする ためのオプションも用意されています。
security リソースを使用することで、様々な起動設定を行なうことができます。
Ctrl + Alt + Del の解釈
コンソールで CTRL + ALT + DEL キーの組み合わせを押した際、通常は システムの再起動が行なわれます。ただし、システムがワークステーションと サーバの両方の機能を持ち合わせている場合など、この機能を無視したほうが 都合のよい場合があります。
KDM のシャットダウン時の振る舞い
どのユーザが KDM からシャットダウンを実行できるかを指定します。
ここでは、ログインに関する様々な設定を行ないます。これらの設定の多くは、 '/etc/login.defs' ファイル内に保存されます。
ユーザ ID やグループ ID として使用する、最小値と最大値をそれぞれ 設定します。
openSUSE 11.2 またはそれ以降のバージョンでは、 AutoYaST での X11 設定は提供されなくなりました。プロファイル内に X11 セクションが 存在していても、それらは無視されます。 SLES11 SP1 では従来どおり解釈され、実行されます。 |
FIXME
例4.30 X11 とモニタの設定 (openSUSE 11.2 およびそれ以降では不要です)
... <x11> <color_depth>16</color_depth> <configure_x11 config:type="boolean">true</configure_x11> <display_manager>kde</display_manager> <enable_3d config:type="boolean">false</enable_3d> <monitor> <display> <frequency config:type="integer">60</frequency> <max_hsync config:type="integer">97</max_hsync> <max_vsync config:type="integer">180</max_vsync> <min_hsync config:type="integer">30</min_hsync> <min_vsync config:type="integer">50</min_vsync> <width config:type="integer">1024</width> </display> <monitor_device>G90F</monitor_device> <monitor_vendor>VIEWSONIC</monitor_vendor> </monitor> <resolution>1600x1200,1280x1024,1024x768,800x600,640x480</resolution> <window_manager>kdm</window_manager> </x11> ...
通常のインストール時には、制御ファイル内で root ユーザのほか、少なくとも 1 人の 一般ユーザを追加します。ユーザに関するデータとパスワード (暗号化した状態でも 設定できます) は、制御ファイル内の configure リソース で設定します。
なお、自動インストールの際、少なくとも root ユーザについては設定を行なう必要が あります。 root ユーザを設定しないと、インストール完了後に誰もログインできず、 全く使用することができなくなってしまうためです。また、この設定を行なうことで、 不正なログインを排除することにもなります (もちろんパスワードを設定しなければ なりませんが) 。
下記の例では、システムの設定時に 2 人分のユーザを追加します。
例4.31 ユーザ設定
... <users config:type="list"> <user> <username>root</username> <user_password>password</user_password> <encrypted config:type="boolean">true</encrypted> <forename/> <surname/> </user> <user> <username>nashif</username> <user_password>password</user_password> <encrypted config:type="boolean">true</encrypted> <forename>Anas</forename> <surname>Nashif</surname> </user> </users> ...
上記の例では、ユーザを追加するのに必要な最低限の情報のみを設定
しています。上記以外にも、より高度な設定に対するオプションも用意されて
います。ユーザに対するホームディレクトリの設定など、様々なデータは
/etc/default/useradd
内の情報が使われます。
スクリプトを追加することで、自動インストール処理の途中の様々な段階で、 要件に沿ったカスタマイズを行なうことができます。
自動インストール処理では、 5 種類のスクリプトを実行することができます。 下記では、それぞれインストールの際に実行される順に説明しています。
<scritps> セクション内で使用可能なスクリプト
pre-scripts (とても早い段階で実行されるものです。具体的には、 一切の処理が始まる前に実行されます。)
postpartitioning-scripts (パーティションを設定し、それらを /mnt にマウントしたあと、 RPM のインストールが行なわれる前に実行されます - openSUSE 11.2 または それ以降のバージョンで利用できます)
chroot-scripts (パッケージのインストール後、初回の再起動が行なわれる前に実行されます)
post-scripts (インストール済みのシステムの初回起動時、全てのサービスの起動前に 実行されます)
init-scripts (インストール済みのシステムの初回起動時、全てのサービスの起動後に 実行されます)
YaST がシステムに対して、一切の変更を行なう前に実行するスクリプトです。 (具体的にはパーティションやパッケージのイントールよりも前に実行 されます。ただしハードウエア検出よりも後で実行されます) 。
インストール前スクリプトは、プロファイルそれ自身を修正して AutoYaST に 再読み込みさせる目的でも使用することができます。インストールの最中、 プロファイルは "/tmp/profile/autoinst.xml" 内に存在します。このファイルを スクリプトから修正し、修正版を "/tmp/profile/modified.xml" として保存 すると、 AutoYaST はインストール前スクリプトの完了後、修正版の プロファイルを読み込みます。
SUSE Linux 10.0 またはそれ以降のバージョンの場合、インストール前スクリプト で fdisk によるパーティション修正を行なうことができます。SUSE Linux 10.0 以前の (たとえば SLES9) バージョンでは、これを行なうことはできません。
確認メッセージを表示するインストール前スクリプト | |
---|---|
インストール前スクリプトは、インストールのとても早い段階で実行されます。 たとえばインストール時に確認を行なうように設定した場合、 インストール前スクリプトは確認メッセージ (profile/install/general/mode/confirm) よりも 前に実行されることになります。 |
下記の要素は、 <scripts><pre-scripts config:type="list"><script> から </script></pre-scripts>...</scripts> までの間に記述します。
表4.1 インストール前スクリプトの XML 表記
要素 |
説明 |
備考 |
---|---|---|
location |
スクリプトのダウンロード元となる場所を指定します。 場所は http, ftp, nfs など、プロファイルと同じように指定する ことができます。 <location >http://10.10.0.1/myPreScript.sh</location> |
<location> または <source> のいずれかを 指定しなければなりません。 |
source |
スクリプトそれ自身を CDATA タグ内に記述するためのものです。 プロファイルとスクリプトを分けて作成したい場合は、 location パラメータで指定してください。 <source> <![CDATA[ echo "Testing the pre script" > /tmp/pre-script_out.txt ]]> </source> |
<location> または <source> のいずれかを 指定しなければなりません。 |
interpreter |
このスクリプトに対して使用するインタプリタを指定します。 指定可能な値は、 shell (シェルスクリプト) または perl (Perl スクリプト) です。 <interpreter>perl</interpreter> |
任意指定です (既定値は "shell") 。 |
filename |
スクリプトのファイル名を指定します。これは一時ディレクトリ /tmp/ 内での保存名になります。 <filename>myPreScript5.sh</filename> |
任意指定です。既定値はスクリプトの種類ごとにつけられた名前 (この場合は pre-scripts) になります。複数のスクリプトを利用したい場合は、それぞれ 異なる名前を設定してください。 |
feedback |
この値を "true" にすると、標準出力 (stdout) と標準エラー出力 (stderr) に出力された内容が、ポップアップメッセージとして表示され、 OK ボタンで 確認を求めるようになります。標準出力 (stdout) と標準エラー出力 (stderr) に何も出力されない場合は、ポップアップメッセージも表示されず、確認も 行なわれません。 <feedback config:type="boolean" >true</feedback> |
任意指定です。既定値は "false" です。 SL 10.1 および SLES10 、またはそれ以降のバージョンで利用できます。 |
feedback_type |
確認メッセージの種類を、 "message" (情報), "warning" (警告), "error" (エラー) のいずれかで指定します。これらのポップアップに 対するタイムアウトは、 <report> セクションで指定します。 <feedback_type>warning</feedback_type> |
任意指定です。何も指定しない場合は、進行を止めるタイプのポップアップ が表示されます。 openSUSE 11.2 またはそれ以降のバージョンで利用できます (SLES11 は対応していません) 。 |
debug |
"true" に設定すると、シェルスクリプトの各行がログに記録されます。 Perl スクリプトの場合は、警告モードが設定されます。 <debug config:type="boolean">true</debug> |
任意指定です。既定値は "true" です。このオプションは、 SL 10.1 および SLES10 、またはそれ以降のバージョンで利用できます。 |
notification |
スクリプトが裏で実行されている間、指定したテキストをポップアップで 表示します。 <notification>Please wait while script is running...</notification> |
任意指定です。何も設定しない場合、ポップアップは表示されません。 openSUSE 11.3 および SLES11 SP2 、またはそれ以降のバージョン (SLES10 を除く) で利用できます。 |
rerun |
通常、スクリプトは 1 度だけ実行します。たとえ ayast_setup で XML ファイル内に複数回スクリプトを設定しても、それらは 1 度だけ実行されます。 この設定を無効にし、指定した回数だけ実行したい場合は、この値を "true" に設定してください。 <rerun config:type="boolean">true</rerun> |
任意指定です。既定値は "false" (スクリプトは 1 度だけ実行される) です。 |
openSUSE 11.2 以降のバージョン (SLES11 では未対応です) で利用できます。 |
YaST で、パーティション設定と fstab への書き込みが完了した後に実行される スクリプトです。 /mnt には何もインストールされていないシステムが存在する ことになります。
下記の要素は、 <scripts><postpartitioning-scripts config:type="list"><script> から </script></postpartitioning-scripts>...</scripts> までの間に記述します。
表4.2 パーティション作成後スクリプトの XML 表記
要素 |
説明 |
備考 |
---|---|---|
location |
スクリプトのダウンロード元となる場所を指定します。 場所は http, ftp, nfs など、プロファイルと同じように指定する ことができます。 <location >http://10.10.0.1/myScript.sh</location> |
<location> または <source> のいずれかを 指定しなければなりません。 |
source |
スクリプトそれ自身を CDATA タグ内に記述するためのものです。 プロファイルとスクリプトを分けて作成したい場合は、 location パラメータで指定してください。 <source> <![CDATA[ echo "Testing postpart script" > /mnt/postpart_test.txt ]]> </source> |
<location> または <source> のいずれかを 指定しなければなりません。 |
interpreter |
このスクリプトに対して使用するインタプリタを指定します。 指定可能な値は、 shell (シェルスクリプト) または perl (Perl スクリプト) です。 <interpreter>perl</interpreter> |
任意指定です (既定値は "shell") 。 |
filename |
スクリプトのファイル名を指定します。これは一時ディレクトリ /tmp/ 内での保存名になります。 <filename>myScript5.sh</filename> |
任意指定です。既定値はスクリプトの種類ごとにつけられた名前 (この場合は postpartitioning-scripts) になります。複数のスクリプトを利用したい 場合は、それぞれ異なる名前を設定してください。 |
feedback |
この値を "true" にすると、標準出力 (stdout) と標準エラー出力 (stderr) に出力された内容が、ポップアップメッセージとして表示され、 OK ボタンで 確認を求めるようになります。標準出力 (stdout) と標準エラー出力 (stderr) に何も出力されない場合は、ポップアップメッセージも表示されず、確認も 行なわれません。 <feedback config:type="boolean" >true</feedback> |
任意指定です。既定値は "false" です。 SL 10.1 および SLES10 、またはそれ以降のバージョンで利用できます。 |
feedback_type |
確認メッセージの種類を、 "message" (情報), "warning" (警告), "error" (エラー) のいずれかで指定します。これらのポップアップに 対するタイムアウトは、 <report> セクションで指定します。 <feedback_type>warning</feedback_type> |
任意指定です。何も指定しない場合は、進行を止めるタイプのポップアップ が表示されます。 openSUSE 11.2 またはそれ以降のバージョンで利用できます (SLES11 は対応していません) 。 |
debug |
"true" に設定すると、シェルスクリプトの各行がログに記録されます。 Perl スクリプトの場合は、警告モードが設定されます。 <debug config:type="boolean">true</debug> |
任意指定です。既定値は "true" です。このオプションは、 SL 10.1 および SLES10 、またはそれ以降のバージョンで利用できます。 |
notification |
スクリプトが裏で実行されている間、指定したテキストをポップアップで 表示します。 <notification>Please wait while script is running...</notification> |
任意指定です。何も設定しない場合、ポップアップは表示されません。 openSUSE 11.3 および SLES11 SP2 、またはそれ以降のバージョン (SLES10 を除く) で利用できます。 |
rerun |
通常、スクリプトは 1 度だけ実行します。たとえ ayast_setup で XML ファイル内に複数回スクリプトを設定しても、それらは 1 度だけ実行されます。 この設定を無効にし、指定した回数だけ実行したい場合は、この値を "true" に設定してください。 <rerun config:type="boolean">true</rerun> |
任意指定です。既定値は "false" (スクリプトは 1 度だけ実行される) です。 |
chroot 環境のスクリプトは、インストール処理で初めて再起動を行なうに あたって、その前に起動されるスクリプトです。 chroot スクリプトは、 インストール処理がインストール済みのシステムに chroot で入って、 ブートローダを設定する前と後のいずれかに実行することができます (詳しくは "chroot" パラメータをご覧ください) 。
下記の要素は、 <scripts><chroot-scripts config:type="list"><script> から </script></chroot-scripts>...</scripts> までの間に記述します。
表4.3 Chroot 環境のスクリプトに対する XML 表記
要素 |
説明 |
備考 |
---|---|---|
location |
スクリプトのダウンロード元となる場所を指定します。 場所は http, ftp, nfs など、プロファイルと同じように指定する ことができます。 <location >http://10.10.0.1/myChrootScript.sh</location> |
<location> または <source> のいずれかを 指定しなければなりません。 |
source |
スクリプトそれ自身を CDATA タグ内に記述するためのものです。 プロファイルとスクリプトを分けて作成したい場合は、 location パラメータで指定してください。 <source> <![CDATA[ echo "Testing the chroot script" > /tmp/chroot_out.txt ]]> </source> |
<location> または <source> のいずれかを 指定しなければなりません。 |
chrooted |
この値は、 "true" または "false" のいずれかを指定します。 "false" を 指定すると、インストール済みのシステムは "/mnt" 内にマウントされたままの 状態で、 chroot が行なわれずにスクリプトが実行されます。 "false" に設定した場合、スクリブとの実行時点では、まだブートローダが インストールされていません。 "true" を設定すると、 /mnt 内への chroot が行なわれた状態でスクリプトが実行されます。 "true" に設定すると、 既にブートローダのインストールが完了している状態でスクリプトが 実行されます。もちろん chroot されていますので、インストール済みの システムは "/mnt/" 以下ではなく、 "/" 以下に存在することになります。 <chrooted config:type="boolean" >true</chrooted> |
任意指定です。既定値は "false" です。 |
interpreter |
このスクリプトに対して使用するインタプリタを指定します。 指定可能な値は、 shell (シェルスクリプト) または perl (Perl スクリプト) です。 chrooted に true を設定した場合、 python (Python スクリプト) も指定できます。 <interpreter>perl</interpreter> |
任意指定です (既定値は "shell") 。 |
filename |
スクリプトのファイル名を指定します。これは一時ディレクトリ /tmp/ 内での保存名になります。 <filename>myPreScript5.sh</filename> |
任意指定です。既定値はスクリプトの種類ごとにつけられた名前 (この場合は chroot-scripts) になります。複数のスクリプトを利用したい 場合は、それぞれ異なる名前を設定してください。 |
feedback |
この値を "true" にすると、標準出力 (stdout) と標準エラー出力 (stderr) に出力された内容が、ポップアップメッセージとして表示され、 OK ボタンで 確認を求めるようになります。標準出力 (stdout) と標準エラー出力 (stderr) に何も出力されない場合は、ポップアップメッセージも表示されず、確認も 行なわれません。 <feedback config:type="boolean" >true</feedback> |
任意指定です。既定値は "false" です。 SL 10.1 および SLES10 、またはそれ以降のバージョンで利用できます。 |
feedback_type |
確認メッセージの種類を、 "message" (情報), "warning" (警告), "error" (エラー) のいずれかで指定します。これらのポップアップに 対するタイムアウトは、 <report> セクションで指定します。 <feedback_type>warning</feedback_type> |
任意指定です。何も指定しない場合は、進行を止めるタイプのポップアップ が表示されます。 openSUSE 11.2 またはそれ以降のバージョンで利用できます (SLES11 は対応していません) 。 |
debug |
"true" に設定すると、シェルスクリプトの各行がログに記録されます。 Perl スクリプトの場合は、警告モードが設定されます。 <debug config:type="boolean">true</debug> |
任意指定です。既定値は "true" です。このオプションは、 SL 10.1 および SLES10 、またはそれ以降のバージョンで利用できます。 |
notification |
スクリプトが裏で実行されている間、指定したテキストをポップアップで 表示します。 <notification>Please wait while script is running...</notification> |
任意指定です。何も設定しない場合、ポップアップは表示されません。 openSUSE 11.3 および SLES11 SP2 、またはそれ以降のバージョン (SLES10 を除く) で利用できます。 |
rerun |
通常、スクリプトは 1 度だけ実行します。たとえ ayast_setup で XML ファイル内に複数回スクリプトを設定しても、それらは 1 度だけ実行されます。 この設定を無効にし、指定した回数だけ実行したい場合は、この値を "true" に設定してください。 <rerun config:type="boolean">true</rerun> |
任意指定です。既定値は "false" (スクリプトは 1 度だけ実行される) です。 |
ここで指定するスクリプトは、 AutoYaST がシステムの設定を完了し、 初めてシステムを起動する際に実行されます。
インストール後スクリプトを、早い段階 (ネットワーク設定後、 AutoYaST のシステム設定前) で起動することもできます。 この場合は、 network_needed の属性を "true" に設定してください。
下記の要素は、 <scripts><post-scripts config:type="list"><script> から </script></post-scripts>...</scripts> までの間に記述します。
表4.4 インストール後スクリプトに対する XML 表記
要素 |
説明 |
備考 |
---|---|---|
location |
スクリプトのダウンロード元となる場所を指定します。 場所は http, ftp, nfs など、プロファイルと同じように指定する ことができます。 <location >http://10.10.0.1/myPostScript.sh</location> |
<location> または <source> のいずれかを 指定しなければなりません。 |
source |
スクリプトそれ自身を CDATA タグ内に記述するためのものです。 プロファイルとスクリプトを分けて作成したい場合は、 location パラメータで指定してください。 <source> <![CDATA[ echo "Testing the chroot script" > /tmp/chroot_out.txt ]]> </source> |
<location> または <source> のいずれかを 指定しなければなりません。 |
network_needed |
この設定は、 "true" または "false" で指定します。 "false" を指定すると、 スクリプトはユーザ設定など、全ての YaST モジュールの実行後に起動されます。 ネットワークは設定済みの状態になりますが、この時点ではまだ有効化されて いない状態になります。 "true" を指定すると、スクリプトは全ての YaST モジュールよりも前に起動されます。そのため、ローカルユーザは誰もいない 状態で実行されるほか、ネットワークも未設定 (ただしネットワーク経由での インストールの場合は、その時点の設定のまま) になります。 <network_needed config:type="boolean" >true</network_needed> |
任意指定です。既定値は "false" です。 |
interpreter |
このスクリプトに対して使用するインタプリタを指定します。 指定可能な値は、 shell (シェルスクリプト), perl (Perl スクリプト) python (Python スクリプト; ただしインストールされていた場合のみ) です。 <interpreter>perl</interpreter> |
任意指定です (既定値は "shell") 。 |
filename |
スクリプトのファイル名を指定します。これは一時ディレクトリ /tmp/ 内での保存名になります。 <filename>myPostScript5.sh</filename> |
任意指定です。既定値はスクリプトの種類ごとにつけられた名前 (この場合は post-scripts) になります。複数のスクリプトを利用したい 場合は、それぞれ異なる名前を設定してください。 |
feedback |
この値を "true" にすると、標準出力 (stdout) と標準エラー出力 (stderr) に出力された内容が、ポップアップメッセージとして表示され、 OK ボタンで 確認を求めるようになります。標準出力 (stdout) と標準エラー出力 (stderr) に何も出力されない場合は、ポップアップメッセージも表示されず、確認も 行なわれません。 <feedback config:type="boolean" >true</feedback> |
任意指定です。既定値は "false" です。 SL 10.1 および SLES10 、またはそれ以降のバージョンで利用できます。 |
feedback_type |
確認メッセージの種類を、 "message" (情報), "warning" (警告), "error" (エラー) のいずれかで指定します。これらのポップアップに 対するタイムアウトは、 <report> セクションで指定します。 <feedback_type>warning</feedback_type> |
任意指定です。何も指定しない場合は、進行を止めるタイプのポップアップ が表示されます。 openSUSE 11.2 またはそれ以降のバージョンで利用できます (SLES11 は対応していません) 。 |
debug |
"true" に設定すると、シェルスクリプトの各行がログに記録されます。 Perl スクリプトの場合は、警告モードが設定されます。 <debug config:type="boolean">true</debug> |
任意指定です。既定値は "true" です。このオプションは、 SL 10.1 および SLES10 、またはそれ以降のバージョンで利用できます。 |
notification |
スクリプトが裏で実行されている間、指定したテキストをポップアップで 表示します。 <notification>Please wait while script is running...</notification> |
任意指定です。何も設定しない場合、ポップアップは表示されません。 openSUSE 11.3 および SLES11 SP2 、またはそれ以降のバージョン (SLES10 を除く) で利用できます。 |
rerun |
通常、スクリプトは 1 度だけ実行します。たとえ ayast_setup で XML ファイル内に複数回スクリプトを設定しても、それらは 1 度だけ実行されます。 この設定を無効にし、指定した回数だけ実行したい場合は、この値を "true" に設定してください。 <rerun config:type="boolean">true</rerun> |
任意指定です。既定値は "false" (スクリプトは 1 度だけ実行される) です。 |
これらのスクリプトは、 YaST による設定が完了した後、初回の起動処理で ネットワーク設定完了後に起動されます。これらの最終スクリプトは、 特別な init.d スクリプトを利用して 1 度だけ 実行する仕組みになっています。
初期設定スクリプトは init-scripts タグを利用して
設定します。実行時は特別な init.d スクリプトで
ある、 /etc/init.d/autoyast
から起動されます。
下記の要素は、 <scripts><init-scripts config:type="list"><script> から </script></init-scripts>...</scripts> までの間に記述します。
表4.5 初期設定スクリプトの XML 表記
要素 |
説明 |
備考 |
---|---|---|
location |
スクリプトのダウンロード元となる場所を指定します。 場所は http, ftp, nfs など、プロファイルと同じように指定する ことができます。 <location >http://10.10.0.1/myInitScript.sh</location> |
<location> または <source> のいずれかを 指定しなければなりません。 |
source |
スクリプトそれ自身を CDATA タグ内に記述するためのものです。 プロファイルとスクリプトを分けて作成したい場合は、 location パラメータで指定してください。 <source> <![CDATA[ echo "Testing the init script" > /tmp/init_out.txt ]]> </source> |
<location> または <source> のいずれかを 指定しなければなりません。 |
filename |
スクリプトのファイル名を指定します。これは一時ディレクトリ /tmp/ 内での保存名になります。 <filename>mynitScript5.sh</filename> |
任意指定です。既定値はスクリプトの種類ごとにつけられた名前 (この場合は chroot-scripts) になります。複数のスクリプトを利用したい 場合は、それぞれ異なる名前を設定してください。 |
rerun |
通常、スクリプトは 1 度だけ実行します。たとえ ayast_setup で XML ファイル内に複数回スクリプトを設定しても、それらは 1 度だけ実行されます。 この設定を無効にし、指定した回数だけ実行したい場合は、この値を "true" に設定してください。 <rerun config:type="boolean">true</rerun> |
任意指定です。既定値は "false" (スクリプトは 1 度だけ実行される) です。 |
制御ファイルに手作業でスクリプトを追加する場合、スクリプトは 制御ファイル内の文法やタグを混乱させたりすることのないよう、CDATA 要素の中に記述する必要があります。
例4.32 各種の事後スクリプトの設定
<?xml version="1.0"?> <!DOCTYPE profile> <profile xmlns="http://www.suse.com/1.0/yast2ns" xmlns:config="http://www.suse.com/1.0/configns"> <scripts> <chroot-scripts config:type="list"> <script> <chrooted config:type="boolean">true</chrooted> <filename>chroot.sh</filename> <interpreter>shell</interpreter> <source><![CDATA[ #!/bin/sh echo "Testing chroot (chrooted) scripts" ls ]]> </source> </script> <script> <filename>chroot.sh</filename> <interpreter>shell</interpreter> <source><![CDATA[ #!/bin/sh echo "Testing chroot scripts" df cd /mnt ls ]]> </source> </script> </chroot-scripts> <post-scripts config:type="list"> <script> <filename>post.sh</filename> <interpreter>shell</interpreter> <source><![CDATA[ #!/bin/sh echo "Running Post-install script" /etc/init.d/portmap start mount -a 192.168.1.1:/local /mnt cp /mnt/test.sh /tmp umount /mnt ]]> </source> </script> <script> <filename>post.pl</filename> <interpreter>perl</interpreter> <source><![CDATA[ #!/usr/bin/perl print "Running Post-install script"; ]]> </source> </script> </post-scripts> <pre-scripts config:type="list"> <script> <interpreter>shell</interpreter> <location>http://192.168.1.1/profiles/scripts/prescripts.sh</location> </script> <script> <filename>pre.sh</filename> <interpreter>shell</interpreter> <source><![CDATA[ #!/bin/sh echo "Running pre-install script" ]]> </source> </script> </pre-scripts> <postpartitioning-scripts config:type="list"> <script> <filename>postpart.sh</filename> <interpreter>shell</interpreter> <debug config:type="boolean">false</debug> <feedback config:type="boolean">true</feedback> <source><![CDATA[ touch /mnt/testfile echo Hi ]]> </source> </script> </postpartitioning-scripts> </scripts> </profile>
インストールが完了すると、スクリプトと出力されたログが
/var/adm/autoinstall
内に保存されます。
スクリプトは scripts
のサブディレクトリ内に、
ログは log
のサブディレクトリ内にそれぞれ配置されます。
ログは下記のようにシェルを実行した場合の出力になります:
/bin/sh -x <スクリプト名> 2&> /var/adm/autoinstall/logs/<スクリプト名>.log
sysconfig リソースを使用することで、 sysconfig リポジトリ
(/etc/sysconfig
) 内にある変数に対して、直接アクセス
することができるようになります。 sysconfig の変数は、それぞれのシステム
コンポーネントに対して、環境変数などのより詳しい設定を行なうことができる
仕組みです。
下記の例では、 sysconfig リソースに対してどのように値を設定すべきかを 説明しています。
sysconfig ファイル内で変数を定義するには、下記の書式で記述します:
例4.33 sysconfig の設定
<sysconfig config:type="list" > <sysconfig_entry> <sysconfig_key>XNTPD_INITIAL_NTPDATE</sysconfig_key> <sysconfig_path>/etc/sysconfig/xntp</sysconfig_path> <sysconfig_value>ntp.host.com</sysconfig_value> </sysconfig_entry> <sysconfig_entry> <sysconfig_key>HTTP_PROXY</sysconfig_key> <sysconfig_path>/etc/sysconfig/proxy</sysconfig_path> <sysconfig_value>proxy.host.com:3128</sysconfig_value> </sysconfig_entry> <sysconfig_entry> <sysconfig_key>FTP_PROXY</sysconfig_key> <sysconfig_path>/etc/sysconfig/proxy</sysconfig_path> <sysconfig_value>proxy.host.com:3128</sysconfig_value> </sysconfig_entry> </sysconfig>
sysconfig では、絶対パス/相対パスのいずれかを使用することができます。
絶対パスが指定された場合、それは /etc/sysconfig
ディレクトリ内のファイルとして扱われます。
インストール済みのシステムで様々なアプリケーションやサービスを
動作させるには、それぞれの設定ファイルを適切な場所に配置する
必要があります。たとえば Web サーバをインストールする場合、
サーバの設定ファイル (httpd.conf
) を
配置することで、サーバを すぐに使える
状態にすることができます。
この仕組みを利用するには、制御ファイル内にファイルを内蔵させ、 インストール済みのシステム内のどこに配置するのかを指定します。 YaST は、それを指定した場所に配置します。
なお、この機能を利用するには、インストール先のシステムに autoyast2 パッケージをインストールする必要があります。この パッケージがインストールされていない場合、 files セクションは無視され、何も処理されなくなります。また、 openSUSE 11.1 および SLES 11 、もしくはそれ以降のバージョンの場合、このパッケージが インストールされていない場合、自動的にインストールが行なわれます。
また、 openSUSE 11.1 および SLES11 、もしくはそれ以降のバージョンの 場合、 file_location でファイルの取得元を設定 することができます。 HTTP サーバの場合、 <file_location>http://my.server.site</(ファイルのパス)> のように指定します。
また、 openSUSE 11.2 もしくはそれ以降のバージョン (ただし SLES11 は 除きます) の場合、 file_path がスラッシュで終わって いると、それはディレクトリとみなされ、ディレクトリを作成することができます。
例4.34 インストール済みのシステムに対する設定ファイルの投入
<files config:type="list"> <config_file> <file_path>/etc/httpd/httpd.conf</file_path> <file_contents> <![CDATA[ some content ]]> </file_contents> </config_file> </files>
<files config:type="list"> <config_file> <file_path>/mydir/a/b/c/</file_path> <!-- ディレクトリの作成 (openSUSE 11.2 以降のみ) --> </config_file> </files>
より高度な例が下記のとおりです。この設定は、 file_contents で指定した内容をファイルに出力し、ファイルの所有権とパーミッションを それぞれ変更しています。ファイルをシステムにコピーした後、さらに スクリプトも実行します。これにより、ファイルを操作したりクライアントに 対する設定調整を行なうことができます。
例4.35 インストール済みのシステムに対する設定ファイルの投入
<files config:type="list"> <config_file> <file_path>/etc/someconf.conf</file_path> <file_contents> <![CDATA[ some content ]]> </file_contents> <file_owner>nashif.users</file_owner> <file_permissions>444</file_permissions> <file_script> <interpreter>shell</interpreter> <source> <![CDATA[ #!/bin/sh echo "Testing file scripts" >> /etc/someconf.conf df cd /mnt ls ]]> </source> </file_script> </config_file> </files>
この機能は SUSE Linux 10.1 および SLES10 、もしくはそれ以降のバージョンで 利用できます。
インストールの際、特定の箇所でユーザに設定を尋ねるように設定することが できます。この機能を利用する場合、ポップアップウインドウが表示され、 インストール中に値を入力するように促します。たとえば完全に自動化された インストールでも、ローカルアカウントに対するパスワードをユーザに入力 させたい場合は、プロファイル内で ask ディレクティブ を使用します。
下記の要素は、 <general> セクション内の <ask-list config:type="list"><ask> から </ask></ask-list> までの間に記述します。
表4.6 XML 表記
要素 |
説明 |
備考 |
---|---|---|
question |
ユーザに対して尋ねる際の質問文を指定します。 <question>Enter the LDAP server</question> |
既定値は、要素に対するパス (XML パス) になります (これではユーザに対して意味が通じませんので、何らかの値を 設定しておくことをお勧めします) |
default |
ユーザに対して提示する既定値を設定します。テキスト項目の場合、 この値が入力された状態で質問が表示されます。チェックボックスの 場合は、 "true" または "false" で指定すると、それらが 選択された状態で質問が表示されます。 <default>dc=suse,dc=de</default> |
任意指定です。 |
help |
質問の左側に表示される、任意指定のヘルプ文です。 <help>Enter the LDAP server address.</help> |
任意指定です。 |
title |
質問の上部に表示される、任意指定のタイトルです。 <title>LDAP server</title> |
任意指定です。 |
type |
ユーザに対して入力を求める値の、データ型を指定します。設定可能な値は、 "symbol" (シンボル), "boolean" (ブール型), "string" (文字列), "integer" (整数) のいずれかです。たとえば partition セクションに おけるファイルシステムの指定は symbol になりますし、ユーザ設定内の "暗号化" の項目は boolean です。データ型は、プロファイル内の config:type="...." で指定する値と同じです。 openSUSE 11.2 および SLES11-SP2 、またはそれ以降のバージョンの場合、 "static_text" (静的テキスト) を指定することもできます。これは テキストを表示するためのものですが、ユーザに対して入力を求めたり することはなく、単にヘルプ文の代わりにテキストを提示するだけの 仕組みです。 <type>symbol</type> |
任意指定です。既定値は "string" (文字列) です。 なお "symbol" を指定した場合は、 selection 要素も指定しなければなりません (下記をお読みください) 。 |
password |
このブール値を "true" に設定すると、通常のテキスト入力ではなく、 パスワードダイアログを表示するようになります。ただし、 "type" の値に "string" を設定した場合にのみ、この設定が有効になります。 <password config:type="boolean">true</password> |
任意指定です。既定値は "false" です。 |
path (openSUSE 11.0 またはそれ以降のバージョンでは廃止されました - pathlist をお使いください) |
プロファイル内でのパスを指定します。これは半角カンマ区切りのリストで 指定するもので、変更したい要素のパスを指定します。たとえば LDAP サーバの 要素はプロファイル内の <ldap><ldap_server> にありますが、 この値をユーザに入力させたい場合、この値を "ldap,ldap_server" のように 指定します。また最初に作成するユーザのパスワードを入力させたい場合は、 "users,0,user_password" のように指定します ("0" はプロファイル内の <users config:type="list"> で 0 番目 (最初) を意味する値です) 。 <path>networking,dns,hostname</path> |
この設定は任意ですが、少なくとも path または file のいずれかを設定する必要があります。 |
pathlist (openSUSE 11.0 またはそれ以降で利用できます - path を置き換えるためのものです) |
path 要素と同じ意味です (上記をお読みください) 。 <pathlist config:type="list" ><path>networking,dns,hostname</path> <path>...</path> |
この設定は任意ですが、少なくとも pathlist または file のいずれかを設定する必要があります。 |
file (SLES10 SP1 または SL 10.2 、もしくはそれ以降のバージョンで利用できます) |
質問に対する回答をファイルに保存し、スクリプト内で後から参照する 目的で設定可能な項目です。ただし stage=inital (第 1 ステージ) で質問を表示し、第 2 ステージでその値を使用するようなことを行なう場合、 回答が書かれたファイルを chrooted=false に設定した chroot スクリプト でコピーする必要があります。たとえば下記のようになります: "cp /tmp/my_answer /mnt/tmp/" 。これは、第 1 ステージにおける /tmp は RAM ディスクであり、システムを再起動すると失われてしまうためです。 /mnt 以下はインストール先のシステムを示すものであるため、こちらに コピーしておきます。 <file>/tmp/answer_hostname</file> |
この設定は任意ですが、少なくとも path または file のいずれかを設定する必要があります。 |
password |
このブール値を "true" に設定すると、通常のテキスト入力ではなく、 パスワードダイアログを表示するようになります。ただし、 "type" の値に "string" を設定した場合にのみ、この設定が有効になります。 <password config:type="boolean">true</password> |
任意指定です。既定値は "false" です。 |
stage |
質問を表示するステージを選択します。 "cont" または "initial" のいずれかを 指定します。 "initial" の場合、インストール作業の冒頭、とても早い段階で 質問を表示します (ただし pre-script は実行された後です) 。 "cont" の場合、 初回のシステム再起動の後で表示します。また、 "initial" を指定した質問の 場合、その回答はハードディスク内に書き込まれます (FIXME: "file" と矛盾)。 つまり、 "initial" でパスワードなどの質問を行なった場合、何も暗号化される ことなく、ハードディスク内に保存されることになります。また、 "cont" を 指定した場合、ファイルシステムに関する質問を行なっても意味がありません。 これは、その段階では既にパーティションの設定は完了していて、その回答は 使われることがないためです。 <stage>cont</stage> |
任意指定です。既定値は "initial" です。 |
selection |
selection 要素には <entry> 要素の一覧を設定します。 entry で設定した項目は、ユーザに対する選択肢として表示されます。この場合、 テキストフィールドに値を入力することはできませんが、一覧から値を 選択することはできるようになります。 <selection config:type="list"> <entry> <value> reiser </value> <label> Reiser Filesystem </label> </entry> <entry> <value> ext3 </value> <label> Extended3 Filesystem </label> </entry> </selection> |
type=string の場合、任意指定です。 type=boolean の場合は意味のない設定で あるほか、 type=symbol の場合は必ず設定する必要があります。 |
dialog (SL 10.3 および SLES10 SP2 、またはそれ以降のバージョンで利用できます) |
openSUSE 10.3 またはそれ以降のバージョンでは、 1 つのダイアログで 複数の質問を表示することができます。これを行なうには、ダイアログの ID を整数で指定します。同じダイアログ ID を持つ質問は、同じダイアログ 内に表示されるようになります。また、ダイアログは ID 順に表示されます。 <dialog config:type="integer">3</dialog> |
任意指定です。 |
element (SL 10.3 および SLES10 SP2 、またはそれ以降のバージョンで利用できます) |
openSUSE 10.3 またはそれ以降のバージョンでは、 1 つのダイアログで 複数の質問を表示することができます。これを行なうには、要素 ID を 整数で指定します。ダイアログ内では、要素 ID 順に表示されます。 <element config:type="integer">1</element> |
任意指定です (dialoh もお読みください) 。 |
frametitle (SL 10.3 および SLES10 SP2 、またはそれ以降のバージョンで利用できます) |
openSUSE 10.3 またはそれ以降のバージョンでは、 1 つのダイアログで 複数の質問を表示することができます。このとき、ダイアログ内の各質問 に対して、枠が表示されます。枠にはタイトルを表示する箇所が用意され ますので、ここでは枠のタイトルを指定します。なお、 openSUSE 11.3 またはそれ以降のバージョンでは、複数の要素を 1 つの枠内に収める こともできます。この場合は、枠のタイトルを同じにしてください。 <frametitle>User data</frametitle> |
任意指定です。既定では枠のタイトルを表示しません。 |
script (SL 10.3 および SLES10 SP1 、またはそれ以降のバージョンで利用できます) |
openSUSE 10.3 以降のリバージョンでは、質問に対する回答をユーザが 入力した後で、スクリプトを起動することができます (スクリプトについて、 詳しくは下記の表をお読みください) 。 <script>...</script> |
任意指定です。既定では何もスクリプトを実行しません。 |
ok_label (openSUSE 11.2 および SLES11 SP2 、またはそれ以降のバージョンで利用できます) |
ここでは "Ok" ボタンのラベルを設定することができます。 複数のラベルが設定されている場合、最後に設定したらレベルが 有効になります。 <ok_label>Finish</ok_label> |
任意指定です。 |
back_label (openSUSE 11.2 および SLES11 SP2 、またはそれ以降のバージョンで利用できます) |
ここでは "戻る" ボタンのラベルを設定することができます。 複数のラベルが設定されている場合、最後に設定したらレベルが 有効になります。 <back_label>change values</back_label> |
任意指定です。 |
timeout (openSUSE 11.2 および SLES11 SP2 、またはそれ以降のバージョンで利用できます) |
質問に対する制限時間を、秒単位で指定します。指定した時間、ユーザが 何も回答しないと、既定値を回答として採用します。ダイアログ内で何らかの 操作 (移動または値の変更) が行なわれると、制限時間の設定は無効化され、 "Ok" ボタンが押されるまで待機状態になります。 <timeout config:type="integer">30</timeout> |
任意指定です。既定値は 0 で、制限時間無し (つまり無制限に待機する) です。 |
default_value_script (openSUSE 11.2 および SLES11 SP2 、またはそれ以降のバージョンで利用できます) |
ここでは質問に対する既定値を設定する際、スクリプトを実行して行なう ことができます (スクリプトについて、詳しい手順は下記の表をお読み ください) 。この機能は、既定値を "計算" して導きだすような用途に 便利な仕組みです。同時に "timeout" を指定して、制限時間を設定する ことも可能です。 <default_value_script>...</default_value_script> |
任意指定です。既定では何もスクリプトを実行しません。 |
下記の要素は、 <general> セクション内の <ask-list config:type="list"><ask><default_value_script> から </default_value_script>...</ask></ask-list> までの間に記述します。 openSUSE 11.2 および SLES11-SP2 、またはそれ以降のバージョンで利用できます。
表4.7 XML 表記
要素 |
説明 |
備考 |
---|---|---|
source |
スクリプトのソースコードを記述します。標準出力 (STDOUT) に echo
で出力した内容が、 ask-dialog での既定値になります。また、スクリプトが 0 以外の
終了コードで終了した場合、通常の既定値が使用されます。なお、 <source>...</source> |
必ず設定します。何も設定しない場合、何も実行されません。 |
interpreter |
使用するインタプリタを指定します。 <interpreter>perl</interpreter> |
既定値は "shell" (シェルスクリプト) です。 "/bin/myinterpreter" のように直接指定することもできます。 |
下記の要素は、 <general> セクション内の <ask-list config:type="list"><ask><script> から </script>...</ask></ask-list> までの間に記述します。 openSUSE 10.3 以降のバージョン (ただし SLES10 SP1 を除く) で利用できます。
表4.8 XML 表記
要素 |
説明 |
備考 |
---|---|---|
filename |
スクリプトのファイル名を指定します。 <filename>my_ask_script.sh</filename> |
既定値は ask_script.sh です。 |
source |
スクリプトのソースコードを指定します。このとき、 "rerun_on_error" を有効にしていると、入力した値の正当性を確認することができるように なります (openSUSE 11.0 またはそれ以降のバージョンのみ) 。 また、スクリプト内で "/tmp/next_dialog" ファイルを作成すると、 AutoYaST が次に表示すべきダイアログを指定することもできます。 このファイルで "-1" を指定すると、質問を終了することができます。 スクリプト内で左記のファイルを作成しない場合、 AutoYaST は 通常の順序でダイアログを表示します (openSUSE 11.0 またはそれ以降の バージョンのみ) 。 <source>...</source> |
必ず指定します。指定しない場合、何も実行されません。 |
environment |
スクリプトに対して、環境変数の形で回答の "値" を送信するかどうかを 指定するブール値です。環境変数は "VAL" という名前になります。 <environment config:type="boolean">true</environment> |
任意指定です。既定値は "false" です。 |
feedback |
スクリプトの実行時、フィードバックを表示するかどうかを設定するブール値 です。スクリプトの実行後は、ポップアップウインドウで標準出力 (STDOUT) の内容が表示され、確認を求めるようになります。 <feedback config:type="boolean">true</feedback> |
任意指定です。既定値は "false" です。 |
debug |
スクリプトの実行時、デバッグ機能を有効にするかどうかを指定する ブール値です。 <debug config:type="boolean">true</debug> |
任意指定です。既定値は "true" です。この設定を有効にするには、 "feedback" も 有効にする必要があります。 |
rerun_on_error (openSUSE 11.0 以降で利用できます) |
スクリプトの終了コードが 0 (ゼロ) になるまで、ダイアログを開いたまま にするかどうかを指定するブール値です。このとき、ユーザに対して理由を 説明するため、 "feedback" オプションを利用して実行結果を表示してください。 <rerun_on_error config:type="boolean">true</rerun_on_error> |
任意指定です。既定値は "false" です。この値は、 "feedback" オプションと 共に使用するのが適切です。 |
下記では、 "ask" 機能の使用例を示しています。
<general> <ask-list config:type="list"> <ask> <!-- openSUSE 11.0 で廃止されました; 代わりに pathlist を使用してください <path>ldap,ldap_server</path> --> <pathlist config:type="list"> <path>ldap,ldap_server</path> </pathlist> <stage>cont</stage> <help>choose your server depending on your department</help> <selection config:type="list"> <entry> <value>ldap1.mydom.de</value> <label>LDAP for development</label> </entry> <entry> <value>ldap2.mydom.de</value> <label>LDAP for sales</label> </entry> </selection> <default>ldap2.mydom.de</default> <default_value_script> <source> <![CDATA[ echo -n "ldap1.mydom.de" ]]> </source> </default_value_script> </ask> <ask> <!-- openSUSE 11.0 で廃止されました; 代わりに pathlist を使用してください <path>networking,dns,hostname</path> --> <pathlist config:type="list"> <path>networking,dns,hostname</path> </pathlist> <question>Enter Hostname</question> <stage>initial</stage> <default>enter your hostname here</default> </ask> <ask> <!-- openSUSE 11.0 で廃止されました; 代わりに pathlist を使用してください <path>partitioning,0,partitions,0,filesystem</path> --> <pathlist config:type="list"> <path>partitioning,0,partitions,0,filesystem</path> </pathlist> <question>Filesystem</question> <type>symbol</type> <selection config:type="list"> <entry> <value config:type="symbol">reiser</value> <label>default Filesystem (recommended)</label> </entry> <entry> <value config:type="symbol">ext3</value> <label>Fallback Filesystem</label> </entry> </selection> </ask> </ask-list> ... </general>
下記の例は、 AutoYaST プロファイルそのものを選択させるための使用例です。
ask-dialogs の処理が終了すると、 AutoYaST は modified.xml
ファイルを読み込んで、後続の処理を行ないます。この方法を利用することで、
新しいプロファイルを読み込むこともできます。
<ask> <selection config:type="list"> <entry> <value>part1.xml</value> <label>Simple partitioning</label> </entry> <entry> <value>part2.xml</value> <label>encrypted /tmp</label> </entry> <entry> <value>part3.xml</value> <label>LVM</label> </entry> </selection> <title>XML Profile</title> <question>Choose a profile</question> <stage>initial</stage> <default>part1.xml</default> <script> <filename>fetch.sh</filename> <environment config:type="boolean">true</environment> <source><![CDATA[ wget http://10.10.0.162/$VAL -O /tmp/profile/modified.xml 2>/dev/null ]]> </source> <debug config:type="boolean">false</debug> <feedback config:type="boolean">false</feedback> </script> </ask>
openSUSE 11.0 またはそれ以降のバージョンでは、下記のようにスクリプトを 指定して、質問に対する回答を検証することができます:
<ask> <script> <filename>my.sh</filename> <rerun_on_error config:type="boolean">true</rerun_on_error> <environment config:type="boolean">true</environment> <source><![CDATA[ if [ "$VAL" = "myhost" ]; then echo "Illegal Hostname!"; exit 1; fi exit 0 ]]> </source> <debug config:type="boolean">false</debug> <feedback config:type="boolean">true</feedback> </script> <dialog config:type="integer">0</dialog> <element config:type="integer">0</element> <!-- openSUSE 11.0 で廃止されました; 代わりに pathlist を使用してください <path>networking,dns,hostname</path> --> <pathlist config:type="list"> <path>networking,dns,hostname</path> </pathlist> <question>Enter Hostname</question> <default>enter your hostname here</default> </ask>
利用可能なバージョン | |
---|---|
この機能は、 SLES 11 (openSUSE 11.1 を除く) 以降で利用できる機能です。 また、 zSeries (s390x) アーキテクチャでは利用できません。 |
Kdump を利用することで、システム全体 (つまりカーネル) がクラッシュした場合に、 クラッシュダンプファイルを作成できるようになります。クラッシュダンプには、 システムがクラッシュした時点でのメモリ内容が含まれます。このクラッシュダンプ ファイルを利用することで、サポートやカーネルの開発者はシステムクラッシュの 原因を調査できるようになります。 Kdump は、特にクラッシュを再現するのが 難しく、問題を修正することが必要不可欠なサーバなどで、特に有用な仕組みです。
なお、 Kdump を有効に設定すると、システム RAM のうちおおよそ 64MiB から 128 MiB ほどを使用します ("通常" サイズのシステムの場合) 。これはシステム クラッシュ時に Kdump 用の領域として使用するもので、ダンプファイルを生成する のに必要となります。
本章では、 AutoYaST での Kdump 設定について説明しています。 Kdump の動作概要 など、詳しくは kdump パッケージに含まれる kdump(7) のマニュアルページをお読みになるか、もしくは openSUSE Kdump ドキュメンテーション をお読みください。
下記の例では、一般的な Kdump の設定例を示しています。
例4.36 Kdump の設定
<kdump> <!-- メモリの予約 --> <add_crash_kernel config:type="boolean">true</add_crash_kernel> <crash_kernel>256M-:64M</crash_kernel> <general> <!-- ダンプの出力先設定 --> <KDUMP_SAVEDIR>ftp://stravinsky.suse.de/incoming/dumps</KDUMP_SAVEDIR> <KDUMP_COPY_KERNEL>true</KDUMP_COPY_KERNEL> <KDUMP_FREE_DISK_SIZE>64</KDUMP_FREE_DISK_SIZE> <KDUMP_KEEP_OLD_DUMPS>5</KDUMP_KEEP_OLD_DUMPS> <!-- フィルタと圧縮 --> <KDUMP_DUMPFORMAT>compressed</KDUMP_DUMPFORMAT> <KDUMP_DUMPLEVEL>1</KDUMP_DUMPLEVEL> <!-- 通知 --> <KDUMP_NOTIFICATION_TO>bwalle@suse.de</KDUMP_NOTIFICATION_TO> <KDUMP_NOTIFICATION_CC></KDUMP_NOTIFICATION_CC> <KDUMP_SMTP_SERVER>mail.suse.de</KDUMP_SMTP_SERVER> <KDUMP_SMTP_USER></KDUMP_SMTP_USER> <KDUMP_SMTP_PASSWORD></KDUMP_SMTP_PASSWORD> <!-- Kdump カーネル --> <KDUMP_KERNELVER></KDUMP_KERNELVER> <KDUMP_COMMANDLINE></KDUMP_COMMANDLINE> <KDUMP_COMMANDLINE_APPEND></KDUMP_COMMANDLINE_APPEND> <!-- 高度な設定 --> <KDUMP_IMMEDIATE_REBOOT>yes</KDUMP_IMMEDIATE_REBOOT> <KDUMP_VERBOSE>15</KDUMP_VERBOSE> <KEXEC_OPTIONS></KEXEC_OPTIONS> </general> </kdump>
Kdump の起動時、最初のステップでメモリの予約を行ないます。これは
起動処理のとても早い段階でメモリを確保しなければならないためで、
これはカーネルのコマンドラインパラメータ crashkernel
で設定します。予約されたメモリは、元々のカーネルがクラッシュした
場合に、システムを再起動することなく第 2 のカーネルとして実行する
領域として使用するためのものです。第 2 のカーネルには特殊な initrd
(初期 RAM ディスク) が用意されていて、これによってネットワークや
ディスク経由でダンプを保存し、電子メールを送信して再起動するまでの
処理を行ないます。
add_crash_kernel
タグを設定することで、既定の
カーネルに対して crashkernel
パラメータを設定
することができます。 crash_kernel
タグを利用
すると、 crashkernel
パラメータ自身を指定する
こともできます。
Kdump 用にメモリを予約するには、 サイズ
(たとえば RAM から 64 MiB 分の予約を設定するには、 64M
と指定します) と オフセット値 を指定します。
具体的には、 crashkernel=(サイズ)@(オフセット)
のように指定します。 Xen ハイパーバイザの場合を除き、カーネルは、
正しいオフセット値を検出することができます。 Xen ハイパーバイザの
場合は、 16M のようにオフセット値を指定する
必要があります。たとえば、
<crash_kernel>crashkernel=64M</crash_kernel>
のようになります。
予約するメモリの サイズ については、アーキテクチャ ごとに下記のサイズをお勧めしています:
表4.9 予約メモリ量の推奨値
プラットフォーム |
推奨値 |
---|---|
i386 または x86-64 |
小規模構成のマシン (たとえば 4 コアで 2GiB 程度の RAM を搭載した
マシン) の場合は |
PPC64 |
小規模構成のマシンの場合は |
IA64 |
小規模構成のマシンの場合は |
また、システムに搭載された RAM の容量に合わせて、予約するメモリのサイズを設定 する 拡張コマンドライン文法 にも対応しています。この 設定は、たとえばメモリサイズの異なる複数のマシンに対して、同じプロファイルを 共有したいような場合に便利な仕組みです。下記のように記述します:
(開始範囲_1)-(終了範囲_1):(サイズ_1),(開始範囲_2)-(終了範囲_2):(サイズ_2)@(オフセット)
開始範囲_1
は最初のメモリ範囲の開始点 (たとえば
0M
) を指定し、 END_RANGE_1
は
最初のメモリ範囲の終了点を指定します。終了点を何も指定しないと、
"infinity" を指定したものとみなされます。たとえば
256M-2G:64M,2G-:128M
のように指定すると、システムに
搭載されたメモリが 256MiB 以上 2GiB 以下の場合、 64MiB 分のクラッシュ
カーネルメモリが確保され、それ以上のメモリ量の場合は 128MiB 分の
クラッシュカーネルメモリが確保される動作になります。
下記の表では、メモリの予約時に指定できる項目を示しています:
表4.10 メモリ予約設定の XML 表記
要素 |
説明 |
備考 |
---|---|---|
add_crash_kernel |
"true" を指定すると、メモリを予約して Kdump を有効にします。 <add_crash_kernel config:type="boolean">true</add_crash_kernel> |
必須です。 |
crash_kernel |
上記の crashkernel コマンドラインの文法をお使いください。 <crash_kernel>256M:64M</crash_kernel> |
必須です。 |
KDUMP_SAVEDIR
の要素では、ダンプの保存先 URL
を指定することができます。 URL では、下記のメソッドに対応しています:
file
: ローカルディスクへ保存します。
ftp
: FTP サーバに保存します (暗号化は行なわれません)。
sftp
: SSH2 SFTP サーバに保存します。
nfs
: NFS パスに保存します。
cifs
: Samba や Microsoft Windows で提供されている CIFS/SMP
の共有内に保存します。
詳しくは kdump(5) のマニュアルページをお読みください。たとえば下記のように
設定します: file:///var/crash
(FHS で規定された既定の
場所に保存します), ftp://user:password@host:port/incoming/dumps
(指定した FTP サーバに保存します) 。なお、指定した場所には日時を記した
サブディレクトリが作成され、その中に作成したダンプが保存されます。
ダンプファイルをローカルディスクに保存する場合は、
KDUMP_KEEP_OLD_DUMPS
を指定することで、古いダンプを
自動的に削除することができます。この値には、ダンプを保持しておきたい数
を指定します。また、 KDUMP_KEEP_OLD_DUMPS
で指定した
サイズよりもディスクの残り容量が少ない場合、ダンプは保存されなくなり
ます。
また、カーネル全体とデバッグ情報 (インストールされていれば) の両方を
保存しておく体場合は、 KDUMP_COPY_KERNEL
を
true
に設定してください。これにより、 1 つの
ディレクトリ内で分析に必要な全ての情報が揃うことになります (ただし、
カーネルモジュールとそのデバッグ情報は含まれません) 。
カーネルダンプは通常、圧縮もフィルタも行なわれません。これは つまり、システムに搭載された RAM と同じサイズになる、ということに なります。より小さなファイルにまとめたい場合は、採取後に圧縮を 実施する必要があります。もちろん解析を行なう際は、逆に展開処理を 行なう必要があります。
各ページを圧縮するページ圧縮を使用するには、
KDUMP_DUMPFORMAT
を compressed
(既定値) に設定します。この場合は、 crash(8) デバッグツールを利用して
展開を行なうことができます。
また、たとえば全てのデータがゼロで埋められているページなど、全ての
ページを保存したくないような場合も考えられます。ダンプに対してフィルタ
を設定するには、 KDUMP_DUMPLEVEL
を指定します。
ここで設定する値は、 0 が完全な (全てのページを略さずに出力する) ダンプ、
31 が最も小さな (できるかぎりページを略して出力する) ダンプになります。
保存されるページについて、詳しくは kdump(5) と makedumpfile(8) の
各マニュアルページをお読みください。
表4.11 ダンプターゲット設定の XML 表記
要素 |
説明 |
備考 |
---|---|---|
KDUMP_SAVEDIR |
ダンプと関連するファイルを保存する先の URL を指定します。 <KDUMP_SAVEDRIR >file:///var/crash/</KDUMP_SAVEDIR> |
必須です。 |
KDUMP_COPY_KERNEL |
"true" を指定すると、ダンプだけではなくカーネル自身とその
デバッグ情報 (インストールされていれば) も
<KDUMP_COPY_KERNEL >false</KDUMP_COPY_KERNEL> |
optional |
KDUMP_FREE_DISK_SIZE |
ダンプ保存後、保持すべき空き容量をメガバイト単位で指定します。 ダンプを出力するのに十分な空き容量が存在せず、必要な 秋ディスク領域が確保できない場合、ダンプは保存されなくなります。 <KDUMP_FREE_DISK_SIZE >64</KDUMP_FREE_DISK_SIZE> |
任意指定です。 |
KDUMP_KEEP_OLD_DUMPS |
<KDUMP_KEEP_OLD_DUMPS >4</KDUMP_KEEP_OLD_DUMPS> |
任意指定です。 |
マシンがクラッシュし、ダンプが採取されたタイミングで、 電子メールによる通知を設定することができます。
Kdump は initrd 内で動作する仕組みであるため、同じマシンにメールサーバが設定 してあっても、通知メールを送信することはできません。必ず他のマシンにある SMTP サーバを使用する必要があります (下記をお読みください) 。
また、電子メールの送信先は KDUMP_NOTIFICATION_TO
で指定
しますが、必ず 1 つだけアドレスを指定してください。複数のアドレスを指定したい
場合は、 KDUMP_NOTIFICATION_CC
で指定します。また、いずれの
指定項目とも、実際の名前ではなく電子メールアドレスで指定してください。
また、 SMTP サーバの指定は KDUMP_SMTP_SERVER
で行なうほか、
対象のメールサーバで認証が必要な場合は、 KDUMP_SMTP_USER
と
KDUMP_SMTP_PASSWORD
で指定してください。ただし、現時点では
TLS/SSL には対応していません。将来的に対応される予定です。
表4.12 電子メール通知の XML 表記
要素 |
説明 |
コメント |
---|---|---|
KDUMP_NOTIFICATION_TO |
電子メールの送信先を 1 つだけ指定します。それ以外の送信先は、
<KDUMP_NOTIFICATION_TO >tux@example.com</KDUMP_NOTIFICATION_TO> |
任意指定です (何も指定しない場合は、通知メールが送信されません) |
KDUMP_NOTIFICATION_CC |
0 個以上の通知メールの送信先 (Cc) を指定します。 <KDUMP_NOTIFICATION_CC >spam@suse.de devnull@suse.de</KDUMP_NOTIFICATION_CC> |
任意指定です。 |
KDUMP_SMTP_SERVER |
メールの配送を行なう SMTP サーバのホスト名を指定します。
SMTP 認証が必要なサーバである場合にも対応しています
(それぞれ <KDUMP_SMTP_SERVER >email.suse.de</KDUMP_SMTP_SERVER> |
任意指定です (何も指定しない場合は、通知メールが送信されません) |
KDUMP_SMTP_USER |
SMTP 認証に使用するユーザ名を指定します。パスワードは
<KDUMP_SMTP_USER >bwalle</KDUMP_SMTP_USER> |
任意指定です。 |
KDUMP_SMTP_PASSWORD |
SMTP 認証に使用するパスワードを指定します。ユーザ名は
<KDUMP_SMTP_PASSWORD >geheim</KDUMP_SMTP_PASSWORD> |
任意指定です。 |
既に説明したとおり、ダンプを保存する際には特別なカーネルを起動します。
使用するカーネルを自動検出するための仕組み (詳しくは kdump(5) をお読みください)
を使用したくない場合は、独自のカーネルを KDUMP_KERNELVER
で指定することができます。たとえばこの値を foo
に設定すると、
/boot/vmlinuz-foo
(お使いのプラットフォームで
vmlinuz
形式に対応している場合) または
/boot/vmlinux-foo
を読み込むようになります
また、 Kdump カーネルで起動する際に、コマンドラインを設定することもできます。
通常、元々起動していたカーネルのコマンドラインから、 Kdump では意味のない設定を
削除 (crashkernel
パラメータのように) し、 Kdump で必要な
設定を追加した状態で起動されます (詳しくは kdump(5) のマニュアルページをお読み
ください) 。コンソールの設定を追加する場合など、追加のコマンドラインを
設定したい場合は、 KDUMP_COMMANDLINE_APPEND
で指定します。
一方、コマンドラインパラメータを置き換えたい場合は、
KDUMP_COMMANDLINE
で指定してください。
表4.13 カーネル設定の XML 表記
要素 |
説明 |
備考 |
---|---|---|
KDUMP_KERNELVER |
Kdump で使用するバージョン文字列を指定します。自動検出の仕組みを 動作させる場合は、何も指定しないでください (何も指定しないことを 強くお勧めします) 。 <KDUMP_KERNELVER >2.6.27-default</KDUMP_KERNELVER> |
任意指定です (何も指定しない場合は自動検出します) |
KDUMP_COMMANDLINE_APPEND |
Kdump カーネルに設定する、追加のコマンドラインパラメータを指定します。 <KDUMP_COMMANDLINE_APPEND >console=ttyS0,57600</KDUMP_COMMANDLINE_APPEND> |
optional |
KDUMP_COMMANDLINE |
自動的に設定される Kdump のコマンドラインを無効化し、ここで指定した
値で上書きします。多くの場合、 <KDUMP_COMMANDLINE_APPEND >root=/dev/sda5 maxcpus=1 irqpoll</KDUMP_COMMANDLINE> |
任意指定です。 |
表4.14 熟練者向け設定の XML 表記
要素 |
説明 |
備考 |
---|---|---|
KDUMP_IMMEDIATE_REBOOT |
<KDUMP_IMMEDIATE_REBOOT >true</KDUMP_IMMEDIATE_REBOOT> |
任意指定です。 |
KDUMP_VERBOSE |
Kdump が表示する出力の冗長性を、ビットマスク形式で指定します。 詳しくは kdump(5) のマニュアルページをお読みください。 <KDUMP_VERBOSE>3</KDUMP_VERBOSE> |
任意指定です。 |
KEXEC_OPTIONS |
Kdump カーネルを読み込む際に kexec に渡す、追加のオプション を指定します。通常は何も指定しません。 <KEXEC_OPTIONS>--noio</KEXEC_OPTIONS> |
任意指定です。 |
ネットワーク認証やセキュリティなど、中枢となるコンポーネントの設定 以外に、 AutoYaST ではさまざまなハードウエア/システムに対して、 手作業でインストールを行なった場合と同等の設定機能を提供しています。 これにはたとえば、プリンタやサウンドデバイス、 TV カードやその他の ハードウエアコンポーネントなどが含まれます。
YaST モジュールで設定できるハードウエアやコンポーネントは、 AutoYaST でも設定することができます。
YaST プリンタモジュールは、 openSUSE 11.1 および SLES11, SLED 11 の 時点で大幅に変更されています。現時点での AutoYaST のプリンタ対応は 基本的な設定に限られ、ネットワークを介したクライアント側の CUPS 印刷システムの設定だけに対応しています。
AutoYaST では、ローカルの印刷キューを作成する機能は用意されていません。 特に USB プリンタがクライアントマシンに接続される環境では、 "/dev/usb/lp0" などのような汎用的なアクセス手段が無く、 "usb://ACME/FunPrinter?serial=1a2b3c" のようなデバイス固有のアクセス 手段しか存在しないため、事前に設定を作成することができません。また、 USB プリンタへのアクセスでは、特定のデバイスを認識するのに (左記のとおり) CUPS でのシリアル番号が必要となります。シリアル番号は通常、特定の デバイスが接続されたタイミングで CUPS のバックエンド "usb" が自動的に 付与する仕組みであり、 USB 経由で報告される値に依存した値になる ことによるものです。
CUPS でのネットワーク印刷は、本来下記のように設計されています:
CUPS ネットワーク印刷サーバ内の CUPS デーモンプロセス (cupsd) が、 指定した IP アドレスに対して印刷キューに関する情報を送信します (送信先には、ホストアドレスのほかブロードキャストアドレスも設定する ことができます) 。
クライアント側 (サーバに対して印刷ジョブを送信するだけの側) でも cupsd が動作していて、サーバからの情報を待ち受けます。クライアント側 では、どのサーバからの情報を受け付けるのかを設定することもできます。 既定ではすべてのサーバからの情報を受け付けます。
サーバ内には、クライアントから利用できる印刷キューが提供されます。 クライアント側のユーザは、さまざまなサーバ内にある印刷キューを参照 することができます。そのため、これは "参照モード" と呼ばれます。 そのためクライアント側では、 cupsd を既定の参照モードで動作させる だけの作業で済むようになっています。対応する cupsd の設定ファイル (/etc/cups/cupsd.conf) 内のディレクティブは、 "Browsing On", "BrowseAllow all" です。
CUPS サーバから発信される情報を受け付けるかどうかを設定するには、 "BrowseAllow" で行ないます。たとえば "BrowseAllow @LOCAL" のように 設定すると、ローカルネットワーク内に存在する CUPS サーバからの 情報のみを受け付けるようになります。
また、 "BrowseAllow" の項目を "BrowseAllow 192.168.100.1" と "BrowseAllow 192.168.200.0/255.255.255.0" のように複数個記載した 場合は、それぞれのホストやネットワークからの情報を受け付けるように なります。
CUPS での情報受け付けは、 UDP ポート 631 で行ないます。ファイアウオール を設定されている場合は、事前にこのポートが開いていることを確認する 必要があります。
上記の方法以外にも、ネットワーク内に 1 台の CUPS サーバしか存在しない 場合、 CUPS 参照機能は不要となるため、クライアント側では CUPS デーモン を動作させる必要もなくなります。
1 台の CUPS サーバしか存在しない環境の場合は、 /etc/cups/client.conf で "ServerName 192.168.100.99" のように直接 CUPS サーバを指定して アクセスします (ただし複数個を設定することはできません) 。この場合、 ローカルで動作する cupsd は無視され、動作していても何も意味を持ちません。
下記はプリンタ設定の例です。 <cups_remote_server> では、 /etc/cups/client.conf での ServerName の値が入っています。また、 <server_settings> には、 cupsd の設定ファイル (/etc/cups/cupsd.conf) 内で利用するすべての値が含まれています。 <server_settings> セクションは、 cupsd の設定を正しく行なうのに必要な項目です。
例4.37 プリンタ設定
<printer> <cups_remote_server>192.168.100.99</cups_remote_server> <server_settings> <Browsing config:type="list"> <listentry>On</listentry> </Browsing> <BrowseAllow config:type="list"> <listentry>@LOCAL</listentry> <listentry>192.168.100.1</listentry> <listentry>192.168.200.0/255.255.255.0</listentry> </BrowseAllow> <BrowseOrder config:type="list"> <listentry>allow,deny</listentry> </BrowseOrder> <LogLevel config:type="list"> <listentry>info</listentry> </LogLevel> <Listen config:type="list"> <listentry>localhost:631</listentry> <listentry>/var/run/cups/cups.sock</listentry> </Listen> <DefaultAuthType config:type="list"> <listentry>Basic</listentry> </DefaultAuthType> <SystemGroup config:type="list"> <listentry>sys root</listentry> </SystemGroup> <sections config:type="list"> <section> <Key>Location</Key> <Value>/</Value> <Allow config:type="list"> <listentry>127.0.0.2</listentry> </Allow> <Order config:type="list"> <listentry>allow,deny</listentry> </Order> </section> <section> <Key>Location</Key> <Value>/admin</Value> <Encryption config:type="list"> <listentry>Required</listentry> </Encryption> <Order config:type="list"> <listentry>allow,deny</listentry> </Order> </section> <section> <Key>Location</Key> <Value>/admin/conf</Value> <AuthType config:type="list"> <listentry>Default</listentry> </AuthType> <Require config:type="list"> <listentry>user @SYSTEM</listentry> </Require> <Order config:type="list"> <listentry>allow,deny</listentry> </Order> </section> <section> <Key>Policy</Key> <Value>default</Value> <subsection config:type="list"> <listentry> <Key>Limit</Key> <Value>Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job CUPS-Move-Job</Value> <Require config:type="list"> <listentry>user @OWNER @SYSTEM</listentry> </Require> <Order config:type="list"> <listentry>deny,allow</listentry> </Order> </listentry> <listentry> <Key>Limit</Key> <Value>CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default</Value> <AuthType config:type="list"> <listentry>Default</listentry> </AuthType> <Require config:type="list"> <listentry>user @SYSTEM</listentry> </Require> <Order config:type="list"> <listentry>deny,allow</listentry> </Order> </listentry> <listentry> <Key>Limit</Key> <Value>Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After CUPS-Accept-Jobs CUPS-Reject-Jobs</Value> <AuthType config:type="list"> <listentry>Default</listentry> </AuthType> <Require config:type="list"> <listentry>user @SYSTEM</listentry> </Require> <Order config:type="list"> <listentry>deny,allow</listentry> </Order> </listentry> <listentry> <Key>Limit</Key> <Value>Cancel-Job CUPS-Authenticate-Job</Value> <Require config:type="list"> <listentry>user @OWNER @SYSTEM</listentry> </Require> <Order config:type="list"> <listentry>deny,allow</listentry> </Order> </listentry> <listentry> <Key>Limit</Key> <Value>All</Value> <Order config:type="list"> <listentry>deny,allow</listentry> </Order> </listentry> </subsection> </section> </sections> </server_settings> </printer>
下記はサウンドデバイスの設定例です。
例4.38 サウンド設定
.... <sound> <autoinstall config:type="boolean">true</autoinstall> <modules_conf config:type="list"> <module_conf> <alias>snd-card-0</alias> <model>M5451, ALI</model> <module>snd-ali5451</module> <options> <snd_enable>1</snd_enable> <snd_index>0</snd_index> <snd_pcm_channels>32</snd_pcm_channels> </options> </module_conf> </modules_conf> <volume_settings config:type="list"> <listentry> <Master config:type="integer">75</Master> </listentry> </volume_settings> </sound> ....