打造自己的centos linux发行版,定制自己的CentOS发行版

思路的起源来自两个,一个是CactiEZ的安装盘,感觉很牛X,起初没考虑到自己定制;后来肖景海提出我们自己是否也可以发行我们自己的Linux,系统盘里打包好了我们的程序,用户拿到光盘可以直接安装,减去我们软件的安装过程。后来度娘了一下,发现可行。

整个过程基本分为,创建一个文件夹,用于放置光盘内容;然后根据要安装的包进行提取;打包第三方软件包,然后开始制作,详细旅程请参考“解决过程”。

根据我们生产环境,我们使用的linux是CentOS5.564位系统,我们这次文档以生产环境为例进行操作。下面开始准备工作。

安装一个CentOS5.564位系统,以该系统为环境来完成本次案例。将CentOS5.564镜像文件上传到系统“/opt”下,然后将镜像挂载在“/mnt/CentOS-5.5-x86_64”目录下,用于配制yum源和提取制作光盘需要文件。

挂载操作,用vim编辑/etc/fstab文件,在最后一行添加如下行:

/opt/CentOS-5.5-x86_64-bin-DVD-1of2.iso/mnt/CentOS-5.5-x86_64iso9660loop,defaults00

保存fstab文件,执行“mount-a”挂载光盘,后续系统启动会自动挂载光盘。

配制yum源,安装创建镜像需要的软件。

备份系统repo文件,并创建自定义repo文件,操作如下:

mkdir/etc/yum.repos.d/bak

mv/etc/yum.repos.d/*.repo/etc/yum.repos.d/bak/

touch/etc/yum.repos.d/myrepo.repo

在myrepo.repo文件内插入如下内容:

[base]

name=CentOS-5.5-x86_64

baseurl=file:///mnt/CentOS-5.5-x86_64

gpgcheck=0

安装需要的组件包(createrepo:创建yum仓库的软件包的comps.xml文件;mkisofs:创建ISO文件):

yum-yinstallcreaterepomkisofs

在/opt目录下创建一个文件夹“MyCentOS”用于存放生成光盘文件,然后从挂载目录下同步文件到光盘目录,操作如下:

rsync-av--exclude=CentOS/mnt/CentOS-5.5-x86_64//opt/MyCentOS/

然后删除MyCentOS下不必要的文件,并创建一个目录CentOS用于存放rpm包,保留如下内容(7个文件或目录):

#ll-a

total108

drwxr-xr-x6rootroot4096Jun2510:34.

drwxr-xr-x3rootroot4096Jun2509:24..

drwxr-xr-x2rootroot36864Jun2509:23CentOS

-rw-r--r--1rootroot106May42010.discinfo

drwxr-xr-x4rootroot4096May42010p_w_picpaths

drwxr-xr-x2rootroot4096May42010isolinux

drwxr-xr-x2rootroot4096May62010repodata

-r--r--r--1rootroot7048May62010TRANS.TBL

-rw-r--r--1rootroot417Apr272010.treeinfo

install.log文件是系统安装时安装包日志文件,实际在使用时根据需要在安装的系统中取得,命令如下:

cat/root/install.log|grepInstalling|awk'{print$2}'|awk-F':''{if(NF==2){print$2}else{print$1}}'>/opt/packages.list

根据文件列表使用for语句将rpm拷入CentOS目录,命令如下:

用createrepo程序更新repodata下的comps.xml文件

createrepo-g/opt/MyCentOS/repodata/comps.xml/opt/MyCentOS/CentOS/

制作ks文件,ks文件根据实际安装要求创建,一般可以使用Kickstart(system-config-kickstart)程序来生成,也可以从root目录下拷贝“anaconda-ks.cfg”(系统安装过程中自动生成)直接使用,本次直接使用root下文件,拷贝文件并改名:

cp/root/anaconda-ks.cfg/opt/MyCentOS/isolinux/ks.cfg

ks文件需要将分区部分内容取消注释后才可使用,修改后如下:

#Thefollowingisthepartitioninformationyourequested

#Notethatanypartitionsyoudeletedarenotexpressed

#heresounlessyouclearallpartitionsfirst,thisis

#notguaranteedtowork

clearpart--linux--drives=sda

part/boot--fstypeext3--size=100--ondisk=sda

partpv.2--size=0--grow--ondisk=sda

volgroupVolGroup00--pesize=32768pv.2

logvol/--fstypeext3--name=LogVol00--vgname=VolGroup00--size=1024--grow

logvolswap--fstypeswap--name=LogVol01--vgname=VolGroup00--size=1000--grow--maxsize=4000

为安装过程不提示分区操作,需将“clearpart”行改为如下内容:

在实际制作光盘过程中,ks文件的修改是关键,需要单独研究一下才使用的比较顺手,ks文件可以使用“ksvalidator”命令来检验文件是否有明显语法错误。

修改镜像的默认安装方式,实现自动化安装,这里,修改/opt/MyCentOS/isolinux/isolinux.cfg这个文件,达到我们的目标,值得注意的是,isolinux.cfg文件是只读的,要想修改,需要为其赋予可写权限:

chmod+w/opt/MyCentOS/isolinux/isolinux.cfg

vim/opt/MyCentOS/isolinux/isolinux.cfg

修改如下内容:

default行:此处默认为linux,修改为ks,让linux从ks这个脚本启动,修改后内容;

defaultks

timeout行:此处默认600,即等待一分钟,改为6秒钟,即60,修改后内容:

timeout60

“labelks”部分内容的append行内容,修改后内容:

appendks=cdrom:/isolinux/ks.cfginitrd=initrd.imgtext

保存文件,下面正式开始制作光盘。

制作光盘

生成ISO文件在/opt目录下,然后可以安装测试下实际效果。

很方便的制作自己需要的系统盘,系统安装过程不需要人工干预,把其他需要配置的地方一起做了,对后续使用方便很多。

在日常使用其他软件时一般都会有些新的方法或思路,如果善于发现,积极实践运用到我们日常运维中来还是很不错的!

定制自己的CentOS发行版:

http://www.osedu.net/article/linux/2012-05-30/407.html

定制CentOS6.0精简的自动安装版:

http://kerry.blog.51cto.com/172631/646549/

定制centos的制作:

http://blog.chinaunix.net/uid-9040470-id-1939673.html

参考:GUNcp与tar拷贝文件速度比较

http://liuyu.blog.51cto.com/183345/150408

CentOS6.2X86_64系统定制文档详细版

http://www.osedu.net/article/linux/2012-05-30/411.html

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值