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

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和禁用一些服务!

你可能感兴趣的:(centos)