一、基礎環境的搭建
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} #建立CD光牒的挂載目錄</code>
<code>[root@test01]</code><code>#mkdir -p /home/ klcentos/Packages #建立定制CD光牒檔案目錄</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