跳转到内容跳转到页面导航:上一页 [访问键 p]/下一页 [访问键 n]
适用于 openSUSE Leap 15.6

12 升级系统和系统更改 编辑源文件

摘要

您可以在不完全重新安装的情况下升级现有系统。更新系统或其部分内容有两种类型:更新单个软件包升级整个系统。更新单个软件包在第 9 章,安装或删除软件第 11 章,YaST 在线更新中介绍。以下章节讨论了两种升级系统的方法——请参阅第 12.1.3 节,“使用 YaST 升级”第 12.1.4 节,“使用 Zypper 进行发行版升级”

12.1 升级系统 编辑源文件

Important
重要提示:openSUSE Leap 15.6仅提供 64 位版本

openSUSE Leap 15.6仅提供 64 位版本。不支持将 32 位安装升级到 64 位。请遵循第 1 章,安装快速入门第 3 章,安装步骤中的说明,在您的计算机上安装openSUSE Leap,或考虑切换到 openSUSE Tumbleweed

发行说明捆绑在安装程序中,您也可以在线阅读它们,网址为 openSUSE Leap 发行说明

软件往往会随着版本的更新而“增长”。因此,请在使用df之前查看可用的分区空间。如果您怀疑磁盘空间不足,请在更新之前保护您的数据并重新分区您的系统。关于每个分区应有多少空间没有普遍规则。空间要求取决于您的特定分区配置文件、所选软件和系统版本号。

12.1.1 准备工作 编辑源文件

在升级之前,将旧的配置文件复制到单独的介质(例如可移动硬盘或 USB 闪存驱动器)以保护数据。这主要适用于存储在/etc中的文件以及/var中的某些目录和文件。您可能还需要将/homeHOME目录)中的用户数据写入备份介质。以root身份备份此数据。只有root才具有所有本地文件的读取权限。

在开始更新之前,请记下根分区。命令df /列出根分区的设备名称。在示例 12.1,“使用df -h列出”中,要记下的根分区是/dev/sda3(挂载为/)。

示例 12.1:使用 df -h 列出
Filesystem     Size  Used Avail Use% Mounted on
/dev/sda3       74G   22G   53G  29% /
udev           252M  124K  252M   1% /dev
/dev/sda5      116G  5.8G  111G   5% /home
/dev/sda1       39G  1.6G   37G   4% /windows/C
/dev/sda2      4.6G  2.6G  2.1G  57% /windows/D

12.1.2 可能出现的问题 编辑源文件

如果您将默认系统从以前的版本升级到此版本,YaST 将计算必要的更改并执行它们。根据您的自定义设置,某些步骤(或整个升级过程)可能会失败,您必须恢复备份数据。在开始系统更新之前,请检查以下问题。

12.1.2.1 检查 /etc 中的 passwd 和 group 编辑源文件

在升级系统之前,请确保/etc/passwd/etc/group不包含任何语法错误。为此,以root身份启动验证实用程序pwckgrpck以消除任何报告的错误。

12.1.2.2 关闭虚拟机 编辑源文件

如果您的计算机充当 KVM 或 Xen 的 VM 主机服务器,请确保在更新之前正确关闭所有正在运行的 VM 来宾。否则,您可能无法在更新后访问来宾。

12.1.2.3 PostgreSQL 编辑源文件

在更新PostgreSQL (postgres) 之前,请转储数据库。请参阅pg_dump的手册页。只有在您在更新之前实际使用过 PostgreSQL 时才需要这样做。

12.1.3 使用 YaST 升级 编辑源文件

