模块简介
除了单个 RPM 包之外,AppStream 仓库还包含模块。模块是一组代表一个组件的 RPM 软件包,通常安装在一起。典型的模块包含应用程序包、特定于应用程序依赖库包、应用程序文档包和帮助器实用程序包。
后续各部分介绍模块内内容的组织和处理的更多功能:
-
流 —— 按版本组织内容。
-
配置文件 —— 按用途组织内容。
模块流
模块流是可以想象为 AppStream 仓库中的虚拟仓库的筛选器。模块流表示 AppStream 组件的版本。每个流独立地接收更新。
模块流可以是激活的,也可以是非激活的。激活流允许系统访问特定模块流中的 RPM 包,从而允许安装相应的组件版本。如果将流标记为默认流或通过用户操作显式启用流,则流处于激活状态。
在给定的时间点,特定模块的流只有一个是激活的。因此,一个系统上只能安装一个组件的一个版本。可以在不同的容器中使用不同的版本。
每个模块可以具有默认流,该默认流通常提供组件的最新或推荐版本。默认流使得以通常的方式安装 Circle Linux 包变得很容易,而不需要了解模块。除非已禁用整个模块或启用该模块的另一个流,否则默认流处于激活状态。
某些模块流依赖于其他模块流。例如, perl-App-cpanminus、 perl-DBD-MySQL、 perl-DBD-Pg、 perl-DBD-SQLite、 perl-DBI、 perl-YAML 和 freeradius 模块流依赖某些 perl 模块流。
postgresql 模块分别在流 9.6 和流 10 中提供 PostgreSQL 数据库版本 9.6 和 10,目前流 10 是默认版本。这意味着如果要求安装 postgresql,系统将尝试安装 postgresql-10.6 软件包。
模块配置文件
配置文件是针对特定用例(如服务器、客户端、开发、最小安装或其他)一起安装的推荐软件包的列表。这些包列表可以包含模块流之外的包,通常来自 BaseOS 仓库或流的依赖项。
使用配置文件安装包是为了方便用户而提供的一次性操作。它不会阻止安装或卸载模块提供的任何软件包。还可以通过使用同一模块流的多个配置文件来安装软件包,而无需任何其他操作。
每个模块流可以有任意数量的配置文件,包括无配置文件。对于任何给定的模块流,它的一个配置文件可以标记为默认,然后在没有显式指定其他配置文件时用于安装操作。但是,模块流不需要默认的配置文件。
提供 Apache 服务器的 httpd 模块提供以下用于安装的配置文件:
-
common
—— 强化的生产就绪部署,默认配置文件。 -
devel
—— 修改httpd
所需的包 -
minimal
—— 将提供运行 Web 服务器的最小软件包集