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 可用。你需要做的第一件事是下载新镜像，因此请点击“ 下载 Download ”按钮。这需要一些时间。完成后，你将看到更新已准备好安装。点击 “ 重启并更新 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中国 荣誉推出
Silverblue 是一个建立在 Fedora 之上的桌面操作系统。它非常适合日常使用、开发和基于容器的工作流程。它提供了众多的优势，例如在出现任何问题时能够回滚。如果你想在你的 Silverblue 系统上更新到 Fedora 33，这篇文章会告诉你如何做。它不仅告诉你该怎么做，还告诉你如果发生了不可预见的事情时该如何回退。在实际做变基到 Fedora 33 之前，你应该应用任何挂起的更新。在终端中输入以下内容：$ rpm-ostree update 或通过 GNOME 软件中心安装更新并重启。使用 GNOME 软件中心变基GNOME 软件中心会在更新界面显示有新版本的 Fedora 可用。首先你需要做的是下载新镜像，点击 “Download” 按钮。这将需要一些时间，完成后你会看到更新已经准备好安装了。点击 “Install” 按钮。这一步只需要几分钟，然后会提示你重启电脑。点击 “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中国 荣誉推出
你是否正在寻找 bash 的替代品？你是否在寻找更人性化的东西？不用再看了，因为你刚发现了 fish！Fish（友好的交互式 shell）是一个智能且用户友好的命令行 shell，可在 Linux、MacOS 和其他操作系统上运行。可以将其用于终端的日常工作和脚本编写。用 fish 编写的脚本比相同的 bash 版本具有更少的神秘性。Fish 的用户友好功能建议：Fish 会提示你之前写过的命令。当经常输入相同命令时，这样可以提高生产率。健全的脚本能力：Fish 避免使用那些隐秘字符。这提供了更清晰和更友好的语法。基于手册页的补全：Fish 会根据命令的手册页自动补全参数。语法高亮：Fish 会高亮显示命令语法以使其在视觉上友好。安装Fedora 工作站使用 dnf 命令安装 fish：$ sudo dnf install fish安装 util-linux-user 包，然后使用适当的参数运行 chsh（更改 shell 程序）命令，将 fish 设置为默认 shell 程序：$ sudo dnf install util-linux-user $ chsh -s /usr/bin/fish你需要注销然后重新登录，更改才能生效。Fedora Silverblue由于它不是 GUI 应用，因此你需要使用 rpm-ostree 将其加到层内。使用以下命令在 Fedora Silverblue 上安装 fish：$ rpm-ostree install fish在 Fedora Silverblue 上，你需要重启 PC 才能切换到新的 ostree 镜像。如果你想在 Fedora Silverblue 用 fish 作为主要 shell，最简单的方法是更新 /etc/passwd 文件。找到你的用户，并将 /bin/bash 更改为 /usr/bin/fish。你需要 root 权限来编辑 /etc/passwd 文件。另外，你需要注销并重新登录才能使更改生效。配置fish 的用户配置文件在 ~/.config/fish/config.fish。要更改所有用户的配置，请编辑 /etc/fish/config.fish。用户配置文件必须手动创建。安装脚本不会创建 ~/.config/fish/config.fish。以下是两个个配置示例以及它们的 bash 等效项，以帮助你入门：创建别名~/.bashrc：alias ll='ls -lh'~/.config/fish/config.fish: alias ll='ls -lh'设置环境变量~/.bashrc：export PATH=$PATH:~/bin~/.config/fish/config.fish：set -gx PATH $PATH ~/bin使用 fish 工作将 fish 配置为默认 shell 程序后，命令提示符将类似于下图所示。如果尚未将 fish 配置为默认 shell，只需运行 fish 命令以在当前终端会话中启动。在你开始输入命令时，你会注意到语法高亮显示：很酷，不是吗？?你还将在输入时看到建议的命令。例如，再次开始输入上一个命令：注意输入时出现的灰色文本。灰色文本显示建议之前编写的命令。要自动补全，只需按 CTRL+F。通过输入连接号（–）然后使用 TAB 键，它会根据前面命令的手册页获取参数建议：如果你按一次 TAB，它将显示前几个建议（或所有建议，如果只有少量参数可用）。如果再次按 TAB，它将显示所有建议。如果连续三次按 TAB，它将切换到交互模式，你可以使用箭头键选择一个参数。除此之外，fish 的工作与大多数其他 shell 相似。其他差异已经写在文档中。因此，找到你可能感兴趣的其他功能应该不难。让 fish 变得更强大使用 powerline 使 fish 变得更强大。Powerline 可以为 fish 的界面添加命令执行时间、彩色化 git 状态、当前 git 分支等。在安装 powerline 之前，你必须先安装 Oh My Fish。Oh My Fish 扩展了 fish 的核心基础架构，以支持安装其他插件。安装 Oh My Fish 的最简单方法是使用 curl 命令：> curl -L https://get.oh-my.fish | fish如果你不想直接将安装命令管道传给 fish，请参见 Oh My Fish 的 README 的安装部分，以了解其他安装方法。Fish 的 powerline 插件是 bobthefish。Bobthefish 需要 powerline-fonts 包。在 Fedora 工作站上：> sudo dnf install powerline-fonts在 Fedora Silverblue 上：> rpm-ostree install powerline-fonts在 Fedora Silverblue 上，你必须重启以完成字体的安装。安装 powerline-fonts 之后，安装 bobthefish：> omf install bobthefish现在你可以通过 powerline 体验 fish 的全部奇妙之处：更多资源查看这些网页，了解更多 fish 内容：官网文档教程常见问题在线体验邮件列表GitHubvia: https://fedoramagazine.org/fish-a-friendly-interactive-shell/作者：Michal Konečný 选题：lujun9972 译者：geekpi 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出