天天看點

定制CentOS5.3系統安裝盤

<a href="http://sys.firnow.com/linux/x8002010n06m/15s9087985.html">http://sys.firnow.com/linux/x8002010n06m/15s9087985.html</a>

要定制一張屬于自己的 CentOS盤,網上找了一些資料,可都出現不完整或者錯誤,總之不能成功定制(或許操作有異),下面是結合網絡資料加上自己的修改最終定制成功的步驟, 留下以備不時之需。

準備工作:

VMware // 虛 拟機,安裝過程可以随意設定,錯了可以再來

Secure  //  序列槽、SSH連接配接工具(本實驗用Putty即可)

下載下傳一份DVD版CentOS5.3 Linux系統(即.ISO檔案)

===================================================

1、在VM安裝linux系統

2、安裝anaconda repodata createrepo mkisofs , 關聯太多采用yum安裝//定制過程需要産生comps.xml檔案以及生成iso

[root@localhost ~]# yum -y install anaconda repodata createrepo mkisofs

2、生成packages.list 所安裝的RPM封包件清單(由于install.log檔案在root目錄,是以該操作在root目錄進行)

[root@localhost ~]# cat install.log | grep Installing | sed 's/Installing //g' &gt; /root/packages.list

//生成後,需要仔 細看該檔案,一般會在某些檔案開始部分如“1:”這樣的字元, 需要删除這些字元,否在後面執行copy動作會報錯

3、建立定制Centos的源目錄

[root@localhost ~]#mkdir /disk                          //定制時要複制RPM包的目錄;

[root@localhost ~]#mkdir /mnt/cdrom                      //加載光驅目錄

[root@localhost ~]#mount -o loop /dev/cdrom /mnt/cdrom     //将CD光牒内容加載到/mnt/cdrom中;

[root@localhost ~]#cp –R /mnt/cdrom/. /disk

[root@localhost ~]#rm –f /disk/CentOS/*.rpm  //先删除所有RPM包

4、通過腳本複制系統安裝的包;(注意一定要Unix格式)

[root@localhost ~]#vi copyrpms.sh

#!/bin/bash

DEBUG=0

DVD_CD=/disk/CentOS                     

ALL_RPMS_DIR=/mnt/cdrom/CentOS/       

DVD_RPMS_DIR=$DVD_CD

packages_list=/root/packages.list

number_of_packages=`cat $packages_list | wc -l`

i=1

while [ $i -le $number_of_packages ] ; do

line=`head -n $i $packages_list | tail -n -1`

name=`echo $line | awk '{print $1}'`

version=`echo $line | awk '{print $3}' | cut  -f  2  -d  :`

if [ $DEBUG -eq "1" ] ; then

echo $i: $line

echo $name

echo $version

fi

        if [ $DEBUG -eq "1" ] ; then

ls $ALL_RPMS_DIR/$name-$version*

if [ $? -ne 0 ] ; then

echo "cp $ALL_RPMS_DIR/$name$version* "

else

echo "cp $ALL_RPMS_DIR/$name-$version* $DVD_RPMS_DIR/"

cp $ALL_RPMS_DIR/$name$version* $DVD_RPMS_DIR/

# in case the copy failed

cp $ALL_RPMS_DIR/$name* $DVD_RPMS_DIR/

i=`expr $i + 1`

done

将以上内容儲存為copyrpms.sh

[root@localhost ~]#chmod 775 copyrpms.sh

[root@localhost ~]#./copyrpms.sh

經過一系列的複制就完成了你要定 制的RPM包(在/disk/CentOS/目錄下);

5、定制安裝控制文 件ks.cfg

一般友善可以直接由root下面的anaconda-ks.cfg修改

[root@localhost ~]#cp anaconda-ks.cfg /disk/ks.cfg

樣例内容如:

# Kickstart file automatically generated by anaconda.

install

cdrom

lang en_US.UTF-8

keyboard us

network --device eth0 --bootproto dhcp

firewall --disabled

authconfig --enableshadow --enablemd5

selinux --disabled

timezone --utc Asia/Shanghai

bootloader --location=mbr --driveorder=sda

# 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 --linux --drives=sda

#part /boot --fstype ext3 --size=100 --ondisk=sda

#part pv.6 --size=0 --grow --ondisk=sda

#volgroup VolGroup00 --pesize=32768 pv.6

#logvol / --fstype ext3 --name=LogVol00 --vgname=VolGroup00 --size=1024 --grow

#logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=1000 --grow --maxsize=4032

%packages

@mysql

@core

@base

@network-server

@web-server

%post

echo "HOSTNAME=freepp.local" &gt;&gt; /etc/sysconfig/network

echo "# Do not remove the following line, or various programs" &gt; /etc/hosts

echo "# that require network functionality will fail." &gt;&gt; /etc/hosts

echo "127.0.0.1         localhost" &gt;&gt; /etc/hosts

echo "127.0.0.1         freepp.local" &gt;&gt; /etc/hosts

eject

reboot

6、修改isolinux.cfg檔案 // 将/disk/isolinu/目錄下的isolinux.cfg檔案第一行default linux修改成default linux ks=cdrom:/ks.cfg

樣 例檔案如:

default linux ks=cdrom:/ks.cfg

prompt 1

timeout 60

display boot.msg

F1 boot.msg

F2 options.msg

F3 general.msg

F4 param.msg

F5 rescue.msg

label linux

  kernel vmlinuz

  append initrd=initrd.img

label text

  append initrd=initrd.img text

label ks

  append ks initrd=initrd.img

label local

  localboot 1

label memtest86

  kernel memtest

  append -

7、生成comps.xml

[root@localhost ~]# cd /disk/                             

[root@localhost ~]# createrepo -g repodata/comps.xml /disk/    

到此以上定制任務已經完成。

8、制作IOS檔案

[root@localhost ~]#cd /disk/

[root@localhost disk]#mkisofs -o MyCentOS.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -T /disk/

/disk/ 目錄 下産生的MyCentOS.iso 生成的ISO檔案。

保證成功率,不妨用此ISO在虛 拟機上安裝試驗。

繼續閱讀