定制Linux发行版的一个重要步骤,是向安装程序添加自定义的软件包,这里简要记录一下过程。本文的实验环境基于CentOS 6.4 64bit。
首先需要明白一下概念,通常来讲,一个package指一个软件包,一个group里包含了若干个package,一个category里则包含了若干个group。只要明白这点,下面就简单多了。在使用Linux安装光盘安装系统的时候,有一个自定义软件包的步骤。在此步骤中,左侧显示的是category,右则显示的是group。它们之间对应关系记录于repodata/xxx-comps.xml文件中。
repodata/xxx-comps.xml文件的写法:
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE comps PUBLIC "-//CentOS//DTD Comps info//EN" "comps.dtd">
<comps>
<group>
<id>组1的ID,非数字</id>
<name>组1的名字</name>
<description>组1的描述</description>
<default>是否预安装,true或者false</default>
<uservisible>是否可见,true或者false</uservisible>
<langonly>zh</langonly> #仅在某个语系的安装界面中显示,可选项
<packagelist>
<packagereq requires="依赖包" type="conditional">软件包1</packagereq>
<packagereq type="default">软件包2</packagereq>
<packagereq type="default">软件包3</packagereq>
</packagelist>
</group>
<group>
<id>组2的ID,非数字</id>
<name>组2的名字</name>
<description>组2的描述</description>
<default>是否预安装,true或者false</default>
<uservisible>是否可见,true或者false</uservisible>
<packagelist>
<packagereq requires="依赖包" type="conditional">软件包1</packagereq>
<packagereq type="default">软件包2</packagereq>
<packagereq type="default">软件包3</packagereq>
</packagelist>
</group>
……
<category>
<id>分类1的名字,非数字</id>
<name>将显示在左侧列表里</name>
<description>将显示在下面的描述栏里</description>
<grouplist>
<groupid>组1的ID</groupid>
<groupid>组2的ID</groupid>
<groupid>组3的ID</groupid>
</grouplist>
</category>
<category>
<id>分类2的名字,非数字</id>
<name>将显示在左侧列表里</name>
<description>将显示在下面的描述栏里</description>
<grouplist>
<groupid>组4的ID</groupid>
<groupid>组5的ID</groupid>
<groupid>组6的ID</groupid>
</grouplist>
</category>
</comps>
(more…)
Read More