开始使用

Silverblue 的设计简单明了,一般不需要专业知识就可以上手。然而 Silverblue 的构建方式与其它操作系统不同,因此你可能需要先熟悉一下这个系统。

相比 Fedora Workstation 和其它基于软件包的发行版,Silverblue 有三种方式安装软件,包括:

  • Flatpak:这是在 Silverblue 安装图形化应用的主要方式。

  • Toolbox:安装命令行应用的主要方式,也是开发调试主要使用的工具。

  • 软件包层叠:rpm-ostree 使得混合映像/软件包系统成为可能。在默认设置下,系统以纯映像模式运行,而软件包层叠为虚拟化、驱动等提供了支持。

要想了解有关 Flatpak软件包层叠 有关的更多信息,请继续阅读。

要想了解 Toolbox,有 专门的页面 可供查阅。

Flatpak

Flatpak 是 Silverblue 安装应用程序的主要方式之一。要了解 Flatpak 是什么,可以前往 flatpak.org 。Fedora Silverblue 缺省提供了 Flatpak 的支持,Fedora 也提供了一个小但在持续增长的软件集供用户选择与安装。

Flatpak 应用程序的另一主要来源是 Flathub ,Flathub 提供了大量的 Flatpak 应用程序供用户选用。

初始化 Flathub

要在 Fedora Silverblue 启用 Flathub 支持,打开 适用于 Fedora 的 Flathub 设置页 并点击 Flathub repository file 按钮以下载 Flathub 配置文件。

sfg flathub fedora
Figure 1. Fedora 快速设置页

此时会有弹窗供你指定下载选项,选择『打开,通过』一栏并使用『软件安装(默认)』,点击『确定』开始下载。

sfg flathub download
Figure 2. Flathub 下载选项

当下载完成后,新的窗口就会弹出供你查看与确认 Flathub 软件源的相关信息。要应用 Flatpak 软件源,点击『安装』按钮。

sfg flathub install
Figure 3. Flathub 安装向导

当软件源安装完成,『安装』按钮就会被『移除』按钮取代。

从 Flathub 安装 Flatpak 应用程序

当 Flathub 软件源初始化完成后,我们就可以通过 Flathub 安装 Flatpak 应用程序了。这一切都可以在 GNOME 商店中完成,你也可以在 Flathub 网站 浏览应用。

当你在 Flathub 网站了喜欢的应用程序想要安装时,只需点击 Install 按钮并完成下载,GNOME 商店就会自动打开并处理剩余的事情。举个例子,要想安装 LibreOffice,你只需要找到 LibreOffice 的相关页面,点击 Install 按钮。

在点击 Install 按钮后,一个下载信息框就会弹出。只需确认文件名与你所要安装的应用程序相匹配就可以点击『确定』开始下载。

sfg libreoffice install
Figure 4. 下载 LibreOffice Flatpak

当 Flatpak 信息文件成功下载,GNOME 商店就会弹出,点击上面的『安装』按钮就可以开始安装了。

Flatpak 命令行工具

除了使用 GNOME 商店安装 Flatpak 应用之外,也可以使用 flatpak 命令行工具。请阅读 Flatpak 文档 了解命令行工具的使用方法。

软件包层叠

软件包层叠通过修改你的 Silverblue 安装以实现。正如名字所示,它通过在 Silverblue 构建时拓展软件包而工作。

适合软件包层叠的一些好例子包括:

  • fish:一个备选的 UNIX Shell

  • sway:一个基于 Wayland 的平铺窗口管理器

  • libvirt:libvirt 守护进程

Fedora 提供的大部分(但不是所有的)RPM 都可以通过这个方法安装。

Currently, using package layering creates a new "deployment", or bootable filesystem root. It does not affect your current root. This preserves rollback and the transactional model, but means that the system must be rebooted after a package has been layered. If you don’t want to reboot your system for switching to the new deployment, you can use an experimental rpm-ostree ex apply-live command to update the filesystem to see changes from new deployment, but it’s generally expected that you use package layering sparingly, and use flatpak and dnf install inside a toolbox etc.

软件包层叠通常需要在命令行下完成。然而,GNOME 商店有时候确实会通过这种方式安装一些难以通过 Flatpak 的形式安装的应用程序。

安装软件包

在 Silverblue,我们使用下面的命令安装软件包:

$ rpm-ostree install <package name>

这会下载所需的软件包及其依赖包,并同你的 Silverblue 映像一起被构建。 rpm-ostree 使用标准的 Fedora 软件包名称,因此你可以通过 DNF 搜索软件包(Silverblue 并不提供 DNF,但你可以在 toolbox 使用它)。

当软件包通过这种方式安装之后,它就会随着 Silverblue 映像一起保持着最新状态。

替换软件包

In some scenarios, you may want to test out a new version of podman or kernel or other packages that live on the host. The rpm-ostree override command can be used to replace a package with a different version. You can download the package locally and run:

$ rpm-ostree override replace <path to package>

或者你也可以直接使用 koji 或 bodhi 的链接以进行软件包替换。例如:

$ rpm-ostree override replace https://kojipkgs.fedoraproject.org//packages/podman/3.1.2/1.fc34/x86_64/podman-3.1.2-1.fc34.x86_64.rpm https://kojipkgs.fedoraproject.org//packages/podman/3.1.2/1.fc34/x86_64/podman-plugins-3.1.2-1.fc34.x86_64.rpm

你也可以使用 override remove 来隐藏一个软件包;它们仍在底层映像中,但他们不会在部署的系统中出现。

移除或替换层叠的软件包是不被推荐的。要了解更多信息,请查阅 rpm-ostree 文档