若恤若失若丧其一

发布于
安装 Fedora Silverblue 和 Workstation

天下马有成材,若恤若失,若丧其一。 若是者,超轶绝尘,不知其所。


由于 Debian 的 Gnome 版本太旧,并且下一次更新还有一些时间,想直接安装最新的 Gnome 看起来不怎么简单,于是想切换到比较新的系统尝尝鲜。看到最近的新闻,Fedora Linux 刚好发布了新版本,于是打算安装 Fedora 试试。

选择版本

记得上次安装 Fedora 的时候,还没有这么多 版本 选择的。

从官网看到有四个不同的选项:

  • Editions 版本
  • Atomic 桌面
  • Spins 定制版
  • Labs 实验室

Spins 应该是搭载不同的桌面环境,类似 Kubuntu 、Lubuntu 等。 Labs 应该是针对不同的行业用途,类似 Edubuntu 。 Editions 有 Workstation、Server、CoreOS、IoT、Cloud 几个分类,看起来是给不同的设备使用的,出于对 工作站 Workstation 的印象,觉得这应该是给配置很高的硬件设备使用的,于是选择了第二个 Atomic Desktops 里边的 Fedora Silverblue 。

看到详情里边是这么介绍的:

Fedora Silverblue 您以原子方式了解和体验喜爱的 GNOME 桌面。

看到 Gnome 就下载安装了,没想到这个和常规的系统还不大一样。后面实在不适应,还是换回了 Workstation 版本。

安装排错

出于多年的经验,很自然的把磁盘分区划好,启动引导 挂载到 /boot/EFI ,根分区 挂载到 Ext4/ ,用户分区 挂载到 Ext4/home

然后安装就报错了(果然不如 debian 系稳定

大概是这种:

ostree ['admin', '--sysroot=/mnt/sysimage', 'deploy', '--os=fedora', 'fedora:fedora/41/x86_64/silverblue'] exiexited sted with code -6

搜到 这里 说到:创建新的 EFI 分区分配给 /boot/efi

Try creating a new EFI partition specific to FSB30 and assign it to /boot/efi

FSB30 不明白是什么。一个成熟的系统,为什么不能自己学会处理分区已经存在的问题呢。

手动处理,空出一个分区,再次安装。

继续报错,类似这种:

ostree admin instutil set-kargs RHGB quiet root=UUIDe30a847e-a4a4-4605-8e73-aa8ea87e
Exited with code 1.

搜到 这里 说的清空了硬盘安装就好了,看来还是分区有问题。

As an experiment I swapped out the HDD to an empty HDD. Install worked without issue.

于是乎把硬盘剩余的空间全都空出来,让它自己安装。最后它自己用的是:

  • 600 MB 的 FAT32 挂载到 /boot/efi
  • 1 GB 的 Ext4 挂载到 boot
  • 剩下的全都是 Btrfs 一个分区挂载到 //home

截图

总算是能进到桌面环境了。

包管理

安装好 Silverblue 后,并没有自带 yum 以及 dnf,一定是我打开方式不对,我怎么能使用 dnf 呢,搜索到一个 脚本 ,大概是通过 toolbox 创建一个容器,然后在容器里边运行 dnf

cat >> ~/.bashrc << EOF
alias sudo="sudo "
alias dnf="bash -c '#skip_sudo'; toolbox -y create 2>/dev/null; toolbox run sudo dnf"
EOF

但是在容器里边通过 dnf 安装的东西,外面还是用不了。

再回头来看前面版本介绍的时候说的,Silverblue 是一个 不可变 immutable 系统,提供 toolbx 实用程序,使用容器来提供可以安装和使用开发工具和库的环境。

粗略的类比,大概是 Windows 沙箱之类的东西?尽管一些桌面应用可以在商店通过 flatpak 安装( gnome 系队 flatpak 支持比较积极),但还是不太习惯原子(Atomic)的方式,看起来不是我想要的系统,最后还是再次下载了 Workstation 版本。

安装开发工具

这回总算有了 dnf ,还可以一次性安装一些基础的开发工具:

dnf install @development-tools

然后运行某网络软件的时候,又出现了熟悉的 libcrypt.so.1 报错,可以直接 安装 libcrypt 包

  • 基于 RHEL 的系统

    sudo yum install libxcrypt-compat
  • Ubuntu

    sudo apt install libcrypt1
  • Debian

    sudo apt install libxcrypt-compat

然后查找一下,看有没有安装

find /usr -name  libcrypt.so.1

有空再慢慢把常用软件装好,多体验体验。