一、基础环境的搭建
1.1、操作环境:
VM7.1(版本不限)+centos6.4X86_64
VM需设置2个光驱,分别挂载DVD1和DVD2
安装centos6.4X 86_64系统,所需组件自行定义,安装后得到install.log和anaconda-ks.cfg文件(在此基础上修改比较方便)
1
2
3
4
<code>[root@test01]</code><code>#mkdir /mnt/cd{1,2} #建立光盘的挂载目录</code>
<code>[root@test01]</code><code>#mkdir -p /home/ klcentos/Packages #建立定制光盘文件目录</code>
<code>[root@test01]</code><code>#mount /dev/cdrom /mnt/cd1 #挂载DVD1</code>
<code>[root@test01]</code><code>#mount /dev/cdrom1 /mnt/cd2 #挂载DVD2</code>
说明:由于此处是采用的最大化软件安装,故需要用到DVD2,如不是最大化安装,则可以只用DVD1
二、定制系统文件的准备
新定制系统由以上系统组件包说决定,文件由install.log安装日志得来
<a href="http://blog.51cto.com/attachment/201307/220641754.png" target="_blank"></a>
5
6
7
8
<code>[root@test01]</code><code># vim /home/kuangl/cp_packages.sh</code>
<code>#!/bin/bash</code>
<code>for</code> <code>i </code><code>in</code> <code>$(</code><code>awk</code> <code>'/Installing/ {print $2}'</code> <code>install</code><code>.log)</code>
<code>do</code>
<code>cp</code> <code>/mnt/cd1/Packages/</code><code>${i}.rpm </code><code>/home/kuangl/klcentos/Packages</code>
<code>[ $? != 0 ] && </code><code>echo</code> <code>"copy ${i} is faied"</code>
<code>done</code>
<code>rsync</code> <code>-a --exclude=Packages </code><code>/mnt/cd1/</code> <code>/home/kuangl/klcentos</code>
三、重新生成repo文件
9
<code>ISO_DIR=</code><code>/home/kuangl/klcentos</code>
<code>cd</code> <code>${ISO_DIR}</code>
<code>declare</code> <code>-x discinfo=$(</code><code>head</code> <code>-1 .discinfo)</code>
<code>mv</code> <code>${ISO_DIR}</code><code>/repodata/</code><code>*x86_64-comps.xml ${ISO_DIR}</code><code>/repodata/c6-x86_64-comps</code><code>.xml</code>
<code>createrepo -g ${ISO_DIR}</code><code>/repodata/c6-x86_64-comps</code><code>.xml ${ISO_DIR}</code>
<code>#createrepo -u "media://$discinfo" -g ${ISO_DIR}/repodata/c6-x86_64-comps.xml ${ISO_DIR}</code>
<code>createrepo -u </code><code>"media://$discinfo"</code> <code>-g ${ISO_DIR}</code><code>/repodata/</code><code>*c6-x86_64-comps.xml ${ISO_DIR}</code>
四、ks文件的准备
ks文件由系统安装所得anaconda-ks.cfg进行修改,当然也可以用system-config-kickstart工具制作而得,此处省略ks制作方法。
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<code>[root@test01]</code><code># vim /home/kuangl/klcentos/isolinux/ks.cfg</code>
<code># Kickstart file automatically generated by anaconda.</code>
<code>#version=DEVEL</code>
<code>install</code>
<code>text</code>
<code>cdrom</code>
<code>lang en_US.UTF-8</code>
<code>keyboard us</code>
<code>skipx</code>
<code>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</code>
<code>rootpw 123456</code>
<code>firewall --service=</code><code>ssh</code> <code>--port=80:tcp</code>
<code>authconfig --enableshadow --passalgo=sha512</code>
<code>selinux --disabled</code>
<code>timezone --utc Asia</code><code>/Shanghai</code>
<code>bootloader --location=mbr --driveorder=sda --append=</code><code>"crashkernel=auto rhgb quiet"</code>
<code># The following is the partition information you requested</code>
<code># Note that any partitions you deleted are not expressed</code>
<code># here so unless you clear all partitions first, this is</code>
<code># not guaranteed to work</code>
<code>#clearpart --none</code>
<code>clearpart --all --initlabel</code>
<code>zerombr</code>
<code>part </code><code>/boot</code> <code>--fstype=ext4 --size=2000</code>
<code>part swap --size=2000</code>
<code>part / --fstype=ext4 --grow --size=200</code>
<code>reboot</code>
<code>#repo --name="CentOS" --baseurl=cdrom:sr0 --cost=100</code>
<code>%packages</code>
<code>@core</code>
<code>@server-policy</code>
<code>%end</code>
五、引导文件的修改
<code>[root@test01 ]</code><code># vim /home/kuangl/klcentos/isolinux/isolinux.cfg</code>
<code>default auto</code>
<code>timeout 600</code>
<code>#default vesamenu.c32</code>
<code>#prompt 1</code>
<code>display boot.msg</code>
<code>menu background splash.jpg</code>
<code>menu title Welcome to CentOS 6.4!</code>
<code>menu color border 0 </code><code>#ffffffff #00000000</code>
<code>menu color sel 7 </code><code>#ffffffff #ff000000</code>
<code>menu color title 0 </code><code>#ffffffff #00000000</code>
<code>menu color tabmsg 0 </code><code>#ffffffff #00000000</code>
<code>menu color unsel 0 </code><code>#ffffffff #00000000</code>
<code>menu color hotsel 0 </code><code>#ff000000 #ffffffff</code>
<code>menu color hotkey 7 </code><code>#ffffffff #ff000000</code>
<code>menu color scrollbar 0 </code><code>#ffffffff #00000000</code>
<code>label auto</code>
<code>menu label ^Auto Install system</code>
<code>menu default</code>
<code>kernel vmlinuz</code>
<code>append ks=cdrom:</code><code>/isolinux/ks</code><code>.cfg initrd=initrd.img</code>
六、ISO文件的生成
<code>[root@test01 klcentos]</code><code># 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</code>
生成结果如下:
<a href="http://blog.51cto.com/attachment/201307/221932500.png" target="_blank"></a>
[root@test01 klcentos]# ll
<a href="http://blog.51cto.com/attachment/201307/221932451.png" target="_blank"></a>
七、测试安装
7.1、创建虚拟机
<a href="http://blog.51cto.com/attachment/201307/223232976.png" target="_blank"></a>
7.2、启动虚拟机
<a href="http://blog.51cto.com/attachment/201307/223232301.png" target="_blank"></a>
7.3、安装Packages包
<a href="http://blog.51cto.com/attachment/201307/223233787.png" target="_blank"></a>
7.4、安装完毕,登陆系统
<a href="http://blog.51cto.com/attachment/201307/223624886.png" target="_blank"></a>
CentOS6.4X86_64系统定制完毕,定制完成之后安装系统只需要几分钟时间哦,是不是很方便。
本文转自 kuangling 51CTO博客,原文链接:http://blog.51cto.com/kling/1249962