comps.xml文件定制

简介:

comps.xml文件定制       

目录(?)

  1. 1 编辑compsxml文件

  2. 2 产生完整的compsxml文件

参考:http://www.ibm.com/developerworks/cn/linux/l-custm/

节选内容如下:

4.1 编辑comps.xml文件

   在生成安装盘之前,需要注意对comps.xml文件进行修改。这个文件用来告知安装程序anaconda,用户选择了某个组是应该有哪些包需要安装,定义了在安装过程中,包是如何被捆绑在一起的。在Red Hat 8.0以前版本的发布盘中,对应的文件为comps,它只是一个简单的文本文件,在Red Hat 8.0之后的版本中,用comps.xml代替了原来的comps文件。comps.xml是一个XML文件,易于对内容进行分析和说明。

comps.xml文件开始是说明xml的版本和DTD断言,然后进入以<comps>标记开始的文件的主体内容。如:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE comps PUBLIC "-//Red Hat, Inc.//DTD Comps info//EN" "comps.dtd">
<comps>

comps.xml主要由三部分组成,首先是组列表,它描述了在安装过程中需要的不同的组(或组件),包括组名、组的描述和包含的RPM包;其次是组的层次结构,它将组分成不同的类,并定义了组的一个顺序,从而可以决定哪些组需要先安装;最后为一系列RPM包以及它们之间的依赖关系。

下面分别介绍comps.xml文件的这三部分:

(1) 组列表

在系统安装时,需要用到一个组中的一些属性,下面就是属性列表以及它们如何使用。一个组被定义在<group>和</group>标记之内.

一个简单的组定义可以是:

<group>
  <id>somegroup</id>
  <name>Sample Group</name>
  <default>true</default>
  <uservisible>false</uservisible>
  <description>This is a silly sample group</description>
  <packagelist>
    <packagereq type="mandatory">bash</packagereq>
    <packagereq type="default">cpio</packagereq>
  </packagelist>
</group>

下面分别说明组定义中一些参数的含义:

  • id:组的id仅仅是在comps.xml文件中作为该组的一个标识,这是必须的;

  • name:表示用户可以看到的组的名字,它也是必须的;

  • default:它表示在系统安装过程中,当选择定制(custom)安装时,该组是否在缺省情况下被选中。如果没有说明,则缺省情况下为不选中。

  • uservisible:它表示该组在缺省情况下是否在安装时可以看到,如果没有说明,缺省设置为YES,为可以看到。

  • description:它表示对该组进行简短的描述,这是必须的;

  • packagelist:它说明在该组内的一系列安装包,这也是必须的。
    packagereq:包名 
    属性:

    • type:当进行安装时,判定对应的包是否是组的"强制"部分、或"缺省"部分或"可选"部分。它可以是"mandatory"、"default"或"optional"之一。

    • requires:它说明只有当它所需要(依赖)的包也安装情况下,此包才安装进系统。

(2)组层次结构

它描述了组的树状层次结构,组层次结构定义在<grouphierarchy>和</grouphierarchy>标记之间,由定义的<category>标记组成类。

一个简单的组层次结构可以如下所述:

<grouphierarchy>
  <category>
    <name>Random Groups</name>
    <subcategories>
      <subcategory>somegroup</subcategory>
    </subcategories>
  </category>
</grouphierarchy>

一个类由下面这些属性组成:

  • name: 它表示类名,是必须的;

  • subcategories: 它表示此类的一些子类,由一列表<subcategory>和</subcategory> 元素组成

    • subcategory: 前面定义的组的id

(3)RPM包

此部分说明要安装的RPM包,它定义在<package>和</package>标记之内。一个简单的RPM包部分可以如:

<package>
  <name>bash</name>
  <dependencylist>
    <dependency>mktemp</dependency>
    <dependency>bash</dependency>
    <dependency>glibc</dependency>
    <dependency>libtermcap</dependency>
  </dependencylist>
</package>
  • name:它指的是RPM包名,是必须的。

  • dependencylist:它说明此包对应的依赖的RPM包。

    • dependency:此包需要的包的名字

4.2 产生完整的comps.xml文件

