第4章 設定時およびインストール時のオプション

目次

4.1. 汎用オプション
4.2. レポート処理
4.3. ブートローダ
4.4. パーティション作成
4.5. ソフトウエア
4.6. サービスとランレベル
4.7. ネットワーク設定
4.8. NIS
4.9. LDAP クライアント
4.10. NFS クライアントおよびサーバ
4.11. NTP クライアント
4.12. メール設定 (sendmail または postfix)
4.13. セキュリティ設定
4.14. モニタと X11 の設定
4.15. ユーザ
4.16. 独自のユーザスクリプト
4.17. システム変数 (sysconfig)
4.18. その他の設定ファイルの投入
4.19. ユーザに対してインストール時に尋ねる設定
4.20. カーネルダンプ
4.21. その他のハードウエアおよびシステムコンポーネント

本章では、一般的な用途における制御ファイル内の重要部について説明して います。その他の利用可能なオプションについては、設定管理システム (CMS) をお使いのうえ設定してください。

なお、設定オプションの中には、設定済みのソフトウエア選択に合わせて、追加の パッケージをインストールしなければならないものがあります。たとえば 最小構成 でインストールしたような場合は、必要な パッケージがインストールされず、後から個別に追加する必要があります。

YaST はインストール処理の第 2 フェーズのうち、 AutoYaST のインストール後 フェーズの前に必要なパッケージをインストールします。ただし、その時点で システム内に必要な YaST モジュールがインストールされていない場合は、 重要な設定手順が飛ばされることになります。たとえば yast2-security をインストールしていない場合、セキュリティ関連の設定は実施されません。

4.1. 汎用オプション

汎用オプションとは、インストール処理に関連するオプションのほか、 インストール済みのシステムの環境に対するオプションを全て含みます。

例4.1 汎用オプション

mode セクションでは、確認や再起動に関連する AutoYaST の動作を設定する ことができます。下記の例は、 <general><mode> セクション内に 存在すべき項目です。

既定では、自動インストール処理時にユーザ側に確認メッセージを表示します。 このオプションは、ターゲットシステムに対して設定や変更を行なう際、デバッグ などの目的で事前に確認メッセージを表示するためのものです。 confirm が "true" に設定されている場合 (既定値) 、 最初のシステム設定が完了して再起動した際、もう一度最初からインストールを 実施したりしないようにすることができます。完全無人インストールの場合にのみ、 この確認を無効化してください。

また、通常はインストール処理の第 2 ステージに進む際に再起動を行ないますが、 halt を設定すると、全てのパッケージをインストール した後、 AutoYaST はマシンをシャットダウンします。この時点ではブートローダの インストールは完了していますし、 chroot スクリプトも実行済みの状態です。

final_haltfinal_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 コマンドが設定されているだけなので、スクリプトに ついては特段複雑なことは行なっていません。

[Note]SUSE Linux 10.1/SLES10 での変更点

language (言語), keyboard (キーボード), clock (日付/時刻) の各属性は、 general リソースからルートノードに移動しています。 これらのバージョンまたはそれ以降のバージョンでは、 general セクションは 使用しないでください。

最初の再起動のあと、第 2 ステージで AutoYaST を無効にしたい場合は、 second_stage 属性を使用することができます ("false" に設定してください) 。この場合、第 2 ステージの作業は全て手作業で実施する ことになります。既定値は "true" で、 AutoYaST が全ての処理を行ないます。 openSUSE 11.0 またはそれ以降のバージョンでは、第 2 ステージのインストール 完了後に、マシンを再起動したりシャットダウンしたりするためのオプションが 用意されています。それぞれ final_rebootfinal_halt です。

なお、署名の処理について、詳しくは 4.5項 「ソフトウエア」 をお読みください。

4.2. レポート処理

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 秒で自動的に消える設定になっています。

[Warning]致命的なシステムメッセージ

report リソースでは、必ずしも全てのメッセージを 制御できるわけではありません。パッケージのインストールやパーティション 設定など、致命的なエラーメッセージによっては report セクションを無視して動作するものもあります。 これらのうちの多くは はい または いいえ で回答するタイプのメッセージです。

4.3. ブートローダ

このドキュメンテーションは 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>

4.3.1. デバイスマップ

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>

4.3.2. グローバル設定

オプションの設定の中では重要な項目です。ここでは 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

