続いて、Kickstart という機能を使って、もう1台のホストを立てることにした。

Kickstartとは

Kickstartとは、OSインストール時に設定ファイルを読み込むことで、諸々の初期設定を行ってくれる、Linuxの機能です。
同じ設定のホストを複数台立てなきゃいけない時に、いちいち各ホストにログインして設定するのは大変ですよね。
私も今までは、FirewallやSELinuxを切ったり、eth0を有効化したりと、初回ログイン時に毎回お決まりの操作をしておりました。
面倒くさい上に抜け漏れが起きやすく、抜け漏れが起きた時の影響も大きいです。
ある時は何故か接続ができず、理由を延々と探す羽目になってしまうこともありました…

Kickstartを使った設定

参考:Linux自動インストール = Kickstart

Kickstartファイルのサンプルはネットに転がっているが、
インストール済のホストには、以下のパスに設定ファイルが保存されている。

/root/anaconda-ks.cfg

Kickstartファイルを読み込むには、いろいろな方法があるが、HTTPで読み込むのが便利そう。/var/www/html 以下に配置して、内容を編集。例えば、初期設定でeth0の有効化とFirewallとSELinux を無効化を行う場合は下記のように変更

cp -ip /root/anaconda-ks.cfg /var/www/html/
vi /var/www/html/anaconda-ks.cfg

--- CHANGE ---
network --onboot yes --device eth1 --bootproto dhcp --noipv6
firewall --disabled
selinux --disabled
--- CHANGE ---

Webサーバとなるホストのhttpdの有効化、Firewall, SELinuxの無効化を忘れずに実施した後、
新しくOSをインストールするホストをVirtual Boxで立てる。
インストールディスクをセットし、起動。
インストールモードを選択する画面で、TABキーを押す
すると、以下の文字列が表示されている。

> vmlinuz initrd=initrd.img 

続けて kickstartファイルを読み込むコマンドを入力し、Enter。

> vmlinuz initrd=initrd.img ks=http://192.168.***.***/anaconda-ks.cfg 

すると、インストールが始まる。
cfgファイルに記述されていない項目については、設定をどうするか聞かれるので、
通常通り、選択していく。

注意点

  • インストール中エラーが出たら、Kickstartファイルを見て、問題と関係ありそうな該当部分をコメントアウトすればなんとかなる
  • インストールが終わって再起動するときは、インストールディスクを外すのをお忘れなく