Chinaunix首页 | 论坛 | 博客
  • 博客访问: 10805501
  • 博文数量: 2905
  • 博客积分: 20098
  • 博客等级: 上将
  • 技术积分: 36298
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-23 05:00
文章存档

2012年(1)

2011年(3)

2009年(2901)

分类: LINUX

2009-03-23 11:12:56

目前CentOS 5.2的安装CD有1至6张,但是在安装系统过程中,并不是所有的程序都是你想安装的,而且需要准备1-6张CD来安装一个Linux系统,实在是太麻烦了,其实安装一个实用的Linux 系统,不需要那么臃肿的,我们可以度身定制一个合适你自己的CentOS Linux系统.
 
我的目标是打算将1-6CD中的软件包集合到一张CD中,只需要一张CD就可以自动安装一个实用的Linux.
 
准备:
1. 在VM上安装一个最少化的Linux系统之后,再根据实际情况安装需要的软件包:
 # yum install -y pump-devel gtk2-devel booty bogl-devel bogl-bterm elfutils-devel beecrypt-devel dietlibc anaconda anaconda-runtime busybox-anaconda
 
2. 下载一个CentOS 5.2的DVD iso.
# mount -o loop /storage/CentOS-5.2-i386-bin-DVD.iso /media
 
3. 建立相关的目录环境:
# mkdir -p /storage/kickstart_build/isolinux/CentOS
# mkdir -p /storage/kickstart_build/isolinux/ks
# mkdir -p /storage/kickstart_build/isolinux/image
# mkdir -p /storage/kickstart_build/isolinux/repodata
# mkdir /storage/kickstart_build/all_rpms
 
4. 复制源CD中的文件:
# cp -rp /media/isolinux/* /storage/kickstart_build/isolinux
   包括.discinfo
# cp /media/.discinfo /storage/kickstart_build/isolinux
# cp -rp /media/isolinux/repodata/comps.xml /storage/kickstart_build
# cp -rp /media/CenOS/* /storage/kickstart_build/all_rpms
 
5.编辑ks.cfg:
 #vi /storage/kickstart_build/isolinux/ks/ks.cfg
 
# Kickstart file automatically generated by anaconda.

install
cdrom
lang en_US.UTF-8
keyboard us
network --device eth0 --bootproto dhcp
network --device eth1 --onboot no --bootproto dhcp
rootpw --iscrypted $1$AEQtgISA$pJKkCI5GeO3MLmLz/Fz.00
firewall --enabled --port=22:tcp
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.2 --size=0 --grow --ondisk=sda
#volgroup VolGroup00 --pesize=32768 pv.2
#logvol / --fstype ext3 --name=LogVol00 --vgname=VolGroup00 --size=1024 --grow
#logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=256 --grow --maxsize=512
clearpart --all --initlabel
part /boot --fstype ext3 --size=100
part swap --size=1024
part / --fstype ext3 --size=100 --grow


%packages
@editors
@text-internet
@dialup
@core
@base
device-mapper-multipath
 
 
 
6. 对RPMS进行剪裁,例如你可以将你需要安装的RPM包全部复制到/storage/kickstart_build/isolinux/CentOS目录下,请参考附件list文件,是我需要安装的软件包列表. 你可以编辑comps.xml 文件中的packages列表来决定你需要安装的软件包.
 
 
7.收集依赖性软件包
请使用shell1,使用方法: 下载到/storage/kickstart_build目录下,修改为pare.pl,并赋予可执行权限:
 
# cd /storage/kickstart_build
# chmod +x pare.pl
# cd /storage/kickstart_build/isolinux/CentOS
# /storage/kickstart_build/pare.pl /storage/kickstart_build/all_rpms i386
 
8.测试软件包的依赖性
# cd /storage/kickstart_build/isolinux/CentOS
# mkdir /tmp/testdb
# rpm --initdb --dbpath /tmp/testdb
# rpm --test --dbpath /tmp/testdb -Uvh *.rpm
 
按照提示,缺少哪些依赖性软件包,直接从/storage/kickstart_build/all_rpms 下复制过来就行了.
 
9.创建repository
# cd /storage/kickstart_build/isolinux
# declare -x discinfo=`head -1 .discinfo`
# createrepo -u "media://$discinfo" -g /storage/kickstart_build/comps.xml .
 
命令运行完毕之后,会自动建立repodata目录.
 
10.建立ISO文件
 
# cd /storage/kickstart_build
# mkisofs -o MYOS.iso -b isolinux.bin -c boot.cat -no-emul-boot \
   -boot-load-size 4 -boot-info-table -R -J -v -T isolinux/
 
生成MD5字符串:
# /usr/lib/anaconda-runtime/implantisomd5 custom.iso

本文出自 “网络记忆棒” 博客,转载请与作者联系!

阅读(1299) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~