一、基礎環境的搭建
1.1、操作環境:
VM7.1(版本不限)+centos6.4X86_64
VM需設定2個光驅,分别挂載DVD1和DVD2
安裝centos6.4X 86_64系統,所需元件自行定義,安裝後得到install.log和anaconda-ks.cfg檔案(在此基礎上修改比較友善)
[root@test01]#mkdir /mnt/cd{1,2} #建立CD光牒的挂載目錄
[root@test01]#mkdir -p /home/ klcentos/Packages #建立定制CD光牒檔案目錄
[root@test01]#mount /dev/cdrom /mnt/cd1 #挂載DVD1
[root@test01]#mount /dev/cdrom1 /mnt/cd2 #挂載DVD2
說明:由于此處是采用的最大化軟體安裝,故需要用到DVD2,如不是最大化安裝,則可以隻用DVD1
二、定制系統檔案的準備
新定制系統由以上系統元件包說決定,檔案由install.log安裝日志得來
[root@test01]# vim /home/kuangl/cp_packages.sh
#!/bin/bash
for i in $(awk '/Installing/ {print $2}' install.log)
do
cp /mnt/cd1/Packages/${i}.rpm /home/kuangl/klcentos/Packages
[ $? != 0 ] && echo "copy ${i} is faied"
done
rsync -a --exclude=Packages /mnt/cd1/ /home/kuangl/klcentos
三、重新生成repo檔案
#!/bin/bash
ISO_DIR=/home/kuangl/klcentos
cd ${ISO_DIR}
declare -x discinfo=$(head -1 .discinfo)
mv ${ISO_DIR}/repodata/*x86_64-comps.xml ${ISO_DIR}/repodata/c6-x86_64-comps.xml
createrepo -g ${ISO_DIR}/repodata/c6-x86_64-comps.xml ${ISO_DIR}
#createrepo -u "media://$discinfo" -g ${ISO_DIR}/repodata/c6-x86_64-comps.xml ${ISO_DIR}
mv ${ISO_DIR}/repodata/*x86_64-comps.xml ${ISO_DIR}/repodata/c6-x86_64-comps.xml
createrepo -u "media://$discinfo" -g ${ISO_DIR}/repodata/*c6-x86_64-comps.xml ${ISO_DIR}
四、ks檔案的準備
ks檔案由系統安裝所得anaconda-ks.cfg進行修改,當然也可以用system-config-kickstart工具制作而得,此處省略ks制作方法。
[root@test01]# vim /home/kuangl/klcentos/isolinux/ks.cfg
# Kickstart file automatically generated by anaconda.
#version=DEVEL
install
text
cdrom
lang en_US.UTF-8
keyboard us
skipx
network --onboot no --device eth0 --bootproto static --ip 192.168.5.30 --netmask 255.255.255.0 --gateway 192.168.5.1 --noipv6 --nameserver 8.8.8.8
rootpw 123456
firewall --service=ssh --port=80:tcp
authconfig --enableshadow --passalgo=sha512
selinux --disabled
timezone --utc Asia/Shanghai
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 --none
clearpart --all --initlabel
zerombr
part /boot --fstype=ext4 --size=2000
part swap --size=2000
part / --fstype=ext4 --grow --size=200
reboot
#repo --name="CentOS" --baseurl=cdrom:sr0 --cost=100
%packages
@core
@server-policy
%end
五、引導檔案的修改
[root@test01 ]# vim /home/kuangl/klcentos/isolinux/isolinux.cfg
default auto
timeout 600
#default vesamenu.c32
#prompt 1
timeout 600
display boot.msg
menu background splash.jpg
menu title Welcome to CentOS 6.4!
menu color border 0 #ffffffff #00000000
menu color sel 7 #ffffffff #ff000000
menu color title 0 #ffffffff #00000000
menu color tabmsg 0 #ffffffff #00000000
menu color unsel 0 #ffffffff #00000000
menu color hotsel 0 #ff000000 #ffffffff
menu color hotkey 7 #ffffffff #ff000000
menu color scrollbar 0 #ffffffff #00000000
label auto
menu label ^Auto Install system
menu default
kernel vmlinuz
append ks=cdrom:/isolinux/ks.cfg initrd=initrd.img
六、ISO檔案的生成
[root@test01 klcentos]# mkisofs -o klcentos.iso -input-charset utf-8 -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -V klcentos -T /home/kuangl/klcentos
生成結果如下:
[root@test01 klcentos]# ll
七、測試安裝
7.1、建立虛拟機
7.2、啟動虛拟機
7.3、安裝Packages包
7.4、安裝完畢,登陸系統