menu.lst 内の項目で、既定で起動するセクションを 指定します。

<default>openSUSE 11.2 - 2.6.31.5-0.1</default>

gfxmenu

グラフィカルな起動メニューに対するパスを指定します。グラフィカルな 起動メニューを使用しない場合は、 'none' を指定します。

<gfxmenu>(hd0,1)/boot/message</gfxmenu>

timeout

menu.lst 内の既定の項目を起動するまでに待機する 時間を、秒単位で指定します。

<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 ファイルを使用している場合、使用したり変更したりしないでください。

4.3.3. initrd モジュール

initrd モジュールの一覧を指定します。通常は AutoYaST が自動的に判断して 設定する項目であるため、影響を熟知している場合を除いて、独自に設定するのは 避けてください。

4.3.4. ローダの種類

使用するブートローダを指定します: grub, lilo, ppc, elilo

<loader_type>grub</loader_type>

4.3.5. セクション

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>

4.3.6. オプション

利用可能なオプションは、その 種類 によって 異なります。

4.3.6.1. セクションの種類とオプション: image および xen

属性

説明

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>

4.3.6.2. セクションの種類とオプション: other (チェインローダ)

属性

説明

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>

4.3.6.3. セクションの種類とオプション: menu (設定ファイル本体)

属性

説明

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>

4.4. パーティション作成

4.4.1. ドライブの設定

[Warning] 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 が取るべき 方法を指定します。

下記の中から選択します:

  • all (新しいパーティションを作成する際、デバイス全体を使用します)

  • linux (既存の Linux パーティションのみを使用します)

  • free (デバイス内の未使用領域のみを使用します)

  • 1,2,3 (使用するパーティションを、カンマ区切りで指定します)

このパラメータは必ず指定する必要があります。

type

ドライブ に対して設定する種類を指定します (この パラメータは、 SLES10 および SL10.1 までで使用されていた is_lvm_vgis_evms_vg を置き換えるものです) 。

下記の中から選択します:

  • CT_DISK: 通常のハードディスクドライブを指定します (既定値)

  • CT_LVM: LVM ボリュームグループを指定します

  • CT_EVMS: EVMS ボリュームグループを指定します

<type config:type="symbol">CT_LVM</type>

任意指定です。通常の物理ハードディスクの場合は、 CT_DISK が既定値です。

disklabel

パーティションテーブルの種類を指定します。

下記の中から選択します:

  • msdos

  • gpt

<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" です。

4.4.2. パーティションの設定

それぞれ下記の要素は、 <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

このパーティションに対して設定するファイルシステムを指定します:

  • reiser

  • ext2

  • ext3

  • xfs

  • jfs

  • swap

<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" を指定すると、既存のパーティションを サイズ変更する意味になります。この場合、 createfalse に設定する必要があるほか、 format の設定も false に 設定するのが通常です。また、 AutoYaST に対して partition_nrsize の 設定を行なう必要があります。サイズは元のサイズに対する割合か、もしくは 具体的なサイズ (800M など) を指定します。 このパラメータを設定した場合、サイズに対して設定する max (最大値) と auto (自動) は利用できません。

<resize config:type="boolean"
>false</resize>

サイズ変更は物理ディスクに対してのみ動作します。 LVM/EVMS ボリュームに 対しては動作しません。

4.4.3. RAID オプション

それぞれ下記の要素は、 <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 です。

4.4.4. パーティション作成の自動化

パーティション作成を自動化する場合は、パーティションのサイズとマウント ポイントを設定するだけでかまいません。パーティション作成を正しく行なうのに 必要となる他の情報は、制御ファイル内に指定されていない場合、それぞれ インストール時に自動的に計算されます。

制御ファイル内に何もパーティションが設定されていない場合、指定したドライブに ルートパーティションを作成する際は下記のような構成で自動的に作成が 行なわれます:

  • /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

    このオプションは、削除するパーティションを指定するためのもの です。この場合は、後ろのパーティションから指定してください。

パーティションの再作成は、選択したパーティションがそれぞれ隣り合って いる状態で、かつデバイスの後ろ側に存在する場合にのみ動作します。

[Note]重要な注意事項

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>

4.4.5. 高度なパーティション作成機能

4.4.5.1. パーティションテーブルの消去

多くの場合、 AutoYaST では自動的にパーティションを削除することが できるため、パーティションテーブルを消去する必要はありません。 ですが、パーティションを個別に削除するのではなく、パーティション テーブルごと削除することもできます。