上述说明的comps.xml文件中的RPM包部分是是自动产生的,为了形成完全的comps.xml文件,需要在系统中安装comps-extras RPM包,然后进行下面的操作:

  • 将comps.xml文件中的原来的RPM包部分删除;

  • 运行:
    /usr/share/comps-extras/getfullcomps.py comps.xml /path/to/tree arch >/root/filelist 在此,/path/to/tree是Red Hat Linux操作系统安装盘内容存储的地方,arch指的是体系结构,为i386。注意的是,假定comps.xml已经存放/path/to/tree/arch/RedHat/base/目录下,将此输出重定向到一个临时文件,如/root/filelist。

  • 将comps.xml文件中最后一行内容(为</comps>)删除

  • 将前面生成的临时文件添加到comps.xml中

  • 再将</comps>添加到comps.xml文件中

通过新增你的包到comps.xml文件,你可以根据你的需要做你自己的发布盘,确信你的包在缺省情况下会被安装。需要注意的一件事是你更新的包与其它包的依赖关系,这是你需要处理的,要注意你更新的包所应该放置的位置。另外,不要在文件中随意增加或删除其余的空格。在修改comps.xml之前,也最好对最初的comps.xml做个备份,以备恢复使用。





      本文转自rshare 51CTO博客,原文链接:http://blog.51cto.com/1364952/1968947,如需转载请自行联系原作者

相关文章
|
7月前
|
Android开发 开发者
Android自定义View之不得不知道的文件attrs.xml(自定义属性)
本文详细介绍了如何通过自定义 `attrs.xml` 文件实现 Android 自定义 View 的属性配置。以一个包含 TextView 和 ImageView 的 DemoView 为例,讲解了如何使用自定义属性动态改变文字内容和控制图片显示隐藏。同时,通过设置布尔值和点击事件,实现了图片状态的切换功能。代码中展示了如何在构造函数中解析自定义属性,并通过方法 `setSetting0n` 和 `setbackeguang` 实现功能逻辑的优化与封装。此示例帮助开发者更好地理解自定义 View 的开发流程与 attrs.xml 的实际应用。
178 2
Android自定义View之不得不知道的文件attrs.xml(自定义属性)
|
XML 前端开发 Java
讲解SSM的xml文件
本文详细介绍了SSM框架中的xml配置文件,包括springMVC.xml和applicationContext.xml,涉及组件扫描、数据源配置、事务管理、MyBatis集成以及Spring MVC的视图解析器配置。
272 1
|
XML Java 数据格式
Spring5入门到实战------7、IOC容器-Bean管理XML方式(外部属性文件)
这篇文章是Spring5框架的实战教程,主要介绍了如何在Spring的IOC容器中通过XML配置方式使用外部属性文件来管理Bean,特别是数据库连接池的配置。文章详细讲解了创建属性文件、引入属性文件到Spring配置、以及如何使用属性占位符来引用属性文件中的值。
Spring5入门到实战------7、IOC容器-Bean管理XML方式(外部属性文件)
|
XML Java 数据格式
java创建xml文件内容
java创建xml文件内容
140 0
|
XML Java 数据格式
java解析xml文件内容
java解析xml文件内容
146 0
|
Java Maven
maven项目的pom.xml文件常用标签使用介绍
第四届人文,智慧教育与服务管理国际学术会议(HWESM 2025) 2025 4th International Conference on Humanities, Wisdom Education and Service Management
966 8
|
XML Android开发 数据格式
Eclipse 创建 XML 文件
Eclipse 创建 XML 文件
190 2
|
XML JavaScript Java
java与XML文件的读写
java与XML文件的读写
160 3
|
SQL XML Java
mybatis :sqlmapconfig.xml配置 ++++Mapper XML 文件(sql/insert/delete/update/select)(增删改查)用法
当然,这些仅是MyBatis功能的初步介绍。MyBatis还提供了高级特性,如动态SQL、类型处理器、插件等,可以进一步提供对数据库交互的强大支持和灵活性。希望上述内容对您理解MyBatis的基本操作有所帮助。在实际使用中,您可能还需要根据具体的业务要求调整和优化SQL语句和配置。
251 1
|
XML 存储 缓存
C#使用XML文件的详解及示例
C#使用XML文件的详解及示例
558 0

相关课程

更多