天下马有成材,若恤若失,若丧其一。 若是者,超轶绝尘,不知其所。
由于 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
有空再慢慢把常用软件装好,多体验体验。