首先需要明白一下概念,通常来讲,一个package指一个软件包,一个group里包含了若干个package,一个category里则包含了若干个group。只要明白这点,下面就简单多了。在使用Linux安装光盘安装系统的时候,有一个自定义软件包的步骤。在此步骤中,左侧显示的是category,右则显示的是group。它们之间对应关系记录于repodata/xxx-comps.xml文件中。
repodata/xxx-comps.xml文件的写法:
组1的ID,非数字
组1的名字
组1的描述
是否预安装,true或者false
是否可见,true或者false
zh #仅在某个语系的安装界面中显示,可选项
软件包1
软件包2
软件包3
组2的ID,非数字
组2的名字
组2的描述
是否预安装,true或者false
是否可见,true或者false
软件包1
软件包2
软件包3
……
分类1的名字,非数字
将显示在左侧列表里
将显示在下面的描述栏里
组1的ID
组2的ID
组3的ID
分类2的名字,非数字
将显示在左侧列表里
将显示在下面的描述栏里
组4的ID
组5的ID
组6的ID
下面,我们试着来操作以下,向CentOS 6.4的安装光盘中添加一个category及group。
[root@bear ~]# yum install createrepo
[root@bear ~]# mkdir /root/image
[root@bear ~]# mount /dev/cdrom /mnt
[root@bear ~]# cp -pa /mnt/* /root/image/
注意:复制的时候必须加上参加-a,因为光盘下有隐藏的文件.treeinfo和.discinfo,如果不加-a参数,会导致这两个文件的遗漏
[root@bear ~]# cd /root/image/
[root@bear image]# cp repodata/*-comps.xml ./comps.xml #把原有group信息复制到光盘根目录并重命名为comps.xml
[root@bear image]# vi comps.xml #向其中添加自定义的category及group内容
在第三行的之后,添加以下内容
inspur-security-group
Inspur Security Group
Some security packages provided by Inspur company.
true
true
httpd
mysql
inspur-optimization-tools
Inspur Optimization Tools
Some optimization packages provided by Inspur company.
true
true
php
php-mysql
在最后一行的之前,添加以下内容
inspur-extra
Inspur Extra
Inspur extra Packages
inspur-security-group
inspur-optimization-tools
[root@bear image]# declare -x discinfo=`head -1 .discinfo`
[root@bear image]# createrepo -u “media://$discinfo” -g comps.xml ./
[root@bear image]# rm comps.xml
最后,把这些文件重新打包成iso文件:
[root@bear image]# cd /root/image/ #确保自己在镜像根目录中
[root@bear image]# mkisofs -R -l -r -T -no-emul-boot -J -c isolinux/boot.cat -b isolinux/isolinux.bin -o /root/k-ux.iso -boot-load-size 4 -boot-info-table -no-bak .
注意:参数一个都不能少,否则生成的iso将会无法引导,或者可能在引导的过程中 出各种各样的错误。
可能产生的错误:
1,执行mkisofs命令时,提示boot image ‘./isolinux/isolinux.bin’ has not an allowable size.
解决办法:因为默认用的是软驱,加入: -hard-disk-boot 或者 -no-emul-boot 即可。
2,制作以后的Linux镜像在引导的时候提示:”ISOLINUX 3.86 2010-04-01 ETCDisolinux: Image checksum error, sorry…
Boot failed: press a key to retry…”
解决办法:在执行mkisofs命令时,加入 -boot-info-table 参数。
然后拿到虚拟机里安装一下试试,发现已经可以在自定义软件包的选项中,找到我们刚才加入的category和group内容了。
如果想修改此界面的信息,请参考http://www.zhukun.net/archives/7017
参考资料:
centos定制(CentOS 5)
制作CentOS6.2定制系统的基本步骤整理
CentOS6.4 X86_64系统定制文档详细版
文章知识点与官方知识档案匹配,可进一步学习相关知识CS入门技能树Linux入门在线安装软件24909 人正在系统学习中 相关资源:virtualbow:设计和模拟弓箭的软件-其它代码类资源-CSDN文库
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!