在 SUSE Manager 中使用 PTF

SUSE 为目前支持的所有解决方案提供直接交付给客户的临时修复。这些 PTF(程序临时修复)现在以储存库的形式提供,后者可在 SUSE Manager 中同步。

1. 了解 PTF 软件包

PTF 软件包通过代理软件包安装,命名为 ptf-xxxxxx。其中 xxxxxx 是软件包的编号和名称部分,而不是版本。

它们取决于已知包含软件中的修正的软件包正确版本。这种软件包:

  • 不可能意外安装(即 zypper 更新绝不会建议安装它们),

  • 不可能意外去除(即更新的软件包版本不会替换 PTF 软件包,除非用户在 zypper 命令行上明确指示替换),

  • 仅会在已知有更新版本可解决该 PTF 之前所解决的特定问题时更新,

  • 仅会在系统上已安装软件包时更新(也就是说,如果软件拆分成多个软件包,该 PTF 仅会替换系统上目前安装的那些软件包)。

软件包的正确 ID 将由 SUSE 支持团队在进行支持案例调查期间提供,同时还会提供有关如何部署/重启动受影响服务的说明。

2. 安装 PTF 软件包

PTF 软件包目前仅受基于 SLE 12 和 SLE 15 的系统支持。其他版本或操作系统尚不提供此功能,因此未显示与其对应的页面。

过程:使用命令行启用和同步 PTF 储存库
  1. 在控制台上输入 mgr-sync refresh

  2. 输入 mgr-sync list channel,然后查找以您的 SCC 帐户名称开头且名称中包含 ptfs 的通道。例如 a123456-sles-15.3-ptfs-x86_64

  3. 使用 mgr-sync add channel <标签> 启用该 PTF 通道。

此通道现在便可供使用,并可添加到使用相同基础通道的每个系统。

您需要明确安装 PTF 软件包,因为在更新系统时它们不会自动被选中。SUSE 客户支持团队将提供用于修复特定问题的 PTF 编号。可以使用该编号在 PTF 列表中标识该代理软件包。SUSE Manager Web UI 中会针对有可供安装的 PTF 的每个系统显示一个页面来列出这些 PTF。

过程:通过 SUSE Manager Web UI 启用和同步 PTF 储存库
  1. 在 SUSE Manager Web UI 中,导航到管理  安装向导  产品,然后查找要为其启用 PTF 储存库的产品。

  2. 单击产品同步状态旁边的 显示产品的通道

  3. 您应该会看到一个弹出窗口,其中会列出该产品的必需和可选通道。

  4. 在可选通道列表中,查找以您的 SCC 帐户名称开头且名称中包含 ptfs 的通道。例如 a123456-sles-15.3-ptfs-x86_64

  5. 使用该通道名称旁边的复选框将其选中,然后单击 确认 安排同步。

请注意,必须安装该产品才能为其添加可选通道。

过程:安装 PTF 软件包
  1. 在 SUSE Manager Web UI 中,导航到系统  系统列表,然后选择要安装 PTF 的客户端。

  2. 导航到系统  软件  软件包  软件通道,然后选择 PTF 通道

  3. 单击 下一步,然后单击 确认确认软件通道更改

  4. 导航到系统  事件  历史记录查看结果,确定是否已完成通道指派。

  5. 导航到系统  软件  PTF  安装子选项卡。

  6. 选择要安装的 PTF 软件包。

  7. 单击 安装 PTF,然后单击 确认确认安装程序临时修复 (PTF)

  8. 导航到系统  事件  历史记录查看 PTF 安装结果。

如果应使用 API 安装 PTF,可以使用常规 system.schedulePackageInstall API 和代理软件包名称。

3. 安装 PTF 后

一旦确认使用某个 PTF 来解决报告的问题,在将更新的软件包作为更新储存库中的常规维护更新广泛分发之前,需对其进行跟踪,以便在将来的维护更新中纳入该软件包。

在发布包含修复的此常规更新时,还会将 PTF 的一个更新版本发布到特定于帐户的 PTF 储存库中。更新的 PTF 将会解除严格的依赖关系,并允许再次安装更新。

通过标准软件包更新或补丁安装可自动将 PTF 替换为包含该修复的维护更新。

4. 去除软件包的已修补版本

如果需要在系统上卸装某个 PTF 并安装软件包的未修补版本,仅执行软件包去除流程无法实现这个目标。在标准软件包列表页面中,无法选择该 PTF 软件包。

  1. 在 SUSE Manager Web UI 中,导航到系统  系统列表,然后选择要去除 PTF 的客户端。

  2. 导航到系统  软件  PTF  列出/去除子选项卡。

  3. 选择要去除的 PTF 软件包。

  4. 单击 去除 PTF,然后在确认去除程序临时修复 (PTF) 页面上单击 确认

  5. 要查看结果,请导航到系统  事件  历史记录

要去除 PTF,需要在客户端系统上安装 libzyppzypper 的特殊版本。请运行 zypper --help 确认是否支持 removeptf。仅当满足此条件时,列出/去除选项卡才会显示。

如果应使用 API 去除 PTF,可以使用常规 system.schedulePackageRemove API 和代理软件包名称。

5. 在客户端上去除软件包的已修补版本

如果要使用控制台在客户端上直接去除 PTF,则需要使用特殊命令 zypper removeptf。所有其他方法要么会产生错误,要么可能导致非预期行为,例如从系统中去除重要软件包,致使系统不可用。

另请参见 https://www.suse.com/de-de/support/kb/doc/?id=000020596 了解命令行用法