标签 Silverblue 下的文章

Fedora Silverblue 是 一款基于 Fedora Linux 构建的面向桌面的操作系统。这款操作系统非常适合日常使用、开发和容器化的工作流程。它有 许多优势,例如可以在发生问题时轻松回滚操作。如果你想在 Fedora Silverblue 系统上更新或将系统 重定位 rebase 到 Fedora Linux 39,本文会提供帮助。文章不仅会指导你执行操作,还会教你如何在遇到意外情况时撤销操作。

更新你目前的系统

在实际重定位至 Fedora Linux 39 前,你需要先安装所有待处理的更新。你可以在终端中使用下面的命令:

$ rpm-ostree update

或者你也可以通过 GNOME “软件”应用安装更新,然后重新启动系统。

使用 GNOME “软件” 重定位

在 GNOME “软件”应用的更新页面上,你可以看到 Fedora Linux 的新版本已经可以使用。

首先,你需要点击 “ 下载 Download ” 按钮来下载新的操作系统镜像。这个过程可能需要一些时间。完成后,你会发现更新已经准备好进行安装。

接下来,点击 “ 重新启动 & 升级 Restart & Upgrade ” 按钮。这个过程只需要几分钟,一旦更新完成,计算机将会重新启动。重启后,你会看到崭新的 Fedora Linux 39 的系统环境,看起来很简单,是吧?

使用终端进行重定位

如果你更喜欢在终端操作,那么这部分指南就是为你准备的。

首先你需要确认 39 版本是否已经可以使用:

$ ostree remote refs fedora

在命令输出中你应该看到如下内容:

fedora:fedora/39/x86_64/silverblue

如果你想保留当前的部署(这意味着这个部署将会持续在 GRUB 中显示为一个选项,直到你手动移除它),你可以通过运行下面的命令实现:

# 0 是在 rpm-ostree 状态中的条目位置
$ sudo ostree admin pin 0

如果你想移除已经固定的部署,你可以使用下面的命令:

# 2 是在 rpm-ostree 状态中的条目位置
$ sudo ostree admin pin --unpin 2

然后,将你的系统重定位至 Fedora Linux 39 镜像。

$ rpm-ostree rebase fedora:fedora/39/x86_64/silverblue

最后,重启你的电脑,启动进入 Fedora Linux 39 版本。

如何进行回滚

如果遇到任何问题(例如,如果你无法启动 Fedora Linux 39),回滚是非常容易的。在系统启动时,在 GRUB 菜单中选择 Fedora Linux 39 之前的版本,然后你的系统就会启动这个更早的版本而非 Fedora Linux 39。如果你在启动过程中看不到 GRUB 菜单,那么在启动时尝试按下 ESC 键。如果你想让更早版本的选择永久生效,你可以使用下面的命令:

$ rpm-ostree rollback

现在,你已经了解如何将 Fedora Silverblue 系统重定位到 Fedora Linux 39,以及如何进行系统回滚了。那么何不今天就试试看呢?

常见问题解答

在每篇关于重定位 Silverblue 到新版本的文章的评论中,总会有相似的问题,因此我会在这个部分尝试解答这些问题。

问题:在 Fedora 的重定位过程中我能跳过某些版本吗?例如直接从 Fedora 37 Silverblue 更新到 Fedora 39 Silverblue。

答案:虽然有时可能可以在重定位过程中跳过某些版本,但并不推荐这样操作。你应当始终更新到紧邻的新版本(例如从 38 更新到 39),以避免不必要的错误。

问题:我安装了 rpm-fusion ,在重定位过程中出现错误,我应当怎样进行重定位?

答案:如果你在 Silverblue 安装上加入了 rpm-fusion,你在重定位前应当执行以下操作:

rpm-ostree update \
    --uninstall rpmfusion-free-release \
    --uninstall rpmfusion-nonfree-release \
    --install rpmfusion-free-release \
    --install rpmfusion-nonfree-release

执行完上述操作后,你可以按照本篇博文的步骤完成重定位过程。

问题:这个指南是否适用于其他的 ostree 版本(例如 Kinoite, Sericea)?

答案:是的,你可以照着本指南的 使用终端进行重定位 部分的操作来完成所有的 Fedora ostree 版本的重定位过程。只需要使用对应的分支即可。例如对于 Kinoite,你可以使用