遵循第 12.1.1 节,“准备工作”中概述的准备过程,现在您可以升级系统了

  1. openSUSE LeapDVD 插入驱动器,然后重新启动计算机以启动安装程序。在具有传统 BIOS 的计算机上,您将看到下面显示的图形启动屏幕。配备 UEFI 的计算机使用略有不同的启动屏幕。UEFI 计算机上的安全启动受支持。

    使用F2更改安装程序的语言。将自动选择相应的键盘布局。请参阅第 2.2.1 节,“具有传统 BIOS 的计算机上的启动屏幕”第 2.2.2 节,“配备 UEFI 的计算机上的启动屏幕”,了解有关更改启动参数的更多信息。

  2. 在启动屏幕上选择升级,然后按Enter。这将启动系统并加载openSUSE Leap安装程序。不要选择安装

  3. 语言和键盘布局将初始化为在启动屏幕上选择的语言设置。如有必要,您可以在此处更改它们。

    阅读许可协议。它以您在启动屏幕上选择的语言呈现。可用的许可证翻译。使用下一步继续。

  4. YaST 确定是否存在多个根分区。如果只有一个,请继续下一步。如果有多个,请选择正确的分区并使用下一步确认(在第 12.1.1 节,“准备工作”中示例中选择了/dev/sda3)。YaST 读取此分区上的旧fstab以分析和挂载其中列出的文件系统。

    Tip
    提示:发行说明

    从现在开始,可以在安装过程中的任何屏幕上通过选择发行说明来查看发行说明。

  5. YaST 显示以前使用的存储库列表。默认情况下,将删除所有存储库。如果您没有添加任何自定义存储库,请不要更改设置。升级的软件包将从 DVD 安装,您可以选择在下一步中启用默认在线存储库。

    如果您添加了自定义存储库,例如来自 openSUSE 构建服务,您有两个选择

    • 将存储库保留在已删除状态。从该存储库安装的软件将在升级期间被删除。如果未提供与新的 openSUSE Leap 版本匹配的存储库版本,请使用此方法。

    • 更新并启用存储库。如果为存储库提供了与新的 openSUSE Leap 版本匹配的版本,请使用此方法。通过单击列表中的存储库然后更改来更改其 URL。之后,通过单击切换状态将其设置为启用来启用存储库。

    除非您确定它们也将与新的 openSUSE 版本一起工作,否则不要使用与以前的版本匹配的存储库。否则,系统可能会不稳定或无法正常工作。

  6. 如果可用互联网连接,您现在可以激活可选的在线存储库。请启用您之前启用过的所有存储库,以确保正确升级所有软件包。强烈建议启用更新存储库——这将确保您获得最新的软件包版本,包括所有安全更新和修复。

    在继续操作后,您需要使用下一步确认在线存储库的许可协议。

  7. 使用安装设置屏幕查看并(如有必要)更改几个建议的安装设置。为每个设置列出了当前配置。要更改它,请单击标题。

    系统

    通过单击系统查看详细的硬件信息。在结果屏幕中,您还可以更改内核设置——请参阅第 3.11.7 节,“系统了解更多信息。

    更新选项

    默认情况下,YaST 将执行基于模式选择的完整使用安装新软件和功能进行更新。每个模式包含用于特定功能(例如,Web 和 LAMP 服务器或打印服务器)的几个软件软件包。

    您可以在此处更改软件包选择或将更新模式更改为仅更新已安装的软件包

    软件包

    您可以在软件包屏幕上进一步调整软件包选择。在这里,您可以选择模式,还可以列出其内容并搜索单个软件包。请参阅第 9 章,安装或删除软件了解更多信息。

    如果您打算增强您的系统,建议先完成升级,然后再安装其他软件。

    备份

    您还可以选择备份各种系统组件。选择备份会减慢升级过程。如果您没有最近的系统备份,请使用此选项。

    语言

    本节允许您更改主要语言并配置其他辅助语言。您可以选择将键盘布局和时区调整为所选主要语言。

    键盘布局

    您可以在此处更改键盘布局并调整其他专家键盘设置

    启动

    本节显示启动加载程序配置。除非确实需要,否则不建议更改默认设置。有关详细信息,请参阅参考手册,第 12 章“启动加载程序 GRUB 2”

  8. 安装设置屏幕上完成系统配置后,单击更新。根据您的软件选择,您可能需要在安装确认屏幕弹出之前同意许可协议。到此为止,您的系统没有发生任何更改。在第二次单击更新后,升级过程开始。

一旦完成基本的升级安装,YaST 将重新启动系统。最后,YaST 会更新剩余的软件(如果有),并在需要时显示发行说明。

12.1.4 使用 Zypper 进行发行版升级 编辑源文件

使用zypper命令行实用程序,您可以升级到下一个版本的发行版。最重要的是,您可以从正在运行的系统启动系统升级过程。

此功能对希望运行远程升级或在许多类似配置的系统上进行升级的高级用户很有吸引力。

12.1.4.1 使用 Zypper 准备升级 编辑源文件

为了避免在使用zypper进行升级过程中出现意外错误,请尽量减少风险并存的配置。

  • 尽可能关闭应用程序并停止不必要的服务,然后注销所有普通用户。

  • 在开始升级之前禁用第三方仓库,或者降低这些仓库的优先级,以确保默认系统仓库中的软件包优先获取。升级完成后再次启用它们,并编辑它们的版本字符串以匹配升级后正在运行的系统的发行版版本号。

12.1.4.2 升级过程 编辑源文件

Warning
警告:检查您的系统备份

在实际开始升级过程之前,请检查您的系统备份是否是最新的并且可以恢复。这尤其重要,因为您需要手动执行以下许多步骤。

