更新、升级与回滚

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

更新 Silverblue

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

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

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

$ rpm-ostree upgrade

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

$ rpm-ostree upgrade --check

主要版本间升级

GNOME 商店可以帮助你完成 Silverblue 主要版本间的升级(例如从 Fedora 32 更新到 Fedora 33)。当然,你也可以使用 ostree 命令完成这一升级。

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

$ ostree remote refs fedora

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

Silverblue 33 的默认远程来源名称是 fedora。当然在某些情况下不一定是这样的,你可以使用 ostree remote list 查看系统的远程来源名称。
$ rpm-ostree rebase fedora:fedora/33/x86_64/silverblue

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

回滚

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

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

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

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

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