kickstartの作成


# 概要

kickstartを作成して構築を自動化する

## configファイル作成

ツールを起動

``` shell
$ system-config-kickstart
```

基本設定を行う
![01.png](https://qiita-image-store.s3.amazonaws.com/0/20474/225e73f6-ec25-f7f5-9046-558a758bcd73.png)

インストール方法設定
![02.png](https://qiita-image-store.s3.amazonaws.com/0/20474/a7f0b83d-5929-9c5d-2661-8285ed5bdb80.png)

ブートローダーオプション設定
![03.png](https://qiita-image-store.s3.amazonaws.com/0/20474/22d05264-6463-1dd5-a1c8-3297033cbebb.png)

パーティションの追加を押し以下のように設定
![04.png](https://qiita-image-store.s3.amazonaws.com/0/20474/46682ef0-83ef-1d11-c48a-5345bfcec0de.png)

以下図のようになっていることを確認
![05.png](https://qiita-image-store.s3.amazonaws.com/0/20474/daa86955-86ab-08e7-8240-a62e2db4863b.png)

ネットワークを設定
![06.png](https://qiita-image-store.s3.amazonaws.com/0/20474/662e4a5f-92cd-2cef-7604-8d4ff595d01b.png)

以下図のようになっていることを確認
![07.png](https://qiita-image-store.s3.amazonaws.com/0/20474/39850053-106c-6a68-1199-02c22c991750.png)
![08.png](https://qiita-image-store.s3.amazonaws.com/0/20474/9bd5cb1e-08b3-0a46-d8d5-53aa468b253e.png)

必要に応じて認証の設定
![08.png](https://qiita-image-store.s3.amazonaws.com/0/20474/45334c35-ddef-949f-00e2-08f00d1cec55.png)

SELinux、ファイヤーウォールは無効化
![09.png](https://qiita-image-store.s3.amazonaws.com/0/20474/f80e5525-066f-59b2-4d3b-fa208ed3210b.png)

グラフィカル環境はインストールしない
![10.png](https://qiita-image-store.s3.amazonaws.com/0/20474/f5070c4a-4585-be74-aa61-6595491e3751.png)

パッケージは何も選択しない
![11.png](https://qiita-image-store.s3.amazonaws.com/0/20474/493d5ad8-08f9-1d44-8281-ff3a06748c7e.png)

適当な場所にks.cfgとして保存する
![12.png](https://qiita-image-store.s3.amazonaws.com/0/20474/c94a3608-1678-bfa6-205c-4597e6e08baf.png)

ks.cfgの編集

``` shell
$ cat ks.cfg
============================================================
#platform=x86, AMD64, 又は Intel EM64T
#version=DEVEL
# Firewall configuration
firewall --disabled
# Install OS instead of upgrade
install
# Use CDROM installation media
cdrom
# Root password
rootpw --iscrypted $1$CtB.Pzeq$QqrTnMppy3YWq8IlLqGNz1
# System authorization information
auth  --useshadow  --passalgo=sha512
# Use graphical install
graphical
# System keyboard
keyboard jp106
# System language
lang ja_JP
# SELinux configuration
selinux --disabled
# Do not configure the X Window System
skipx
# Installation logging level
logging --level=info

# System timezone
timezone --isUtc Asia/Tokyo
# Network information
network  --bootproto=static --device=eth0 --gateway=10.136.2.3 --ip=10.136.3.184 --nameserver=10.136.1.4 --netmask=255.255.128.0 --onboot=on
# System bootloader configuration
bootloader --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel 
# Disk partitioning information
part / --asprimary --fstype="ext4" --grow --size=1
============================================================

### 以下のような差分になるように編集

$ diff -u ks.cfg ks.cfg.org
============================================================
--- ks.cfg.org	2015-11-18 20:16:01.497243701 +0900
+++ ks.cfg	2015-11-18 20:28:37.054242782 +0900
@@ -12,6 +12,7 @@
 auth  --useshadow  --passalgo=sha512
 # Use graphical install
 graphical
+firstboot --disable
 # System keyboard
 keyboard jp106
 # System language
@@ -35,3 +36,17 @@
 clearpart --all --initlabel 
 # Disk partitioning information
 part / --asprimary --fstype="ext4" --grow --size=1
+
+%packages
+make
+gcc-c++
+wget
+git
+openssh-clients
+telnet
+traceroute
+perl
+patch
+tcpdump
+
+%end
============================================================
```

## MediaをマウントしてCDを作成する

VirtualBoxを利用して作成

OSを起動後、CDをmountする

![01.png](https://qiita-image-store.s3.amazonaws.com/0/20474/35f4dada-573d-a1b2-6a0f-8eccdf40cdb6.png)

``` shell
### 必要なパッケージのインストール
# yum install mkisofs

### CDをマウント
# mount /dev/cdrom /media

### 作業ディレクトリの作成
# mkdir /root/CentOS6.7

### ディレクトリの移動
# cd /root/CentOS6.7

### CDのファイルをローカルにコピー
# find . -maxdepth 1 -mindepth 1 -exec cp -rp {} . \;

### ks.cfgをダウンロード
eddy6からおとせるようにする。後で修正する

### isolinux.cfgの編集
$ vi isolinux/isolinux.cfg

### 編集前後で以下のような差分になる
============================================================
--- /tmp/isolinux.cfg  2015-11-19 09:44:53.148817001 +0900
+++ isolinux/isolinux.cfg       2015-11-19 09:47:34.223314851 +0900
@@ -1,4 +1,5 @@
 default vesamenu.c32
+default ks
 #prompt 1
 timeout 600

@@ -35,4 +36,7 @@
   menu label ^Memory test
   kernel memtest
   append -
-
+label ks
+  menu label vmlinuz
+  kernel vmlinuz
+  append ks=cdrom:/ks.cfg initrd=initrd.img
============================================================

### isoファイルの作成
# mkisofs -v -r -J -o ../CentOS_6.7_kickstart.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table .
```

このisoを読み込んでVMを作ると自動で作成される