内容生命周期管理示例
本节包含一些如何使用内容生命周期管理的常见示例。 使用这些示例来构建您自己的个性化实施。
1. 为每月修补周期创建项目
每月修补周期的示例项目包括:
-
创建一个`By Date`过滤器
-
将过滤器添加到项目
-
将过滤器应用于新项目构建
-
从项目中排除补丁
-
在项目中包含补丁
1.1. 创建一个`By Date`过滤器
`By Date`过滤器排除在指定日期之后发布的所有补丁。 此过滤器对于遵循每月补丁周期的内容生命周期项目非常有用。
在SUSE Multi-Linux Manager Web UI中,导航到并单击创建过滤器。
在
Filter Name字段中,键入过滤器的名称。 例如,Exclude patches by date。在
Filter Type字段中,选择Patch (Issue date)。在
Matcher字段中,later or equal会被自动选中。选择日期和时间。
单击保存。
1.2. 将过滤器添加到项目
在SUSE Multi-Linux Manager Web UI中,导航到并从列表中选择一个项目。
单击附加/移除过滤器链接以查看所有可用的过滤器
选择新的
Exclude patches by date过滤器。单击 保存。
1.3. 将过滤器应用于新项目构建
新过滤器已添加到您的过滤器列表中,但仍需应用于项目。 要应用过滤器,您需要构建第一个环境。
单击 构建 以构建第一个环境。
可选:添加一条消息。 可以使用消息来帮助跟踪构建历史记录。
在测试服务器上使用新通道来检查过滤器是否正常工作。
单击 升级 将内容移到下一个环境。 如果您有大量过滤器,或者过滤器非常复杂,则构建过程需要较长时间。
1.4. 从项目中排除补丁
测试可能帮助您发现问题。
当发现问题时,排除在 by date 过滤器之前发布的问题补丁。
在SUSE Multi-Linux Manager Web UI中,导航到并单击创建过滤器。
在
Filter Name字段中输入过滤器的名称。 例如,Exclude openjdk patch。在
Filter Type字段中,选择Patch (Advisory Name)。在
Matcher字段中,选择equals。在
Advisory Name字段中,键入公告的名称。 例如,SUSE-15-2019-1807。单击 保存。
导航到并选择您的项目。
单击 关联/解除关联过滤器 链接,选择
Exclude openjdk patch,然后单击 保存。
当您使用 构建 按钮重新构建项目时,新过滤器将与我们之前添加的 by date 过滤器一起使用。
1.5. 在项目中包含补丁
在此示例中,您已收到安全警报。
在您当前工作的月份的第一天之后几天,发布了一个重要的安全更新。
新补丁的名称是 SUSE-15-2019-2071。
您需要将此新的安全更新包含到您的环境中。
|
|
在SUSE Multi-Linux Manager Web UI中,导航到并单击创建过滤器。
在
Filter Name字段中,键入过滤器的名称。 例如,Include kernel security fix。在
Filter Type字段中,选择Patch (Advisory Name)。在
Matcher字段中,选择equals。在
Advisory Name字段中,键入SUSE-15-2019-2071,并勾选Allow。单击保存以存储过滤器。
导航到并从列表中选择您的项目。
单击 关联/解除关联过滤器,然后选择
Include kernel security patch。单击 保存。
单击构建以重新构建环境。
2. 更新现有的每月修补周期
每月修补周期完成后,您可以更新下个月的修补周期。
在
by date字段中,将过滤器的日期更改为下个月。 或者,创建一个新过滤器并更改项目的指派。检查是否可以将
SUSE-15-2019-1807的排除过滤器与项目解除关联。 可能有一个新补丁可以修复此问题。将您之前添加的
allow过滤器解除关联。 默认已包含该补丁。重新构建项目以创建包含下个月补丁的新环境。
3. 通过实时修补增强项目
本节介绍如何设置过滤器以创建可实时修补的环境。
|
当您准备使用实时修补时,需要注意一些重要事项:
|
3.1. 排除内核版本较高的软件包
在此示例中,您使用 SUSE-15-2019-1244 补丁更新系统。
此补丁包含 kernel-default-4.12.14-150.17.1-x86_64。
需要排除所有包含较高版本 kernel-default 和 kernel-default-base 的补丁。
在 SUSE Multi-Linux Manager Web UI 中,导航到 ,然后单击 创建过滤器。
在
Filter Name字段中,键入过滤器的名称。 例如,Exclude kernel greater than 4.12.14-150.17.1。在
Filter Type字段中,选择Patch (Contains Package)。在
Matcher字段中,选择version greater than。在
Package Name字段中,键入kernel-default。将
Epoch字段留空。在
Version字段中,键入4.12.14。在
Release字段中,键入150.17.1。单击保存以存储过滤器。
导航到 并选择您的项目。
单击关联/解除关联过滤器。
选择
Exclude kernel greater than 4.12.14-150.17.1,然后单击 保存。
您需要针对 kernel-default-base 软件包重复此过程。
当您单击 构建 时,将创建一个新环境。 新环境包含所有内核补丁,直到您安装的版本为止。
|
所有版本较高的内核补丁都被去除。 只要不是系列中的第一个,实时修补内核将保持可用。 |
此过程可以使用过滤器模板进行自动化。 有关如何应用实时补丁过滤器模板的更多信息,请参见 administration:content-lifecycle.adoc#filter-templates。
4. 切换到实时修补的新内核版本
特定内核版本的实时修补仅在一年内可用。 在一年后,您必须更新系统上的内核。 执行以下环境更改:
确定要升级到哪个内核版本。 例如:
4.12.14-150.32.1创建新的内核版本过滤器。
解除所有历史实时修补过滤器与旧内核的关联。
关联新的内核版本过滤器。
单击构建以重新构建环境。
构建完成后,必须立即重新关联以下两个过滤器:
拒绝包含
reboot_suggested关键字的补丁拒绝包含提供名称
installhint(reboot-needed)的软件包的补丁
新环境包含您选择的新内核版本之前的所有内核补丁。 在升级后,您需要重启系统。 新内核在一年内有效。 在这一年内安装的所有软件包都与当前的实时修补内核过滤器匹配。
5. AppStream 过滤器
在内容生命周期管理项目中,您可以使用 AppStream 过滤器将模块化储存库转换为常规储存库。 它通过保留储存库中的软件包并去除模块元数据来实现。 生成的储存库可以像常规储存库一样在 SUSE Multi-Linux Manager 中使用。
|
因此,要使用 AppStream 储存库,不一定非要完成此过程。 |
AppStream 过滤器选择一个模块流以包含在目标储存库中。 您可以添加多个过滤器以选择多个模块流。
如果您在 CLM 项目中不使用 AppStream 过滤器,模块源中的模块元数据将保持完整,目标储存库将包含相同的模块元数据。 只要在 CLM 项目中启用至少一个 AppStream 过滤器,所有目标储存库都将转换为常规储存库。
在某些情况下,您可能希望构建常规储存库,而不必包含任何模块中的软件包。
为此,请使用匹配器 none (disable modularity) 添加 AppStream 过滤器。
这将禁用目标储存库中的所有模块。
这对于Red Hat Enterprise Linux 9客户端特别有用,因为大多数模块的默认版本已经作为常规软件包包含在 AppStream 储存库中。
要使用 AppStream 过滤器,您需要一个具有模块化储存库的 CLM 项目,例如 Red Hat Enterprise Linux AppStreams。
在开始之前,请确保您已将所需的模块作为源包含。
在SUSE Multi-Linux Manager Web UI中,导航到您的Red Hat Enterprise Linux 8或9 CLM项目。 确保已包含项目的 AppStream 通道。
单击创建过滤器并使用以下参数:
在
Filter Name字段中,键入新过滤器的名称。在
Filter Type字段中,选择Module (Stream)。在
Matcher字段中,选择equals。在
Module Name字段中,键入模块名称。 例如,postgresql。在
Stream字段中,键入所需流的名称。 例如,10。 如果将此字段留空,则会选择模块的默认流。单击保存以创建新过滤器。
导航到 并选择您的项目。
单击关联/解除过滤器关联,选择您的新 AppStream 过滤器,然后单击保存。
您可以在 Create/Edit Filter 表单中使用浏览功能,从模块化通道的可用模块流列表中选择一个模块。
在SUSE Multi-Linux Manager Web UI中,导航到您的Red Hat Enterprise Linux 8或9 CLM项目。 确保已包含项目的 AppStream 通道。
单击创建过滤器并使用以下参数:
在
Filter Name字段中,键入新过滤器的名称。在
Filter Type字段中,选择Module (Stream)。在
Matcher字段中,选择equals。单击
Browse available modules以查看所有模块化通道。选择一个通道以浏览模块和流:
在
Module Name字段中,开始键入要搜索的模块名称,或者从列表中选择。在
Stream字段中,开始键入要搜索的流名称,或者从列表中选择。
|
频道选择仅用于浏览模块。 所选频道不会与过滤器一起保存,也不会以任何方式影响CLM过程。 |
您可以为任何其他模块流创建额外的 AppStream 过滤器,以包含在目标储存库中。 所选流所依赖的任何模块流会自动包含。
|
请小心不要指定冲突、不兼容或缺失的模块流。 例如,从同一模块选择两个流是无效的。 |
在SUSE Multi-Linux Manager Web UI中,导航到您的Red Hat Enterprise Linux 8或9 CLM项目。 确保已包含项目的 AppStream 通道。
单击创建过滤器并使用以下参数:
在
Filter Name字段中,键入新过滤器的名称。在
Filter Type字段中,选择Module (Stream)。在
Matcher字段中,选择none (disable modularity)。单击保存以创建新过滤器。
导航到 并选择您的项目。
单击关联/解除过滤器关联,选择您的新 AppStream 过滤器,然后单击保存。
这样会有效从目标储存库中去除模块元数据,并排除属于模块的所有软件包。
当您使用构建按钮在Web UI中构建CLM项目时,目标储存库是不包含任何模块的常规储存库,其中包含来自选定模块流的软件包。
|
在Red Hat Enterprise Linux 8项目中完全禁用模块化可能导致环境存在缺陷,因为某些模块对于在Red Hat Enterprise Linux 8中的健康运行是不可或缺的。 |