openSUSE:升级 Tumbleweed

跳转至: 导航, 搜索

本页中所指的“升级”就是:从一个旧的 openSUSE 发行版(比如 openSUSE 13.2 或者 Leap)迁移至 Tumbleweed。如果你已经安装了 Tumbleweed 并需要升级系统到最新的快照版本,详见:SDB:更新 Tumbleweed

官方支持两种升级方式:

  • 离线升级 —— 通过使用 DVD 来启动系统,并进行升级
  • 在线升级 —— 通过变更已经安装的 openSUSE 系统的软件源来实现在线安装和升级

离线升级相对来说更加安全,因为在此升级过程中没有已经运行的应用干扰。

在线升级相对来说更加方便一些,因为此升级过程可以在系统运行时进行,并且不需要下载完整的 DVD 镜像。

离线升级

离线升级只需要以下几步:

  1. 下载相应的 DVD 镜像,烧录到 DVD 光盘或者 U 盘
  2. 启动 DVD 光盘或者 U 盘
  3. 选择升级
  4. 按照向导操作,升级向导会检测你的安装设备并进行升级。

在线升级

注意: 经在线升级至 openSUSE Tumbleweed 20200826 或更新的快照版本的功能只支持 Leap 15.2 或更新版本。

通过以下三个步骤来实现从任何版本到 Tumbleweed 版本的升级:

  1. 在现有的系统中安装在线更新,如果有的话。
  2. 变更软件源到 Tumbleweed 的软件源
  3. 执行 zypper dup (这是命令 zypper dist-upgrade 的简写形式) 来升级全部的包文件

软件源

首先移除现有的软件源(备份现有软件源至 /etc/zypp/repos.d/old 路径下):

mkdir /etc/zypp/repos.d/old
mv /etc/zypp/repos.d/*.repo /etc/zypp/repos.d/old

然后添加新的软件源(具体操作取决于操作系统架构):

  • x86, x86_64:
zypper ar -f -c http://download.opensuse.org/tumbleweed/repo/oss repo-oss
zypper ar -f -c http://download.opensuse.org/tumbleweed/repo/non-oss repo-non-oss
zypper ar -f -c http://download.opensuse.org/tumbleweed/repo/debug repo-debug
zypper ar -f -c http://download.opensuse.org/update/tumbleweed/ repo-update
  • aarch64:
zypper ar -f -c http://download.opensuse.org/ports/aarch64/tumbleweed/repo/oss repo-oss
zypper ar -f -c http://download.opensuse.org/ports/aarch64/debug/tumbleweed/repo/oss/ repo-debug
zypper ar -f -c http://download.opensuse.org/ports/aarch64/update/tumbleweed/ repo-update

你也可以选择性的添加 sources 软件源,当然也可以添加要使用的 OBS 源:

  • x86, x86_64:
zypper ar -f -d -c http://download.opensuse.org/tumbleweed/repo/src-oss repo-src-oss
zypper ar -f -d -c http://download.opensuse.org/tumbleweed/repo/src-non-oss repo-src-non-oss
  • aarch64:
zypper ar -f -d -c http://download.opensuse.org/ports/aarch64/source/tumbleweed/repo/oss/ repo-src-oss

最终你会看到和下表类似的软件源列表:

# zypper lr -u
 # | Alias             | Name              | Enabled | Refresh | URI
 --+-------------------+-------------------+---------+---------+--------------------------------------------------------
 1 | repo-debug        | repo-debug        | Yes     | Yes     | http://download.opensuse.org/tumbleweed/repo/debug
 2 | repo-non-oss      | repo-non-oss      | Yes     | Yes     | http://download.opensuse.org/tumbleweed/repo/non-oss
 3 | repo-oss          | repo-oss          | Yes     | Yes     | http://download.opensuse.org/tumbleweed/repo/oss
 4 | repo-src-non-oss  | repo-src-non-oss  | No      | Yes     | http://download.opensuse.org/tumbleweed/repo/src-non-oss
 5 | repo-src-oss      | repo-src-oss      | No      | Yes     | http://download.opensuse.org/tumbleweed/repo/src-oss
 6 | update            | repo-update       | Yes     | Yes     | http://download.opensuse.org/update/tumbleweed/

update 源通常是空的,仅在当下一个版本的 Tumbleweed 快照延期同时又有重要的安全漏洞需要尽快修复的时候使用。

运行升级命令

当你完成了软件源的配置,就可以使用 zypper dup 来进行升级。

screen 会话中运行以下命令是一个好主意,以避免 zypper 在例如 X 停止工作的情况下被杀死。另外,你可以使用tmux 或 TTY 会话。
zypper cc -a && zypper ref && zypper dup --allow-vendor-change

现在可以放松一下等待升级完成,愉快的使用我们的滚动更新版本。

同时不要忘了订阅 mailinglist 来了解开发的最新信息。

如果升级失败:请刷新 zypper 源

有时 zypper 升级失败是因为找不到类似这样的文件:

Retrieving: monitoring-tools-1.14.0-4.2.x86_64.rpm ......................................................................................................[error]
File './x86_64/monitoring-tools-1.14.0-4.2.x86_64.rpm' not found on medium 'http://download.opensuse.org/repositories/server:/monitoring/openSUSE_Tumbleweed/'

当你进入 http://download.opensuse.org/repositories/server:/monitoring/openSUSE_Tumbleweed/x86_64/ 时发现多个版本的 monitoring-tools-*.x86_64.rpm 文件,上述错误通常意味着你的 zypper 本地配置与软件源不同步。请通过 zypper refresh 来解决, 使用如下的命令组合来正确升级:

zypper refresh --force
zypper dist-upgrade