この場合は、 "drive" セクションに対して下記の項目を追加します:

<initialize config:type="boolean">true</initialize>

この設定を行なうと、 AutoYaST はパーティション解析処理を行ない、 計画を作成する前に、パーティションテーブルを削除します。 もちろん、これにより既存のパーティションのデータは全て 失われることになります。

4.4.5.2. マウントオプション

既定では、ファイルシステムは /etc/fstab 内でデバイス名を利用してマウントします。それ以外にも、 UUID やボリュームラベルで マウントする方法があります。なお、必ずしも全てのファイルシステムが UUID やボリュームラベルに 対応しているわけではありません。パーティションのマウント方法 を指定するには、 symbol 型を持つ mountby 属性で設定してください。 指定可能な値は下記のとおりです:

  • device (デバイス, 既定値)

  • label (ラベル)

  • UUID

ボリュームラベルを利用してマウントする場合、その名前は label 属性内に入力します。

/etc/fstab の 4 番目のフィールドに入力する マウントオプションについても設定することができます。複数の オプションはカンマで区切ります。設定可能な値は下記のとおりです:

  • 読み込み専用でのマウント (ro): ファイルシステムに対して、読み込み専用でマウントすることを 指示します。既定値は "false" です。

  • アクセス日時更新の無効化 (noatime): ファイルが読み込まれた際、アクセス日時を更新しないようにします。 既定値は "false" です。

  • ユーザによるマウント (user): 対象のファイルシステムが、一般ユーザからマウントできるように なります。既定値は "false" です。

  • データ部分のジャーナルモード指定 (ordered, journal,writeback): ファイルデータに対するジャーナル設定を指定します。

    journal

    ファイルシステムに書き込む前に、 すべてのデータをジャーナルに書き込みます。

    ordered

    メタデータ部分をジャーナルに書き込む前に、 すべてのデータをファイルシステムに書き込みます。

    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>

4.4.5.3. 特定のパーティションの保持

場合によっては、何もない状態からパーティションを作成するのではなく、 一方のパーティションはそのまま保持し、他方のパーティションだけを フォーマットしたいようなことがあります。たとえば他の 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 パーティションの保持

パーティションの保持

