打造自己的centos/linux发行版 订制精简ISO压缩包文件[初级版]

来源:岁月联盟 编辑:exp 时间:2011-10-28

 

1、安装好RHEL/CentOS 5.3系统 ,只选自己需要的包!我只选了基础包,而且在基础包中去掉了一些包,安装后大概有410个包!请你根据自己的情况来做!

 

2、在root根目录中有个install.log 文件,这个文件中记录了你安装系统时安装了哪些rpm包,文件内容应该像是这样的:

 

Installing libgcc-4.1.2-44.el5.x86_64

warning: libgcc-4.1.2-44.el5: Header V3 DSA signature: NOKEY, key ID 37017186

Installing setup-2.5.58-4.el5.noarch

Installing filesystem-2.4.0-2.x86_64

Installing basesystem-8.0-5.1.1.noarch

Installing cracklib-dicts-2.8.9-3.3.x86_64

Installing nash-5.1.19.6-44.x86_64

……………….

 

想办法把这个文件弄到win下,然后批量替换修改其中的内容,目的就是把你刚才安装的rpm包复制出来,修改后的内容应该像是这样的:

 

cp -a /media/Server/libgcc-4.1.2-44.el5.x86_64.rpm /home/rhel5u3/Server

cp -a /media/Server/setup-2.5.58-4.el5.noarch.rpm /home/rhel5u3/Server

cp -a /media/Server/filesystem-2.4.0-2.x86_64.rpm /home/rhel5u3/Server

cp -a /media/Server/basesystem-8.0-5.1.1.noarch.rpm /home/rhel5u3/Server

cp -a /media/Server/cracklib-dicts-2.8.9-3.3.x86_64.rpm /home/rhel5u3/Server

 

注意要先新建目录rhel5u3和Server 还有挂载安装光盘到/media!如果你装的是CentOS那么应该把Server改成CentOS,然后vi copy.sh 将修改的install.log的内容粘贴进去保存,执行chmod +x copy.sh 给这个脚本执行权限,然后sh copy.sh执行它!现在继续复制一些需要的文件到rhel5u3目录中,

 

cp -a /media/.discinfo /home/rhel5u3

cp -a /media/.treeinfo /home/rhel5u3

cp -aR /media/isolinux /home/rhel5u3

cp -aR /media/images /home/rhel5u3

cp -aR /media/Server/repodata /home/rhel5u3/Server

 

如果你安装的是CentOS,应该把cp -aR /media/Server/repodata /home/rhel5u3/Server 改为cp -aR /media/repodata /home/rhel5u3

 

3、准备自动安装文件,在root根目录下有个anaconda-ks.cfg 将它复制过来

 

cp ~/anaconda-ks.cfg /home/rhel5u3/isolinux

cd  /home/rhel5u3/isolinux

mv anaconda-ks.cfg ks.cfg

 

然后修改isolinux下的isolinux.cfg 将default linux 改成default linux ks=cdrom:/isolinux/ks.cfg

 

到此,所有需要的文件准备完毕,接着执行以下命令

 

cd /home/rhel5u3/Server

 

createrepo -g repodata/comps-rhel5-server-core.xml .           执行createrepo命令前应该先安装anaconda和anaconda-runtime 建议使用yum安装!

 

如果你安装的是CentOS应该把comps-rhel5-server-core.xml改为comps.xml 最后到rhel5u3上层目录执行:

 

mkisofs -o RHEL5U3.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -T rhel5u3/

 

生成光盘iso文件!

 

关于ks.cfg自动安装文件的更多参数请参考anaconda

 

 

 

默认的内容是这样的:

 

# Kickstart file automatically generated by anaconda.

 

install

cdrom   //从光盘安装

key –skip //跳过SN

lang en_US.UTF-8 //语言

keyboard us //键盘

network –device eth0 –bootproto dhcp //网络参数

rootpw –iscrypted $1$bljn2gyE$iSEU9p3M1ZMrVBLX7BhRt. //root password

firewall –enabled –port=22:tcp //可以改为disabled 禁用fw

authconfig –enableshadow –enablemd5 //密码加密方式

selinux –enforcing //可以改成disabled禁用selinux

timezone Asia/Hong_Kong //时间

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.2 –size=0 –grow –ondisk=sda

#volgroup VolGroup00 –pesize=32768 pv.2

#logvol /home –fstype ext3 –name=LogVol02 –vgname=VolGroup00 –size=4992

#logvol swap –fstype swap –name=LogVol01 –vgname=VolGroup00 –size=512 –grow –maxsize=1024

#logvol /tmp –fstype ext3 –name=LogVol03 –vgname=VolGroup00 –size=512

#logvol /var –fstype ext3 –name=LogVol05 –vgname=VolGroup00 –size=2848

#logvol /usr –fstype ext3 –name=LogVol04 –vgname=VolGroup00 –size=8000

#logvol / –fstype ext3 –name=LogVol00 –vgname=VolGroup00 –size=2976

 

%packages //这里开始由你所选rpm包会有所不同

@editors

@core

@base

@java

fipscheck

device-mapper-multipath

-emacs-leim

-psgml

-emacspeak

-rhn-check

-dhclient

-nano

-sendmail

-pcmciautils

-yum

-yum-updatesd

-dhcpv6-client

-firstboot-tui

-NetworkManager

-yum-rhn-plugin

-irda-utils

-ypbind

-rhn-setup

-yum-security

-bluez-utils

 

 

rootpw –iscrypted $1$bljn2gyE$iSEU9p3M1ZMrVBLX7BhRt. 这个肯定要去掉,这样可以自己在安装时设定密码

 

尝试把network –device eth0 –bootproto dhcp去掉可在安装时还是不能设定网络参数,后来怀疑firewall –enabled –port=22:tcp和selinux –enforcing 也去掉了还是不行,最后把:

 

lang en_US.UTF-8 //语言

keyboard us //键盘

network –device eth0 –bootproto dhcp //网络参数

rootpw –iscrypted $1$bljn2gyE$iSEU9p3M1ZMrVBLX7BhRt. //root password

firewall –enabled –port=22:tcp //可以改为disabled 禁用fw

authconfig –enableshadow –enablemd5 //密码加密方式

selinux –enforcing //可以改成disabled禁用selinux

timezone Asia/Hong_Kong //时间

 

都去掉了,可还是不能设定网络,直接跳过了,不过选键盘和语言等参数时变成了文本模式,折腾了,有空参考一下anaconda吧,想在安装完系统过 安装yum和禁用一些服务