在 SUSE Multi-Linux Manager 中使用 PTF

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

1. 了解 PTF 软件包

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

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

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

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

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

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

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

2. 安装 PTF 软件包

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

如需通过 SUSE Multi-Linux Manager 访问 PTF 通道,您需要向三级技术支持提交申请。

过程:使用命令行启用和同步 PTF 储存库
  1. On the console enter mgr-sync refresh.

  2. Enter mgr-sync list channel and look for channels starting with your SCC account name and ptfs in its name. For example, a123456-sles-15.3-ptfs-x86_64.

  3. Enable the PTF channel with mgr-sync add channel <label>.

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

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

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

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

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

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

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

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

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

  2. Navigate to the Systems  Software  Packages  Software Channels and select the PTF channel.

  3. Click Next, and Confirm Software Channel Change with Confirm.

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

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

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

  7. Click Install PTF, and Confirm Program Temporary Fixes (PTFs) Installation with Confirm.

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

In case a PTF should be installed using the API, the normal system.schedulePackageInstall API can be used with the proxy package name.

3. 安装 PTF 后

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

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

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

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

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

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

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

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

  4. Click Remove PTFs, and on the Confirm Program Temporary Fixes (PTFs) Removal page click Confirm.

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

Removing PTFs requires a special version of libzypp and zypper to be installed on the client system. Check zypper --help to confirm whether removeptf is supported. The List/Remove tab is only visible if this condition is met.

In case the PTF should be removed using the API, the normal system.schedulePackageRemove API can be used with the proxy package name.

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

In case a PTF should be removed directly on the client using the console, it is required to use a special command zypper removeptf. All other ways result either in an error or can lead to unwanted behavior like removing important packages from the system and make the system unusable.