fedora:fedora/39/x86_64/kinoite

而非

fedora:fedora/39/x86_64/silverblue

(题图:MJ/71150afc-ae44-48f3-8689-e86758e07b1e)


via: https://fedoramagazine.org/how-to-rebase-to-fedora-linux-39-on-silverblue/

作者:Michal Konečný 选题:lujun9972 译者:ChatGPT 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

Fedora Silverblue 是 基于 Fedora Linux 构建的桌面操作系统。它非常适合日常使用、开发和基于容器的工作流程。它提供了 众多优势,例如能够在出现任何问题时回滚。如果你想在 Fedora Silverblue 系统上更新或变基到 Fedora Linux 37(这些说明与 Fedora Kinoite 类似),本文将告诉你如何操作。它不仅向你展示了该做什么,而且还向你展示了在发生不可预见的事情时如何恢复。

在实际对 Fedora Linux 37 进行变基之前,你应该应用任何待定的更新。在终端中输入以下内容:

$ rpm-ostree update

或通过 GNOME 软件 Software 应用安装更新并重新启动。

使用 GNOME 软件应用变基

在更新页面上,GNOME 软件 Software 应用向你显示有新版本的 Fedora Linux 可用。

Fedora 37 更新可用

你需要做的第一件事是下载新镜像,因此请点击“ 下载 Download ”按钮。这需要一些时间。完成后,你将看到更新已准备好安装。

Fedora 37 更新准备好安装

点击 “ 重启并更新 Restart & Upgrade ” 按钮。此步骤只需要几分钟,最后计算机将重启。重启后,你将获得全新的 Fedora Linux 37 版本。很简单,不是吗?

使用终端变基

如果你喜欢在终端中完成所有操作,那么本指南的这一部分适合你。

使用终端变基到 Fedora Linux 37 很容易。首先,检查 37 分支是否可用:

$ ostree remote refs fedora

你应该在输出中看到以下内容:

fedora:fedora/37/x86_64/silverblue

如果你想置顶当前部署(该部署将作为 GRUB 中的选项保留,直到你删除它),你可以通过运行以下命令来完成:

# 0 is entry position in rpm-ostree status
$ sudo ostree admin pin 0

要删除置顶部署,请使用以下命令:

# 2 is entry position in rpm-ostree status
$ sudo ostree admin pin --unpin 2

其中 2 是 rpm-ostree 状态中的位置。

接下来,将你的系统重新设置为 Fedora Linux 37 分支。

$ rpm-ostree rebase fedora:fedora/37/x86_64/silverblue

最后,要做的最后一件事是重新启动计算机并引导至 Fedora Linux 37。

如何回滚

如果发生任何不好的事情,例如,如果你根本无法启动到 Fedora Linux 37,这很容易回滚。在引导时选择 GRUB 菜单中的上一个条目(如果你没有看到它,请尝试在引导过程中按 ESC),你的系统将以切换到 Fedora Linux 37 之前的先前状态启动。要使此更改永久生效,请使用以下命令:

$ rpm-ostree rollback

就是这样。现在你知道如何将 Fedora Silverblue 变基到 Fedora Linux 37 并回滚。那么为什么不在今天做呢?


via: https://fedoramagazine.org/how-to-rebase-to-fedora-linux-37-on-silverblue/

作者:Michal Konečný 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

这篇文章将教你如何使用 rpm-ostree 数据库及其子命令检查更新、检查更改的软件包和阅读更新日志。

这些命令将在 Fedora Silverblue 上进行演示,并且应该在任何使用 rpm-ostree 的操作系统上工作。

简介

假设你对不可更改的系统感兴趣。在基于容器技术构建用例时使用只读的基本系统听起来非常有吸引力,它会说服你选择使用 rpm-ostree 的发行版。

你现在发现自己在 Fedora Silverblue(或其他类似的发行版)上,你想检查更新。但你遇到了一个问题。虽然你可以通过 GNOME Software 找到 Fedora Silverblue 上的更新包,但你实际上无法阅读它们的更新日志。你也不能 使用 dnf updateinfo 在命令行上读取它们,因为主机系统上没有 DNF。