上記のシナリオ (図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>

4.4.6. 既存のマウントテーブル (fstab) の使用

[Note]新機能

このオプションは、 AutoYaST に対して既存の /etc/fstab を使わせるための設定で、以前使用していたパーティション 情報を引き継ぐためのものです。この場合はすべてのパーティションが 保持され、新しいパーティションは作成しません。ただし、 /etc/fstab 内で Linux のルート パーティションとして指定されたパーティションは、 フォーマットされてからマウントされます。

既定では、すべてのパーティションに対してフォーマットを行ないますが、 いくつかのパーティションをフォーマットせず、マウントだけを行なうような 設定も可能です (たとえばデータ用のパーティションなど) 。また、システムに 複数のオペレーティングシステムがインストールされている場合 (たとえば それぞれルートパーティションの異なる 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>

4.4.7. 論理ボリュームマネージャ (LVM)

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 つの論理ボリュームに対して、 sizemax にすることは できません。

4.4.8. エンタープライズボリューム管理システム (EVMS) の対応について

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>

4.4.9. ソフトウエア RAID

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 リソース内に含まれるようにします。

4.4.10. IBM System z 固有の設定

4.4.10.1. DASD ディスクの設定

下記の要素を <profile> セクション内に設定する必要があります:

<dasd>
 <devices config:type="list">
  <listentry>
   ...
  </listentry>
 </devices>
</dasd>

それぞれのディスクは、 <listentry> から </listentry> までの間で設定します:

属性

説明

device

固定で DASD を指定します。

<device
>DASD</dev_name>

dev_name

このセクションで設定するデバイスを、 dasdn (n の部分を必要に応じて置き換える) の形式で 指定します。

<dev_name
>/dev/dasda</dev_name>

任意指定ですが、設定しておくことをお勧めします。何も指定しない 場合、 AutoYaST はデバイスを独自に判別します。

channel

ディスクに対してアクセスするチャネルを指定します。

<channel>0.0.0150</channel>

必須です。

diag

DIAG を使用するかどうかを指定します。 true (使用する) または false (使用しない) のいずれかを指定 します。

<diag
config:type="boolean">true</diag>

任意指定です。

4.4.10.2. zFCP ディスクの設定

下記の要素を <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>

4.5. ソフトウエア

4.5.1. パターンとパッケージ選択

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 から変わっていません。 addonbase のセクション だけがなくなっています。

4.5.2. イメージの配置

この機能は 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>

4.5.3. 追加のパッケージやカスタマイズしたパッケージのインストール

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

[Note]SUSE Linux 9.1 および SLES 9 での変更点

rpm ファイルには記述されていない追加の依存関係を設定するには、 suse/setup/descr ディレクトリ内に追加のファイルを 作成し、それら依存関係を記述します。ファイル名は EXTRA_PROV で、 -x オプションを付けてパッケージデータベースを作成しなおします。

上記の例では、 /usr/local/CDs/LATEST/suse ディレクトリ 内に、アーキテクチャに依存したパッケージ (i586 など) と 依存していないパッケージ (noarch) の両方が含まれて います。異なるアーキテクチャの場合は、出力が異なります。

この方法の利点は、 SuSE FTP サーバなどから取得する 場合に比べ、更新された最新のパッケージを配置できるという点にあります。 また、この方法を利用すれば、独自の CD-ROM を簡単に作成できることにも なります。

[Note]SUSE Linux 10.1 および SLES 10 での変更点

SLES10/SL10.1 では、インストール元に独自の RPM を追加するための 方法が変更されています。 AutoYaST や YaST において、 yast/orderyast/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> セクションの グローバル設定を使用します。

4.5.4. カーネルパッケージ

カーネルパッケージは、パターンなどの選択には含まれません。基本的には、 インストール時に必要なカーネルを自動的に判断します。これは、パターンに カーネルパッケージが含まれてると、多くの場合矛盾が発生することになり、 インストールがうまくいかなくなるためです。

特定のカーネルをインストールするように強制したい場合は、 kernel 属性を使用します。下記は default カーネルを インストールするように強制する設定です。この設定では、 SMP など他の カーネルが必要な環境であっても、 default カーネルをインストール します。

例4.16 制御ファイル内でのパッケージ選択

  <software>        
    <kernel>kernel-default</kernel>
    <packages  config:type="list">
      <package>apache2</package>
    </packages>
  </software>

4.5.5. 選択したパッケージの自動削除について

パッケージによっては、依存関係やセレクションの都合により、 自動的にインストールするように選択されるものがあります。

これらのパッケージを削除してしまうと、システムの一貫性を壊す ことになってしまいます。特に基本パッケージについては、同様の 機能が提供される場合を除いて、削除することはお勧めできません。 たとえば 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>

4.5.6. ステージ 2 でのパッケージのインストール

第 1 ステージではなく、再起動後の第 2 ステージでパッケージを インストールしたい場合は、 post-packages 要素内で指定します:

<software>
  <post-packages config:type="list">
    <package>yast2-cim</package>
  </post-packages>
</software>

4.5.7. ステージ 2 でのパターンのインストール

SLES11 および openSUSE 11.1 、もしくはそれ以降のバージョンでは、 第 2 ステージでパターンをインストールすることもできるようになって います。 post-patterns 要素内で設定して ください:

<software>
  <post-patterns config:type="list">
    <pattern>apparmor</pattern>
  </post-patterns>
</software>

4.5.8. ステージ 2 でのオンライン更新

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>

4.6. サービスとランレベル

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>
....

	

4.7. ネットワーク設定

4.7.1. ネットワークデバイスと DNS 、およびルーティング

ネットワークの設定は、単一の 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>
....

      

4.7.2. プロキシ

インターネットプロキシ (キャッシュ) サーバに関する 設定を行ないます。

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>


4.7.3. inetd および xinetd

AutoYaST のプロファイルでは、使用すべきスーパーサーバを指定する要素 (netd_service) が存在するほか、それを有効にするかどうか (netd_status) やサービスを設定すべきかどうか (netd_conf) を設定することができます。

サービスの設定は、 2 つのパーツから構成されています。 1 つはキー項目、 もう 1 つはキー以外の項目です。設定を記述する際は、キー項目を利用して 項目のマッチング処理を行なうことに注意してください。該当するサービスが 既に存在する場合、既存のサービスに対してそれ以外の (キー以外の) 項目が 設定されます。該当するサービスが存在しない場合は、新しいサービスが 作成されます。複数のサービスが該当するような場合は、警告が報告されます。 なお、キー項目は script, service, protocol, server の 4 つです。

serviceprotocol は文字列が 一致するかどうかが判断基準になります。 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>

	  

4.8. NIS

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>
...

	  

4.9. LDAP クライアント

インストールするマシンのユーザ認証を行なうにあたって、 OpenLDAP サーバの 認証情報を利用する LDAP クライアント を設定することができます。このとき必要となるデータは、検索のベース名 (ベース DN 、 たとえば dc=mydomain,dc=com など) と LDAP サーバのアドレス (たとえば 10.20.0.2) です。

LDAP クライアントを有効にしてユーザ認証を 行なう場合、それぞれ NSSPAM についても、設定を行なう必要があります。

例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>
...

	  

4.10. NFS クライアントおよびサーバ

システムを 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>
....

4.11. NTP クライアント

システムの起動時に、 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.12. メール設定 (sendmail または postfix)

このモジュールでは、メールクライアントに対するサーバ側の設定を 行なうことができます。このモジュールには様々なオプションが用意されて いますが、下記の例を元に作成していくことをお勧めします。

例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.13. セキュリティ設定

このモジュールの使用を使用することで、インストール先のシステムに対して 様々なローカルセキュリティを設定することができます。ローカルセキュリティ には起動時の設定のほか、ログイン設定やパスワードの設定、ユーザに対する 追加の設定やファイルのパーミッション (アクセス許可) などが含まれます。

セキュリティ関連の設定は、インストール済みのシステムでセキュリティ モジュールを起動し、 カスタム設定 で表示される 設定を元にして作成することをお勧めします。

例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>
...

	

4.13.1. パスワードの設定オプション

ここではパスワードに関連した様々な設定を行ないます。これらの設定は、 主に /etc/login.defs ファイル内に保存されます。

encryption 属性では、パスワードの暗号化に関する 設定を行ないます。何も指定しない場合、 DES が 設定されたものとみなされます。

DES は Linux における既定の暗号化方式で、全ての ネットワーク環境で利用可能なものです。ただし、半角 8 文字以上の パスワードには対応していません。 MD5 はより長い パスワードに対応していますが、ネットワークプロトコルによっては対応 していないものもあり、特に NIS などで問題になります。これ以外にも、 Blowfish 等にも対応しています。

また、パスワードの健全性をチェックにしたり、長さをチェックしたりする ためのオプションも用意されています。

4.13.2. 起動設定

security リソースを使用することで、様々な起動設定を行なうことができます。

  • Ctrl + Alt + Del の解釈

    コンソールで CTRL + ALT + DEL キーの組み合わせを押した際、通常は システムの再起動が行なわれます。ただし、システムがワークステーションと サーバの両方の機能を持ち合わせている場合など、この機能を無視したほうが 都合のよい場合があります。

  • KDM のシャットダウン時の振る舞い

    どのユーザが KDM からシャットダウンを実行できるかを指定します。

4.13.3. ログイン設定

ここでは、ログインに関する様々な設定を行ないます。これらの設定の多くは、 '/etc/login.defs' ファイル内に保存されます。

4.13.4. 新規ユーザの設定 (useradd の設定)

ユーザ ID やグループ ID として使用する、最小値と最大値をそれぞれ 設定します。

4.14. モニタと X11 の設定

[Note]

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>


...

4.15. ユーザ

通常のインストール時には、制御ファイル内で 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 内の情報が使われます。

4.16. 独自のユーザスクリプト

スクリプトを追加することで、自動インストール処理の途中の様々な段階で、 要件に沿ったカスタマイズを行なうことができます。

自動インストール処理では、 5 種類のスクリプトを実行することができます。 下記では、それぞれインストールの際に実行される順に説明しています。

<scritps> セクション内で使用可能なスクリプト

  • pre-scripts (とても早い段階で実行されるものです。具体的には、 一切の処理が始まる前に実行されます。)

  • postpartitioning-scripts (パーティションを設定し、それらを /mnt にマウントしたあと、 RPM のインストールが行なわれる前に実行されます - openSUSE 11.2 または それ以降のバージョンで利用できます)

  • chroot-scripts (パッケージのインストール後、初回の再起動が行なわれる前に実行されます)

  • post-scripts (インストール済みのシステムの初回起動時、全てのサービスの起動前に 実行されます)

  • init-scripts (インストール済みのシステムの初回起動時、全てのサービスの起動後に 実行されます)

4.16.1. インストール前スクリプト

YaST がシステムに対して、一切の変更を行なう前に実行するスクリプトです。 (具体的にはパーティションやパッケージのイントールよりも前に実行 されます。ただしハードウエア検出よりも後で実行されます) 。

インストール前スクリプトは、プロファイルそれ自身を修正して AutoYaST に 再読み込みさせる目的でも使用することができます。インストールの最中、 プロファイルは "/tmp/profile/autoinst.xml" 内に存在します。このファイルを スクリプトから修正し、修正版を "/tmp/profile/modified.xml" として保存 すると、 AutoYaST はインストール前スクリプトの完了後、修正版の プロファイルを読み込みます。

SUSE Linux 10.0 またはそれ以降のバージョンの場合、インストール前スクリプト で fdisk によるパーティション修正を行なうことができます。SUSE Linux 10.0 以前の (たとえば SLES9) バージョンでは、これを行なうことはできません。

[Note]確認メッセージを表示するインストール前スクリプト

インストール前スクリプトは、インストールのとても早い段階で実行されます。 たとえばインストール時に確認を行なうように設定した場合、 インストール前スクリプトは確認メッセージ (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 度だけ実行される) です。


4.16.2. パーティション作成後スクリプト

[Note]

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 度だけ実行される) です。


4.16.3. choort 環境のスクリプト

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 度だけ実行される) です。


