ようこそゲストさん

chibilog

2007/10/22(月) kickstart で CentOS 5 を自動インストールする

はてブ情報 はてブに登録 はてブ数 2007/10/22 22:40 chibilog++

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


名前:  非公開コメント   

URL(任意):
  • TB-URL  http://chibilog.name/0626/tb/