Michal Konečný 发布的文章

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中国 荣誉推出

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中国 荣誉推出

Fish — A Friendly Interactive Shell

你是否正在寻找 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 等效项,以帮助你入门:

创建别名

  • ~/.bashrcalias ll='ls -lh'
  • ~/.config/fish/config.fish: alias ll='ls -lh'

设置环境变量

  • ~/.bashrcexport PATH=$PATH:~/bin
  • ~/.config/fish/config.fishset -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 内容:


via: https://fedoramagazine.org/fish-a-friendly-interactive-shell/

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

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