程序 zypper 支持长命令名和短命令名。例如,您可以将 zypper install 缩写为 zypper in。在以下文本中,使用了短命令形式。

  1. 运行在线更新以确保软件管理堆栈是最新的

    > sudo zypper patch
  2. 配置您要用作更新源的仓库。正确配置这一点至关重要。在以下步骤中使用的仓库的 名称 可能因您的操作系统定制而异。有关更多信息,请参阅 “参考”手册,第 2章“使用命令行工具管理软件”,第 2.1.6节“使用 Zypper 管理仓库”)

    要查看您当前的仓库,请输入

    > zypper --releasever=15.6 lr -u
  3. 在上一条命令的结果中,检查最后一列 (URL)。所有仓库链接都应包含 15.6 作为版本号。如果不是这样,则版本号缺失或硬编码在 /etc/zypp/repos.d/ 下的仓库定义文件中。要修复此问题,请按以下步骤操作

    1. 确定仓库是否仍然需要。如果不需要,请删除它

      > sudo zypper rr NAME

      删除您不再需要的任何仓库。

    2. 对于没有版本号的第三方仓库,请检查仓库提供程序是否支持 openSUSE Leap 15.6。如果是,请保留仓库。如果不是,请按照上述说明删除它。

    3. 您想要保留的所有剩余仓库都需要更新到新版本。为了允许将来无需修改仓库即可进行更新,请将硬编码的版本号替换为变量 $releasever。如果 15.3 被硬编码,请运行

      > sudo sed -i 's/15.3/$releasever/' /etc/zypp/repos.d/*.repo

      对每个硬编码的版本号重复此步骤。

      使用您的浏览器检查新的仓库 URL 是否正确。如果不是,则可能尚未存在仓库的新版本。停用仓库,稍后再试。

      > sudo zypper mr -d NAME

      如果所有依赖项仍然满足,则停用的仓库中的软件包不会被删除。

  4. 最后,再次检查当前的仓库配置

    > sudo zypper --releasever=15.6 lr -u

    现在,所有仓库都应指向 15.6 版本(除了支持新发布的没有版本信息的第三方仓库)。仍然指向旧版本的仓库至少应被禁用(Enabled 列需要显示 No)。

  5. 通过运行以下命令更新仓库元数据

    > sudo zypper --releasever=15.6 ref
  6. 开始发行版升级,这将把您的系统提升到新版本

    > sudo zypper --releasever=15.6 dup

    根据软件选择,您可能需要批准一个或多个许可证。检查命令的输出。如果一切正常,请使用 y 批准。

  7. 最后,重新启动您的机器以启动到新的 openSUSE Leap 版本

    > sudo shutdown -r now

您可以使用 zypper dup 升级您的系统。在使用此命令时,请注意以下事项

  • 如果您正在使用 zypper dup 并且没有足够的磁盘空间,则升级将失败。在这种情况下,使用 --pkg-cache-dir DIR 设置替代软件包缓存目录。

  • 所有具有未解决依赖项的软件包都将被删除。只要满足了它们的依赖项,从禁用的仓库安装的软件包将被保留。在仓库中不再可用的软件包被视为孤立软件包。如果无法满足其依赖项,则会卸载这些软件包。如果可以满足,则这些软件包将保持安装状态。

  • zypper dup 确保所有已安装的软件包来自可用的仓库之一。它不考虑版本或架构,但默认情况下使用 --no-allow-vendor-change 选项来防止更改已安装软件包的供应商。如果您启用了第三方仓库,一些仓库可能会在升级过程中中断。在这种情况下,请使用 --allow-vendor-change 代替。

12.1.5 更新单个软件包 编辑源文件

无论您的整体更新环境如何,您始终可以更新单个软件包。但是,从现在开始,您有责任确保您的系统保持一致。

使用 YaST 软件管理工具更新软件包,如 第 9章,安装或删除软件 中所述。根据您的需要从 YaST 软件包选择列表中选择组件。如果存在软件包的新版本,则已安装版本和可用版本的版本号将以蓝色在 已安装 (可用) 列中列出。如果您选择对系统的整体运行至关重要的软件包,YaST 会发出警告。仅应在更新模式下更新此类软件包。例如,许多软件包包含 共享库。在运行系统上更新这些程序和应用程序可能会导致系统不稳定。

12.2 更多信息 编辑源文件

各种版本的常见问题和特殊问题会在网上发布,以便在发现时进行识别。请参阅以下链接。可以使用 YaST 在线更新访问单个软件包的重要更新。有关更多信息,请参阅 第 11章,YaST 在线更新

请参阅 产品亮点 (https://en.opensuse.net.cn/Product_highlights 和 openSUSE wiki 上的 Bug 文章,网址为 https://en.opensuse.net.cn/openSUSE:Most_annoying_bugs,以获取有关最新更改和问题的更多信息。

打印此页面