====== CentOS Kickstart 設定ファイル ======
Kickstartの設定ファイルについてのTipsです。
===== Tips =====
==== Repoを削除 ====
以下のエラーメッセージが出た場合
Unable to read package metadata. This may be due to a missing metadata directory.
Please ensure that your install tree has been correctly generated.
Cannot retrieve repository metadata (repomd.xml) for repository: CentOS.
Please verify its path and try again
以下の行をコメントアウトする。
# repo --name="CentOS" --baseurl=cdrom:sr0 --cost=100
==== /usr/lib/anaconda-runtime/implantisomd5が存在しない ====
yumでインストール
yum install anaconda-runtime
以下のコマンドで実行できる。
implantisomd5 custom.iso
==== パーティション作る前に警告を表示しないようにする ====
* clearpartに--initlabelを追加
* zerombrを追加
clearpart --all --initlabel --drives=sda
zerombr
==== 自動で再起動する ====
以下の行を追加
reboot
==== ブート時に自動的にkickstartになるようにする ====
isolinux.cfgを編集する。以下の行をlabel linux行の上に追加。
label kickstart
menu label Install Kickstart Server system
menu default
kernel vmlinuz
append ks=cdrom:/ks/ks.cfg initrd=initrd.img
menu defaultは他の行である場合はその行を削除する。
===== 参考 =====
* http://mikeda.jp/wiki/linux:%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E8%87%AA%E5%8B%95%E5%8C%96:kickstart
* https://github.com/puppetlabs/Razor/issues/238
* http://blog.livedoor.jp/edworld/archives/1564882.html
===== ks.cfg =====
自分が作成した設定ファイルです。パスワードは伏せていますのでこのまま使用することはできません。
# Kickstart file automatically generated by anaconda.
#version=DEVEL
install
cdrom
lang ja_JP.UTF-8
keyboard jp106
network --onboot no --device eth0 --bootproto dhcp --noipv6
rootpw --iscrypted ***secret***
firewall --service=ssh
authconfig --enableshadow --passalgo=sha512
selinux --enforcing
timezone --utc Asia/Tokyo
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto 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 --all --initlabel --drives=sda
clearpart --all --initlabel
zerombr
autopart
#part /boot --fstype=ext4 --size=500
#part pv.008002 --grow --size=1
#volgroup vg_centosmother --pesize=4096 pv.008002
#logvol /home --fstype=ext4 --name=lv_home --vgname=vg_centosmother --grow --size=100
#logvol / --fstype=ext4 --name=lv_root --vgname=vg_centosmother --grow --size=1024 --maxsize=51200
#logvol swap --name=lv_swap --vgname=vg_centosmother --grow --size=4032 --maxsize=4032
# repo --name="CentOS" --baseurl=cdrom:sr0 --cost=100
# Reboot after installation
reboot
%packages
@base
@cifs-file-server
@core
@debugging
@basic-desktop
@desktop-debugging
@desktop-platform
@directory-client
@fonts
@general-desktop
@graphical-admin-tools
@input-methods
@internet-applications
@internet-browser
@japanese-support
@java-platform
@legacy-x
@network-file-system-client
@office-suite
@php
@perl-runtime
@postgresql-client
@postgresql
@print-client
@remote-desktop-clients
@ruby-runtime
@server-platform
@server-policy
@web-server
@x11
pax
oddjob
wodim
sgpio
genisoimage
mtools
abrt-gui
certmonger
pam_krb5
krb5-workstation
gnome-pilot
libXmu
perl-DBD-SQLite
certmonger
perl-CGI
%end
%post --nochroot
#!/bin/sh
set -x -v
exec 1>/mnt/sysimage/root/kickstart-post-nochroot.log 2>&1
echo "==> copying files..."
cp -r /mnt/source/postinstall/* /mnt/sysimage/root/
%end
%post
#!/bin/bash
exec < /dev/tty3 > /dev/tty3
/usr/bin/chvt 3
set -x -v
# create working directory
mkdir /tmp/orainst
mkdir /tmp/postgres
# create logging directory
mkdir /tmp/orainst/logs
mkdir /tmp/postgres/logs
cd /tmp/orainst
cp -r /root/orainst/* .
bash /tmp/orainst/oracle11gxe-silent-install.sh 2>&1 | tee /tmp/orainst/logs/oraxeinstall.log
cd /tmp/postgres
cp -r /root/postgres/* .
bash /tmp/postgres/postgres-setup.sh 2>&1 | tee /tmp/postgres/logs/postgres-setup.log
mkdir /home/smb
mkdir /home/smb/share
\cp -rf /root/samba/smb.conf /etc/samba/smb.conf
chkconfig smb on
chkconfig nmb on
mkdir /home/smb/share/bkup-oracle
mkdir /home/smb/share/bkup-postgres
\cp -rf /root/backup/backup-database.sh /root/
crontab /root/backup/backup-database.crontab
cat /root/backup/backup-database.rclocal >> /etc/rc.local
chown -R nobody.nobody /home/smb
chmod -R 777 /home/smb
\cp -rf /root/selinux/config /etc/selinux/config
cd /root/munin/rpms
rpm -ivh *.rpm
\cp -rf /root/munin/etc/httpd/conf.d/munin.conf /etc/httpd/conf.d/munin.conf
chkconfig httpd on
chkconfig munin-node on
cd /root/webmin/rpms
rpm -ivh *.rpm
\cp -rf /root/webmin/config /etc/webmin/config
\cp -rf /root/webmin/miniserv.conf /etc/webmin/miniserv.conf
chkconfig webmin on
/usr/bin/chvt 1
%end