为什么我从 NixOS 转换到 openSUSE
1 前言
NixOS
是一个很好用的 Linux
系统,有一个很棒的系统哲学,文本固化安装,
通过一个配置文件就可以完全创建或者还原一个系统。任何情况下你都可以在系统启动界面内
选择你想回退使用的版本,没有任何副作用。从这里可以看出 NixOS
是一个“好用”的系统,
你甚至可以使用 Git
来完全控制你的配置文件,事实上大多数人都是这么选择的。
但是令人遗憾的是,它的学习成本超高,它与传统 Linux
使用方式完全不同,
所有操作几乎都要在“配置文件”中进行。而为了 NixOS
为了实现使用“配置文件”完成整体的设置,
它几乎“改写”了底层的文件系统。 NixOS
没有动态链接库,也就是说,你使用正常方式安装软件,
你只能通过 NixOS
的打包方式安装,而难点就在这里,打包一个软件的难度相当高,
你需要阅读大量的文档才能管中窥豹。当然,你也需要大量的实践来测试。
2 问题
就像最近我发现一些问题:
最近
IntelliJ IDEA
终于修复了在Linux
中输入框无法对齐 这个常达 10 年的问题, 没错,你没看错!10 年!10 年啊!所以我想赶快使用修复过后的JRE
, 但是无论我怎么设置我都无法正常的设置JRE
。而且我遇到了新的问题,我在去年双十一的时候换了一个电脑,从
intel
CPU 换成了AMD
CPU 的电脑。 而且我不想重装系统,所以我直接迁移了硬盘,这导致了一些硬件问题。修复到能开机后我就没在处理,但是最近问题越来越严重,x11
模式下无法正常使用外接显示屏,输入法卡顿,IntelliJ IDEA
卡顿等问题。oy-git 上传的文件NixOS
的回滚也不是完全回滚,它只会回滚“系统级”,而你用户级的并不能正确的处理,经常会出现软件版本回滚回去了, 但是配置文件并没有,有些情况下效果甚至不如btrfs
的回滚。而且
NixOS
需要大量的存储空间,我在切换之前所有包大概 400G 左右,简直离谱(包含 180 次更新), 而openSUSE
占了大概 40G 左右。
这些“问题”共同导致我切换到 openSUSE
,不过我依旧承认 NixOS
是一个工作情况良好的系统,
它依旧是一个值得敬佩的系统,就像我从 archlinux
切换到 NixOS
一样,他们都是值得敬佩的。
3 后话
当然,这并不是说 openSUSE
就十全十美。我现在发现最大的问题就是 openSUSE
官方软件库真的很少,
除非开源的项目。包括常用的 JetBrains
系列开源社区版软件包都没有,
也包括我现在正在使用的编写软件 logseq
也是。这都令人恼火,毕竟我需要从其他位置,例如 snap
中安装。
我需要分出心智来管理其他渠道。不过这比 NixOS
要强的多, NixOS
官方源和社区源没有的软件,
我是真不知道怎么打包,过于艰难。
感慨的是,从 NixOS
这个文本驱动的系统变成命令驱动的系统真的是轻松了很多
( NixOS
没有清晰的进度条和更新进度条,只有一个 nvd
来构建后对比。)。
终于知道自己要更新什么东西,而且还有美妙的进度条了,多么令人安心!