2.3. 模块简介
模块是代表一个组件的一组 RPM 软件包。典型的模块包含以下软件包类型:
- 带有应用程序的软件包
- 带有特定于应用程序依赖项库的软件包
- 带有应用程序文档的软件包
- 带有助手工具的软件包
2.3.1. 模块流 复制链接链接已复制到粘贴板!
模块流是可以作为 AppStream 物理存储库中的虚拟存储库的过滤器。AppStream 组件的模块流版本。每个流都独立接收更新,它们可以依赖于其他模块流。
模块流可以是活跃的或者不活跃的。活跃的流可让系统访问特定模块流中的 RPM 软件包,允许安装相应的组件版本。
在以下情况下,流处于活跃状态:
- 如果管理员明确启用了它。
- 如果流是启用的模块的依赖项。
- 如果流是默认流。每个模块都可以具有默认流。默认流可让您轻松使用 RHEL 软件包而无需了解模块。默认流处于活跃状态,除非禁用了整个模块或启用了该模块的另一个流。
给定时间点上只能激活一个特定模块的流。因此,系统中只能安装一个组件版本。不同的容器可以使用不同的版本。
默认流在整个 RHEL 主发行版本中不会改变。始终考虑每个流的 生命周期。不要依赖默认流,在 RHEL 主发行版本结束前,默认流达到生命周期结束状态。
某些模块流依赖于其他模块流。例如,以下模块流依赖于特定的 perl
模块流:
-
perl-App-cpanminus
-
perl-DBD-MySQL
-
perl-DBD-Pg
-
perl-DBD-SQLite
-
perl-DBI
-
perl-YAML
-
freeradius
在为运行时用户应用程序或开发人员应用程序选择特定流前,请考虑以下几点:
- 所需的功能以及支持哪个组件版本。
- 与您的应用程序或用例兼容。
- Application Stream 和您的更新计划 的生命周期。
2.3.2. 模块配置集 复制链接链接已复制到粘贴板!
模块配置文件是为特定用例要一起安装的推荐的软件包列表,如服务器、客户端、开发、最小安装或其他。这些软件包列表可以包含模块流以外的软件包,通常是来自 BaseOS 存储库或流依赖项的软件包。
使用配置集安装软件包是为方便用户提供的一次性操作。它不会阻止安装或卸载该模块提供的任何软件包。您还可以使用同一模块流的多个配置集安装软件包,而无需进一步准备步骤。
每个模块流可以有任何数量的配置集,包括没有。对于任何给定模块流,其某些配置集可以被标记为 default,然后如果您未明确指定配置集,则用于配置集安装操作。但是,模块流的默认配置文件的存在不是必需的。
例 2.1. httpd 模块配置集
提供 Apache Web 服务器的 httpd 模块为安装提供以下配置集:
yum module list httpd
# yum module list httpd
Name Stream Profiles Summary
httpd 2.4 [d] common [d], devel, minimal Apache HTTP Server
Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
在本例中,提供了以下配置文件:
-
常见
:生产环境就绪的软件包。这是默认的配置文件([d]
)。 -
devel
:对httpd
进行修改所需的软件包。 -
最小
:提供正在运行的 Apache Web 服务器的最小软件包集合。