那么,你应该怎么做呢?嗯,rpm-ostree 有一些子命令可以在这种情况下提供帮助。

检查更新

第一步是检查更新。只需运行:

$ rpm-ostree upgrade --check
...
AvailableUpdate:
        Version: 34.20210905.0 (2021-09-05T20:59:47Z)
         Commit: d8bab818f5abcfb58d2c038614965bf26426d55667e52018fcd295b9bfbc88b4
   GPGSignature: Valid signature by 8C5BA6990BDB26E19F2A1A801161AE6945719A39
  SecAdvisories: 1 moderate
           Diff: 4 upgraded

请注意,虽然它没有在输出中告诉更新的软件包,但它显示了更新的提交为 d8bab818f5abcfb58d2c038614965bf26426d55667e52018fcd295b9bfbc88b4。这在后面会很有用。

接下来你需要做的是找到你正在运行的当前部署的提交。运行 rpm-ostree status 以获得当前部署的 基提交 BaseCommit

$ rpm-ostree status
State: idle
Deployments:
● fedora:fedora/34/x86_64/silverblue
                   Version: 34.20210904.0 (2021-09-04T19:16:37Z)
                BaseCommit: e279286dcd8b5e231cff15c4130a4b1f5a03b6735327b213ee474332b311dd1e
              GPGSignature: Valid signature by 8C5BA6990BDB26E19F2A1A801161AE6945719A39
       RemovedBasePackages: ...
           LayeredPackages: ...
...

对于这个例子,基提交是e279286dcd8b5e231cff15c4130a4b1f5a03b6735327b213ee474332b311dd1e

现在你可以用 rpm-ostree db diff [commit1] [commit2] 找到这两个提交的差异。在这个命令中,[commit1] 将是当前部署的基提交,[commit2] 将是升级检查命令中的提交。

$ rpm-ostree db diff e279286dcd8b5e231cff15c4130a4b1f5a03b6735327b213ee474332b311dd1e d8bab818f5abcfb58d2c038614965bf26426d55667e52018fcd295b9bfbc88b4
ostree diff commit from: e279286dcd8b5e231cff15c4130a4b1f5a03b6735327b213ee474332b311dd1e
ostree diff commit to:   d8bab818f5abcfb58d2c038614965bf26426d55667e52018fcd295b9bfbc88b4
Upgraded:
  soundtouch 2.1.1-6.fc34 -> 2.1.2-1.fc34

diff 输出显示 soundtouch 被更新了,并指出了版本号。通过在前面的命令中加入 -changelogs 来查看更新日志:

$ rpm-ostree db diff e279286dcd8b5e231cff15c4130a4b1f5a03b6735327b213ee474332b311dd1e d8bab818f5abcfb58d2c038614965bf26426d55667e52018fcd295b9bfbc88b4 --changelogs
ostree diff commit from: e279286dcd8b5e231cff15c4130a4b1f5a03b6735327b213ee474332b311dd1e
ostree diff commit to:   d8bab818f5abcfb58d2c038614965bf26426d55667e52018fcd295b9bfbc88b4
Upgraded:
  soundtouch 2.1.1-6.fc34.x86_64 -> 2.1.2-1.fc34.x86_64
    * dom ago 29 2021 Uwe Klotz <[email protected]> - 2.1.2-1
    - Update to new upstream version 2.1.2
      Bump version to 2.1.2 to correct incorrect version info in configure.ac

    * sex jul 23 2021 Fedora Release Engineering <[email protected]> - 2.1.1-7
    - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild

这个输出显示了提交说明以及版本号。

总结

使用 rpm-ostree db,你现在可以拥有相当于 dnf check-updatednf updateinfo 的功能。

如果你想检查你所安装的更新的详细信息,这将非常有用。


via: https://fedoramagazine.org/how-to-check-for-update-info-and-changelogs-with-rpm-ostree-db/

作者:Mateus Rodrigues Costa 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

Silverblue 是一个建立在 Fedora 之上的桌面操作系统。它非常适合日常使用、开发和基于容器的工作流程。它提供了众多的优势,例如在出现任何问题时能够回滚。如果你想在你的 Silverblue 系统上更新到 Fedora 33,这篇文章会告诉你如何做。它不仅告诉你该怎么做,还告诉你如果发生了不可预见的事情时该如何回退。