4.16.4. インストール後スクリプト

ここで指定するスクリプトは、 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 度だけ実行される) です。


4.16.5. 初期設定スクリプト

これらのスクリプトは、 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.16.6. スクリプト例

例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

4.17. システム変数 (sysconfig)

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 ディレクトリ内のファイルとして扱われます。


4.18. その他の設定ファイルの投入

インストール済みのシステムで様々なアプリケーションやサービスを 動作させるには、それぞれの設定ファイルを適切な場所に配置する 必要があります。たとえば 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>

	

4.19. ユーザに対してインストール時に尋ねる設定

この機能は 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 以外の 終了コードで終了した場合、通常の既定値が使用されます。なお、 \n の改行を出力させたくない場合は、 echo -n で改行を出力しない ようにしてください。

<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>

4.20. カーネルダンプ

[Note]利用可能なバージョン

この機能は、 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> 

4.20.1. メモリの予約

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 を搭載した マシン) の場合は 64M 、それ以上の大規模構成の マシンの場合は 128M

PPC64

小規模構成のマシンの場合は 128M 、大規模構成の マシンの場合は 256M

IA64

小規模構成のマシンの場合は 256M 、中規模程度の 構成のマシンの場合は 512M 、 (多くの SGI Altix マシンなど) 大規模な構成の場合は、 1G


