▼ 2007/10/22(月) kickstart で CentOS 5 を自動インストールする
kickstart インストールの環境について
kickstart という仕組みを利用して、CentOS 5 を自動インストールしてみます。この仕組みを使えば、CentOS に限らず、Fedora や RHEL などのディストリビューションも
自動でインストールすることが可能になります。
今回の kickstart で自動インストールにあたり、前回の記事で紹介した、
PXEサーバ経由で CentOS 5 をインストール
の環境が既に構築済みであるものとします。この環境ができていることを前提に話を進めていきます。
あと、以下に今回使用する環境と、必要なディレクトリやファイルをまとめておきます。
| PXEサーバのIPアドレス | 192.168.1.50 |
|---|---|
| PXEサーバで稼動させるサービス | vsftpd, tftpd(xinetd), dhcpd |
| インストール対象のマシンのIPアドレス | 192.168.1.100 |
| DVDイメージのマウント先 | /var/ftp/cent5 |
| PXEに必要なファイル | /tftpboot/cent5 |
| kickstart ファイル | /var/ftp/ks_cent5.cfg |
kickstart ファイルの準備
kickstart ファイルを作成し、/var/ftp に配置します。ks_cent5.cfg という名前で、以下の内容を保存してください。
install url --url ftp://192.168.1.50//cent5 lang ja_JP.UTF-8 keyboard jp106 xconfig --startxonboot network --device eth0 --bootproto static --ip 192.168.1.100 --netmask 255.255.255.0 --gateway 192.168.1.1 --nameserver 192.168.1.1 --hostname Cent.chibi.name rootpw --iscrypted $1$hxgA33Vz$E/781by1lbNk1pz4Mh0Lc40 firewall --disabled authconfig --enableshadow --enablemd5 selinux --disabled timezone Asia/Tokyo bootloader --location=mbr --driveorder=hda --append="rhgb quiet" # The following is the partition information you requested # Note that any partitions you deleted are not expressed # here so unless you clear all partitions first, this is # not guaranteed to work clearpart --linux part / --fstype ext3 --size=5120 --asprimary part /home --fstype ext3 --size=10240 part swap --size=256 part /var --fstype ext3 --size=100 --grow %packages @base @base-x @core @development-tools @dns-server @editors @ftp-server @gnome-desktop @japanese-support @legacy-network-server @legacy-software-development@mail-server @mysql @ruby @smb-server @system-tools @text-internet @virtualization @web-server %postなお、このファイルは手動で作らなくても、一度システムをインストールすると、
/root に、anaconda-ks.cfg というファイルが出来上がっています。
同じ構成であれば、このファイルをそのまま使用すれば、そのシステムと全く同じ構成で
インストールすることが可能になります。
とりあえず、kickstart を試すという場合には、最初は手動でインストールしておいて、
出来上がった anaconda-ks.cfg を kickstart ファイルに使用して、再度インストールし直すのがいいかもです。
なお、上記で紹介した kickstart ファイルの構成は、僕の環境で試したものそのものになるので、
適宜、変更してしまってください。
このファイルの内容についてですが、何度か CentOS などをインストールしたことがあれば、なんとなく分かると思います。
インストールで進めていく際に選択する事項を予め決めておき、このファイルに書いておくというというイメージになります。
このファイルの中で何点か設定についてピックアップすると、
| url | 今回はFTPからイメージを取得するので、FTPサーバのIPアドレスとパスを指定 |
| network | クライアントのIPアドレス情報やホスト名情報を指定 |
| firewall | とりあえず無効にしてインストールしてる |
| selinux | これも無効にしてインストール |
| clearpart --linux | 現在のパーティション情報をクリアーにする |
| part | パーティションの指定 |
| %packages | インストールするパッケージの選択 |
| %post | この記述の後ろにコマンドを書いておけば、インストール後に実行してくれる |
- part
- --asprimary はプライマリパーティションに指定のオプション
- --grow は利用可能な最大容量を指定のオプション
- %packages
- 特定のパッケージが不要の場合は、-package のように先頭にマイナスを付けて記述しておく
kickstart の準備
上記のファイルが作成し終わったら、あとは /tftpboot/cent5/pxelinux.cfg/default ファイルの中身を前回のPXEサーバ経由のインストールの時と若干変更するのみです。
以下みたいな感じに変更します。
# vi /tftpboot/cent5/pxelinux.cfg/default default cent5 label cent5 kernel vmlinuz append load initrd=initrd.img ksdevice=eth0 ks=ftp://192.168.1.50/ks_cent5.cfg devfs=nomount重要なのは、ks=.* の記述です。kickstart ファイルもイメージと同じくFTP経由で取得するので、
/var/ftp 以下に配置しました。ここでは、kickstart ファイルの場所の指定をします。
以上で、kickstart を使って自動インストールできる準備は整ったので、
インストール対象のマシンを、PXEブートさせてやってください。
自動でインストールが進んでいきます!パッケージインストール後の再起動ボタンを押すまで何もすることがありません。
ご飯でも食べながら気長にインストールが完了するのを待ちましょうw
▼ コメント(0件)
- TB-URL http://chibilog.name/0626/tb/