在实际做变基到 Fedora 33 之前,你应该应用任何挂起的更新。在终端中输入以下内容:

$ rpm-ostree update

或通过 GNOME 软件中心安装更新并重启。

使用 GNOME 软件中心变基

GNOME 软件中心会在更新界面显示有新版本的 Fedora 可用。

Fedora 33 is available

首先你需要做的是下载新镜像,点击 “Download” 按钮。这将需要一些时间,完成后你会看到更新已经准备好安装了。

Fedora 33 is ready for installation

点击 “Install” 按钮。这一步只需要几分钟,然后会提示你重启电脑。

Restart is needed to rebase to Fedora 33 Silverblue

点击 “Restart” 按钮就可以了。重启后,你将进入新的 Fedora 33 版本。很简单,不是吗?

使用终端变基

如果你喜欢在终端上做所有的事情,那么接下来的指南就适合你。

使用终端变基到 Fedora 33 很简单。首先,检查 33 版本分支是否可用:

$ ostree remote refs fedora

你应该在输出中看到以下内容:

fedora:fedora/33/x86_64/silverblue

接下来,将你的系统变基到 Fedora 33 分支。

$ rpm-ostree rebase fedora:fedora/33/x86_64/silverblue

最后要做的是重启你的电脑并启动到 Fedora 33。

如何回滚

如果有什么不好的事情发生。例如,如果你无法启动到 Fedora 33,那很容易回滚回去。在启动时选择 GRUB 菜单中的前一个条目,你的系统就会以切换到 Fedora 33 之前的状态启动。要使这一改变永久化,请使用以下命令:

$ rpm-ostree rollback

就是这样了。现在你知道如何将 Silverblue 变基为 Fedora 33 并回滚了。那为什么不在今天就做呢?


via: https://fedoramagazine.org/how-to-rebase-to-fedora-33-on-silverblue/

作者:Michal Konečný 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

Fedora Silverblue 在 Fedora 世界内外越来越受欢迎。因此,根据社区的反馈,以下是关于这个项目的一些有趣问题的答案。如果你有任何其他与 Silverblue 相关的问题,请在评论区留言,我们会在未来的文章中回答。

Silverblue 是什么?

Silverblue 是新一代桌面操作系统的代号,之前被称为 Atomic Workstation。该操作系统是通过利用 rpm-ostree 项目创建的映像来交付的。这种系统的主要优点是速度、安全性、原子更新和不变性。

“Silverblue” 到底是什么意思?

“Team Silverblue” 或简称 “Silverblue”,没有任何隐藏的含义。该项目以前被称为 Atomic Workstation,大约两个月后更名时选中了这个名字。在这个过程中,审查过 150 多个单词或单词组合。最终选择了 “Silverblue”,因为它有一个可用的域名以及社交网络账号。人们可以把它看成是 Fedora 的蓝色品牌的一个新的品牌形象,可以用在诸如“加油,Silverblue 团队!”或“想加入该团队,改进 Silverblue 吗?”这样的短语中。

何谓 ostree?

OSTree(或 libostree)是一个项目,它结合了一个类似 Git 的提交和下载可引导文件系统树的模型,以及用于部署它们和管理引导加载程序配置的层。OSTree 由 rpm-ostree 使用,这是 Silverblue 使用的一个基于包/镜像的混合系统。它原子化地复制了一个基础操作系统,并允许用户在需要时在基础操作系统之上“层叠”传统的 RPM。

为何使用 Silverblue?

因为它可以让你专注于你的工作,而不是你正在运行的操作系统。因为系统的更新是原子式的,所以它更稳健。你唯一需要做的事情就是重新启动到新的镜像中。此外,如果当前启动的镜像有什么问题,你可以很容易地重启/回滚到之前可以工作的镜像,如果有的话。如果没有,你可以使用 ostree 命令下载并启动过去生成的任何其他镜像。

另一个好处是可以在不同的分支(或者用旧的语境说就是不同的 Fedora 风味版本)之间轻松切换。你可以轻松地尝试 Rawhideupdates-testing 分支,然后返回到包含当前稳定版本的分支。另外,如果你想尝试一些新奇的东西,也可以考虑试试 Silverblue。

