Ignite-UX は、実行時にインストールパラメータに関してインテリジェントな決定を行うことができます。この決定は、ターゲットシステムから読み込んだ情報に基づいて行われます。パラメータは、スワップサイズやカーネルパラメータなどの静的値を強制するのではなく、ターゲットシステムの性質に基づいて決定するのが適切です。
これにより、システム管理者による構成設定がより汎用的なものになり、システムのマイナーチェンジによるカスタム構成を作成しなくて済むようになります。
これらの決定は C 言語のような Ignite-UX 独特の文法で行われます。変数と構文については、instl_adm(1M) マンページを参照してください。
例
この例では、ディスク容量とターゲットシステムの RAM 容量に基づいて、ターゲットシステムのルートディスクの一次スワップサイズをインストール時に動的に設定します。ディスク容量が大きく (500MB 以上)、システムの RAM
容量が 64MB 以上の場合、スワップはアルゴリズムにより 125MB に設定されます。ディスク容量が小さい場合は、HP-UX
が使用できる容量を増やすためにスワップをできるだけ小さくします。
以下の行をファイル /var/opt/ignite/config.local の最後に加え、全構成のデフォルトになるように設定します。
# default to very minimal swap of 25MB # unless the disk is larger than 500 MB # and we have more than 64MB ram (disk[_hp_root_disk].size > 500MB & memory > 64MB) { init _hp_pri_swap=125MB } else { init _hp_pri_swap=25MB } |
これを/var/opt/ignite/data/Rel_B.11.00/custom_cfgなど個別のファイルに加え、ファイル名を INDEX に追加することもできます。
また、自動インストール用に作成した config ファイルに加えることもできます。_hp_pri_swap パラメータが "cfg" 定義で検索されたファイルの最後の方に設定されると、この設定は上書きされます。ファイルが評価される順番については、instl_adm(1M) マンページおよび本書の第
3 章を参照してください。また、自動インストールに使用する config ファイルは、インストールプロセスの一部として上書きされるので注意してください。
ターゲットシステムが正規表現71* (710 や 712 など) に一致した場合にパッチバンドルのロードを強制するには、ファイルの最後に以下の行を追加します。
/var/opt/ignite/data/Rel_B.11.00/custom_cfg # check for H/W model 71x # and add the Misc_Patches bundle if true (hardware_model ~ "9000/71*") {init sw_sel "Misc_Patches" = true} |
先に作成したポストインストールスクリプトを実行してターゲットシステムが
Model 755 であることが判明したら、変更可能カーネルパラメータの数値を上げます。そうでない場合は、カーネルパラメータにはデフォルト値が設定されます。
post_config_script += "/var/opt/ignite/scripts/755special" (HARDWARE_MODEL == "9000/755") { mod_kernel += "maxuprc 300" } else {mod_kernel += "maxuprc 100"} |
システムの RAM とディスクの容量に基づいて、まったく異なるデフォルト構成を選択します。これを有効にするには、先に説明したように instl_adm を使って INSTALLFS ファイルを開かなければなりません。
# For a system with only one disk and small memory, select # the "small system configuration" (num_disks == 1 & memory < 64MB ) {cfg "small system configuration" = true} |
/var/opt/ignite/INDEX ファイルにリストされている全構成ファイルの構文を知りたい場合は、次のように入力します。
instl_adm -T
INDEX ファイルにリストされていないファイルの構文を知りたい場合は、次のように入力します。
instl_adm -T -f file