また、システムに搭載された 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>

必須です。


4.20.2. ダンプの保存

4.20.2.1. ターゲット

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_KERNELtrue に設定してください。これにより、 1 つの ディレクトリ内で分析に必要な全ての情報が揃うことになります (ただし、 カーネルモジュールとそのデバッグ情報は含まれません) 。

4.20.2.2. フィルタリングと圧縮

カーネルダンプは通常、圧縮もフィルタも行なわれません。これは つまり、システムに搭載された RAM と同じサイズになる、ということに なります。より小さなファイルにまとめたい場合は、採取後に圧縮を 実施する必要があります。もちろん解析を行なう際は、逆に展開処理を 行なう必要があります。

各ページを圧縮するページ圧縮を使用するには、 KDUMP_DUMPFORMATcompressed (既定値) に設定します。この場合は、 crash(8) デバッグツールを利用して 展開を行なうことができます。

また、たとえば全てのデータがゼロで埋められているページなど、全ての ページを保存したくないような場合も考えられます。ダンプに対してフィルタ を設定するには、 KDUMP_DUMPLEVEL を指定します。 ここで設定する値は、 0 が完全な (全てのページを略さずに出力する) ダンプ、 31 が最も小さな (できるかぎりページを略して出力する) ダンプになります。 保存されるページについて、詳しくは kdump(5) と makedumpfile(8) の 各マニュアルページをお読みください。

4.20.2.3. 概要

表4.11 ダンプターゲット設定の XML 表記

要素

説明

備考

KDUMP_SAVEDIR