不可变的操作系统有什么好处?

其中一个主要的好处是安全。基础操作系统是以只读的形式挂载的,因此不能被恶意软件修改。唯一可以改变系统的方法是通过 rpm-ostree 实用程序。

另一个好处是健壮性。普通用户几乎不可能在不小心或无意中删除了一些系统库后,导致操作系统回到不启动或无法正常工作的状态。试着想想你过去的这些经历,就可以明白 Silverblue 可以如何帮助你。

如何在 Silverblue 中管理应用程序和包?

对于图形化用户界面的应用程序,建议使用 Flatpak —— 如果应用程序是以 Flatpak 的形式提供的话。用户可以选择来自 Fedora 的 Flatpak,和从 Fedora 包及 Fedora 自己的基础架构中构建的 Flatpak,或者是目前有更广泛的交付品的 Flathub。用户可以通过已经支持 Fedora Silverblue 的 GNOME “软件”轻松安装它们。

用户首先发现的一件事就是操作系统中没有预装 dnf。主要原因是它不能在 Silverblue 上工作 —— 它的部分功能被 rpm-ostree 命令所取代。用户可以通过使用 rpm-ostree install PACKAGE 来层叠传统的软件包。但只有在没有其他方法的情况下,才应该使用这种方式。这是因为从存储库中提取新的系统镜像时,每次更改系统镜像时都必须重新构建系统镜像,以容纳层叠的包或从基础操作系统中删除及替换为其他版本的包。

Fedora Silverblue 自带的默认 GUI 应用程序集是基础操作系统的一部分。团队正在努力将它们移植到 Flatpak 上,这样它们就可以通过这种方式分发。其中一个好处是,基础操作系统将变得更小,更容易维护和测试,用户可以更容易修改他们的默认安装环境。如果你想看一下它是怎么做的,或者有什么帮助,可以看看官方的文档

什么是 Toolbox?

Toolbox 是一个让普通用户可以轻松使用容器的项目。它通过使用 podman 的无 root 容器环境来实现。Toolbox 可以让你在常规的 Fedora 环境中轻松、快速地创建一个容器,你可以在这个容器上折腾或开发,而与你的操作系统分离。

Silverblue 有路线图吗?

形式上没有,因为我们正在关注在测试过程中发现的问题和社区的反馈。我们目前正在使用 Fedora 的 Taiga 来进行规划。

Silverblue 的发布周期是多少?

它和普通的 Fedora Workstation 是一样的。每 6 个月发布一次新版本,支持期为 13 个月。团队计划每两周(或更长时间)发布一次更新,而不是像现在这样每天发布一次。这样一来,更新可以在发送给其他用户之前,由 QA 和社区志愿者进行更彻底的测试。

不可变操作系统的未来前景如何?

从我们的角度来看,桌面的未来会走向到不可变的操作系统。这对用户来说是最安全的,Android、ChromeOS、ChromeOS、最近的 macOS Catalina 全都在底层采用了这种方式。而对于 Linux 桌面来说,一些第三方软件期望写到操作系统的问题还是存在的。HP 打印机驱动程序就是一个很好的例子。

另一个问题是系统中的部分软件如何分发和安装。字体就是一个很好的例子。目前在 Fedora 中,它们是以 RPM 包的形式分发的。如果你想使用它们,你必须层叠它们,然后重新启动到新创建的包含它们的镜像中。

标准版 Workstation 的前景如何?

Silverblue 有可能会取代普通的 Workstation 版本。但 Silverblue 要提供与 Workstation 版本相同的功能和用户体验还有很长的路要走。在此期间,这两款桌面产品将同时推出。

Atomic Workstation 或 Fedora CoreOS 与这些有什么关系?

Atomic Workstation 是在更名为 Fedora Silverblue 之前的项目名称。

Fedora CoreOS 是一个不同但相似的项目。它与 Silverblue 共享一些基本技术,如 rpm-ostreetoolbox 等。尽管如此,CoreOS 是一个更简约、专注于容器、自动更新的操作系统。


via: https://fedoramagazine.org/what-is-silverblue/

作者:Tomáš Popela 选题:lujun9972 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出