27.4. キックスタート設定の例
27.4.1. 高度なパーティション設定の例
以下は、clearpart、zerombr、part、raid、volgroup、および logvol キックスタートオプションの動作を示す統合された例です。
例27.10 高度なパーティション設定の例
clearpart --drives=hda,hdc zerombr # Raid 1 IDE config part raid.11 --size 1000 --asprimary --ondrive=hda part raid.12 --size 1000 --asprimary --ondrive=hda part raid.13 --size 2000 --asprimary --ondrive=hda part raid.14 --size 8000 --ondrive=hda part raid.15 --size 16384 --grow --ondrive=hda part raid.21 --size 1000 --asprimary --ondrive=hdc part raid.22 --size 1000 --asprimary --ondrive=hdc part raid.23 --size 2000 --asprimary --ondrive=hdc part raid.24 --size 8000 --ondrive=hdc part raid.25 --size 16384 --grow --ondrive=hdc # You can add --spares=x raid / --fstype xfs --device root --level=RAID1 raid.11 raid.21 raid /safe --fstype xfs --device safe --level=RAID1 raid.12 raid.22 raid swap --fstype swap --device swap --level=RAID1 raid.13 raid.23 raid /usr --fstype xfs --device usr --level=RAID1 raid.14 raid.24 raid pv.01 --fstype xfs --device pv.01 --level=RAID1 raid.15 raid.25 # LVM configuration so that we can resize /var and /usr/local later volgroup sysvg pv.01 logvol /var --vgname=sysvg --size=8000 --name=var logvol /var/freespace --vgname=sysvg --size=8000 --name=freespacetouse logvol /usr/local --vgname=sysvg --size=1 --grow --name=usrlocal
この高度な例では、RAID を使用した LVM や、将来的なデータの増加に応じてさまざまなディレクトリーのサイズを変更できる機能が実装されています。
まず、clearpart コマンドをドライブ
hda
および hdc
で使用して消去します。zerombr コマンドは、未使用のパーティションテーブルを初期化します。
次に 2 つのドライブにパーティションを設定して、RAID 設定の準備をします。各ドライブは 5 つのパーティションに分割され、同一のレイアウトでパーティション設定されます。
次の部分では、これらの物理パーティションのペアを使って RAID1 レベル (ミラーリング) で ソフトウェア RAID デバイスを作成します。最初の 4 つの RAID デバイスは、
/
(ルート)、/safe
、swap
、および /usr
に使用されます。5 番目に大きいパーティションのペアは pv.01
という名前で、次の部分で LVM の物理ボリュームとして使用されます。
最後に、コマンドの最後のセットは、最初に
sysvg
という名前のボリュームグループを pv.01
物理ボリューム上に作成します。次に、3 つの論理ボリューム (/var
、/var/freespace
、および /usr/local
) が作成され、sysvg
ボリュームグループに追加されます。/var
および /var/freespace
ボリュームのサイズは 8 GB に設定されており、/usr/local
ボリュームは --grow
オプションを使用して残りの使用可能なスペースをすべて埋めます。
27.4.2. ユーザー入力の例
以下では、bash を使用してユーザーに入力を要求し、その入力を読み込み変数として保存する例を示します。
例27.11 ユーザー入力の例
%pre exec < /dev/tty6 > /dev/tty6 2> /dev/tty6 chvt 6 IFS=$'\n' echo -n "Enter input: " read USERINPUT echo echo -n "You entered:" "$USERINPUT" echo chvt 1 exec < /dev/tty1 > /dev/tty1 2> /dev/tty1 %end
キックスタートの作動方法により、スクリプトはユーザー入力を読み込む前に新規の仮想マシンに切り替える必要があります。これ は、exec </dev/tty6 >/dev/tty6 2>/dev/tty6 および chvt 6 コマンドによって実現されます。read USERINPUT は、 Enter キーが押されるまでユーザーからの入力を読み取り、それを変数
USERINPUT
に格納します。echo -n "Youentered:" "$USERINPUT" コマンドは、テキスト Youentered:
に続いてユーザーの入力を表示します。最後に、chvt 1 および exec </dev/tty1 >/dev/tty1 2>/dev/tty1 コマンドは元の端末に戻り、キックスタートがインストールを続行できるようにします。
27.4.3. RNG デーモンをインストールして起動するキックスタートファイルの例
以下では、サービスをインストールして有効にするキックスタートファイルの例を説明します。ここでは、システムカーネルにエントロピーを提供する Random Number Generator (RNG) デーモンを使っています。
例27.12 RNG デーモンをインストールして起動するキックスタートファイルの例
services --enabled=rngd %packages rng-tools %end
services --enabled=rngd コマンドは、システムが起動するたびに RNG デーモンを起動するように、インストールされたシステムに指示します。RNG デーモンが含まれる rng-tools パッケージは、インストールで指定されます。