ダンプと関連するファイルを保存する先の URL を指定します。

<KDUMP_SAVEDRIR
>file:///var/crash/</KDUMP_SAVEDIR>

必須です。

KDUMP_COPY_KERNEL

"true" を指定すると、ダンプだけではなくカーネル自身とその デバッグ情報 (インストールされていれば) も KDUMP_SAVEDIR 内に保存されるようになります。

<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_SAVEDIR がローカルディレクトリを 指し示している場合、保持しておくべきダンプの数を指定します。 0 を指定すると、ダンプの自動削除は行なわれなくなります。 -1 を指定すると、最新のダンプを除いて全てのダンプを削除する ようになります。

<KDUMP_KEEP_OLD_DUMPS
>4</KDUMP_KEEP_OLD_DUMPS>

任意指定です。


4.20.3. 電子メール通知

マシンがクラッシュし、ダンプが採取されたタイミングで、 電子メールによる通知を設定することができます。

Kdump は initrd 内で動作する仕組みであるため、同じマシンにメールサーバが設定 してあっても、通知メールを送信することはできません。必ず他のマシンにある SMTP サーバを使用する必要があります (下記をお読みください) 。

また、電子メールの送信先は KDUMP_NOTIFICATION_TO で指定 しますが、必ず 1 つだけアドレスを指定してください。複数のアドレスを指定したい 場合は、 KDUMP_NOTIFICATION_CC で指定します。また、いずれの 指定項目とも、実際の名前ではなく電子メールアドレスで指定してください。

また、 SMTP サーバの指定は KDUMP_SMTP_SERVER で行なうほか、 対象のメールサーバで認証が必要な場合は、 KDUMP_SMTP_USERKDUMP_SMTP_PASSWORD で指定してください。ただし、現時点では TLS/SSL には対応していません。将来的に対応される予定です。

表4.12 電子メール通知の XML 表記

要素

説明

コメント

KDUMP_NOTIFICATION_TO

電子メールの送信先を 1 つだけ指定します。それ以外の送信先は、 KDUMP_NOTIFICATION_CC で指定します。

<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_USERKDUMP_SMTP_PASSWORD をお読みください) 。 ただし、 TLS/SSL には 対応していません

<KDUMP_SMTP_SERVER
>email.suse.de</KDUMP_SMTP_SERVER>

任意指定です (何も指定しない場合は、通知メールが送信されません)

KDUMP_SMTP_USER

SMTP 認証に使用するユーザ名を指定します。パスワードは KDUMP_SMTP_PASSWORD で指定します。

<KDUMP_SMTP_USER
>bwalle</KDUMP_SMTP_USER>

任意指定です。

KDUMP_SMTP_PASSWORD

SMTP 認証に使用するパスワードを指定します。ユーザ名は KDUMP_SMTP_USER で指定します。

<KDUMP_SMTP_PASSWORD
>geheim</KDUMP_SMTP_PASSWORD>

任意指定です。


4.20.4. Kdump カーネル設定

既に説明したとおり、ダンプを保存する際には特別なカーネルを起動します。 使用するカーネルを自動検出するための仕組み (詳しくは 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 のほうが適切です。

<KDUMP_COMMANDLINE_APPEND
>root=/dev/sda5 maxcpus=1 irqpoll</KDUMP_COMMANDLINE>

任意指定です。


4.20.5. 熟練者向け設定

表4.14 熟練者向け設定の XML 表記

要素

説明

備考

KDUMP_IMMEDIATE_REBOOT

true を指定すると、ダンプを保存したのち、システムを 自動的に再起動します。 false を指定した場合は、 何も行ないません。既定値は true です。

<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>

任意指定です。


4.21. その他のハードウエアおよびシステムコンポーネント

ネットワーク認証やセキュリティなど、中枢となるコンポーネントの設定 以外に、 AutoYaST ではさまざまなハードウエア/システムに対して、 手作業でインストールを行なった場合と同等の設定機能を提供しています。 これにはたとえば、プリンタやサウンドデバイス、 TV カードやその他の ハードウエアコンポーネントなどが含まれます。

YaST モジュールで設定できるハードウエアやコンポーネントは、 AutoYaST でも設定することができます。

4.21.1. プリンタ

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.21.2. サウンドデバイス

下記はサウンドデバイスの設定例です。

例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>

....

	  


openSUSE AutoYaST 13.1