更新、升级与回滚

为 Silverblue 安装更新是既方便又快捷的。万一更新出现问题时,Silverblue 还有回滚功能。

更新 Silverblue

Silverblue 的更新已经集成到了桌面中;当更新可用你就会收到相关的通知。在默认设置下更新会被自动下载(在 GNOME 商店中可以修改这一设定)。

当更新准备就绪,只需要重启系统就可以使用新版本。重启时不需要耗费额外的时间以应用更新。

当然,你也可以在命令行下执行更新:

$ rpm-ostree upgrade

这会检查更新并在更新可用时立刻获取它们。如果你只希望检查更新而不希望执行下载:

$ rpm-ostree upgrade --check

主要版本间升级

Upgrading between major versions (such as from Fedora 33 to Fedora 34) can be completed using the Software application. Alternatively, Silverblue can be upgraded between major versions using the ostree command.

首先,确认你需要的分支是可用的。要列出所有可用的分支,执行:

$ ostree remote refs fedora

在确认分支的名称后,就可以继续了。假设你希望升级到 Silverblue 33,那么执行:

Currently, the default remote for Silverblue 34 is named fedora. If this is not the case for your system, you can find out the remote name by issuing: ostree remote list.
$ rpm-ostree rebase fedora:fedora/34/x86_64/silverblue

版本间的升级和普通的更新是非常相似的:新版系统被下载到后台,你只需重启系统就可以启动新系统。

回滚

Silverblue 保留了上一版系统的备份,你可以随时从新版系统切换回去。尽管通常情况我们用不上这一特性,但当更新或版本间升级出现问题,回滚功能就会派上用场。

回滚到旧版本有两种方法:

  1. 临时回滚:要临时地切换到上一版的系统,只需要重启并在启动选单(也就是 GRUB 引导菜单)中选择旧版系统就可以了。

  2. 永久回滚:要回滚到旧版本并希望回滚持续生效,你可以使用 rpm-ostree rollback 命令。

当回滚完成后,在技术角度你就回到了旧版的系统,这时候系统可能会提示你更新。更新会导致回滚操作被撤销,所以要使回滚操作持续生效就得避免更新。