第 22 章从 SUSE Linux Enterprise 11 SP2 自动升级到 11 SP3

目录

22.1. 准备 AutoYaST 配置文件
22.2. 运行自动升级
22.3. 引导到升级过程的 GRUB 菜单部分
22.4. 升级的第二个阶段
22.5. 限制和提示

以下过程可用来以无人照管方式大批量执行 SUSE Linux Enterprise 11 SP2 到 SUSE Linux Enterprise 11 SP3 的升级。为了创建合适的 AutoYaST 配置文件,需要执行若干个准备步骤。AutoYaST 最后会执行升级过程。

22.1. 准备 AutoYaST 配置文件

自动升级的 AutoYaST 配置文件使用与 AutoYaST 安装相同的文件格式。有关 AutoYaST 的更多信息,请参见第 21 章 自动安装和AutoYaST (↑AutoYaST)。

但是,显然有一些系统部分(例如,分区)不需要在升级过程中进行配置。另一方面,它对于通过 AutoYaST 配置文件设置升级特定的选项很有用。

22.1.1. 升级

升级选项定义依赖性解析程序在升级过程中的行为:

<upgrade>
  <only_installed_packages
    config:type="boolean">false</only_installed_packages>
  <stop_on_solver_conflict
    config:type="boolean">true</stop_on_solver_conflict>
</upgrade>
only_installed_packages

对于基于包的升级设置为 true(若升级到相同产品的下一个服务包,建议采用这种设置),对于基于模式的升级设置为 false(若为一个产品的两个版本之间的升级,建议采用这种设置,例如从 SLES10 升级到 SLES11)。

stop_on_solver_conflict

定义未能交互式解析包依赖性时是否显示建议(建议设置为 true,但这种设置会产生交互过程,在该过程中用户必须手动解决冲突。)

22.1.2. 软件选择

软件选择选项定义除解析程序结果外要选择或取消选择哪些组件:

<software>
  <packages config:type="list">
    <package>autoyast2-installation</package>
    <package>apparmor-profile-editor</package>
  </packages>
  <patterns config:type="list">
    <pattern>base</pattern>
  </patterns>
  <remove-packages config:type="list"/>
  <remove-patterns config:type="list"/>
</software>

这对于设置要选择或取消选择的包或模式以解决包冲突,并因而避免交互式干扰尤其重要。升级完成后,新建的 autoupg_updated.xml 文件包含这些包和模式,以及因任何其他原因而选择或取消选择的那些包和模式。

22.1.3. 升级前备份

升级前备份选项与升级建议中的这些功能相匹配。

<backup>
  <sysconfig config:type="boolean">true</sysconfig>
  <modified config:type="boolean">true</modified>
  <remove_old config:type="boolean">false</remove_old>
</backup>
sysconfig

定义升级前是否备份 sysconfig。

modified

定义升级前是否备份修改过的配置文件。

remove_old

定义是否从以前的升级中删除旧备份。

22.2. 运行自动升级

要启动自动升级,请引导安装媒体,并向其传递 AutoYaST 配置文件。有两种方式可以将配置文件传递给系统:

  • 将配置文件传递给内核命令行,与安装 AutoYaST 的方式相同(使用 autoupgrade=1 autoyast=http://host/path/profile.xml 参数)。对于 System z,这是唯一可行的办法。

  • autoupgrade=1 参数传递给内核命令行。启动升级之前,将配置文件复制到 /root/autoupg.xml。这样就不需要任何其他内核参数。

后一种方法允许您对于不同的计算机使用单个安装内核命令行 - 只需将各自的配置文件复制到其文件系统即可。

只要计算机上仅安装了一个 SUSE Linux Enterprise 系统,就不会发生包冲突,而且,您若没有在升级建议中将配置文件设置为停止,整个过程将以非交互方式进行。在输入升级建议的情况下,则可以修改升级设置。

升级完成后,YaST 将编写 /root/autoupg-updated.xml 文件,其中包含应用了建议中完成的软件选择更改的配置文件。这对用相同的包选择来大批量升级计算机特别有用。这样,一台计算机的冲突解决方式可以轻松地应用到另一台计算机中,因此这些冲突将会自动解决,而且升级过程本身也将是非交互式的。

如果计算机上安装了多个 SUSE Linux Enterprise 系统,总是会询问您升级哪个系统 - 这个问题无法预先做出选择。

22.3. 引导到升级过程的 GRUB 菜单部分

引导系统的一个备用方式是在 GRUB 菜单中再创建一个部分(与其他引导加载程序和其他体系结构类似),用此部分启动安装。以下示例假设系统中有一个单独的 /boot 分区,该分区在 GRUB 中称为 (hd0,0)

title Upgrade
    root (hd0,0)
    kernel /upgrade/linux
    install=inst_source_url autoupgrade=1
    autoyast=autoyast_profile_url vga=0x314
    initrd /upgrade/initrd
  

上述示例假设安装内核和安装 initrd 位于 /boot/upgrade 目录。

在 System z 上,您必须将参数添加到 PARM 文件 - 以执行 AutoYaST 驱动的安装时所执行的方式操作。

22.4. 升级的第二个阶段

自动升级默认情况下不会在升级的第二个阶段执行配置更改。唯一的例外是网络配置,其需要在 AutoYaST 升级配置文件中设置为保留。

如果升级后需要对某些系统区域作配置调整(例如,配置新服务),请将相关部分添加到 AutoYaST 的升级配置文件中,这样所选系统区域的配置就会在升级过程中得到保存。

[Warning]AutoYaST 提供的配置替换现有配置

请注意,AutoYaST 配置会替换并破坏该系统区域的现有配置。

通常,AutoYaST 配置文件中应有的唯一配置调整是向订阅管理工具 (SMT) 或 Novell Customer Center (NCC) 注册系统。如果缺少此过程,系统将无法获取更新安装源,只能在稍后再次配置后才能进行更新。

22.5. 限制和提示

22.5.1. NetworkManager 和注册

如果使用 NetworkManager 管理网络设备和网络连接,在升级的第二个阶段将无法进行网络连接。从而使系统不能进行注册。

22.5.2. 清理升级设置

如果为触发升级过程对系统进行了更改(例如,将新部分添加到引导加载程序菜单),则在完成升级后可能要删除此类更改。

您可以使用安装后脚本自动删除它。可在第 4.16 节 “Custom User Scripts” (第 4 章 Configuration and Installation Options, ↑AutoYaST)中找到示例。autoupg.xml 样本文件中包含清理 GRUB 的 menu.lst 的样本脚本。确保脚本与您的特定设置匹配,且不删除实际要保留的内容!

22.5.3. 更多信息


SUSE Linux Enterprise Server 部署指南 11 SP3