为什么越来越多国内的Linux用户开始逃离ArchLinux,转向Debian12了呢?
作者:卡卷网发布时间:2025-01-20 22:15浏览数量:83次评论数量:0次
我倒是折腾了一大圈最后转向 NixOS 养老了…
* 整个系统配置都是 declarative 的:根本不会忘记自己做过哪些配置,任何问题只需要折腾一次。
* 更新/配置管理都是函数式的,在任何时候你的配置都是可复现的。改动配置后会生成一个新的启动项,就算改炸了只需要重启时选择旧配置对应的启动项就能满血复活。这一过程可以自动化,我的所有 NixOS 设备(包括服务器和软路由)都是每天凌晨自己滚动更新,一年多了并没有对服务造成过影响。
* 极致的灵活性:Nix 同时管理了包的编译和安装,并且其可复现性非常有利于 caching。若不想折腾,所有包在默认编译选项下一定会 hit 官方的 nixpkgs binary cache 并不需要自己编译;而若有客制化的需求,可以轻松地 override 官方 nixpkgs 里包的某个编译选项或某几个编译步骤。结果可以放在自己搭建的 binary cache 里,使得对于多个有相同需求的设备依然只需要编译一次。简而言之,对于一些包可以像 debian 一样用,而对于有需求的包也可以像 gentoo 一样用,非常灵活。另外,Nix 的设计决定了它不会出现任何依赖问题,例如依赖不同版本 glibc 的包可以在同一个系统里共存。
* Nix 配置语言相比 YAML/TOML 这种 markup language 算是降维打击,你不仅可以做各种动态运算/引用/模块化,你甚至可以写 assertions 或单元测试来确保配置的正确性。这些高级特性极大地帮助了我在多个设备上复用共同的配置模块。
顺便分享一下我目前 NixOS 的 config 以抛砖引玉:https://github.com/codgician/serenitea-pot,我配置了 github CI 来每天系统滚动更新、编译每一个设备对应的系统配置并 publish 到自己的 binary cache。这一点在其他发行版(除去 guix 这种类似的)上是难以想象的。
当然 NixOS 也有不少缺点,首当其冲的是它为了实现上述优点放弃了遵循 File Hierarchy Standard (FHS),故遇到某些闭源软件处理起来会麻烦一些(需要 patchelf)。另外还有 Nix 语言陡峭的学习曲线、配置中的 secrets 需要额外注意(稍不注意就会暴露进全局可读的 /nix/store,需要用 agenix / sops 等管理)、比较复杂的 nix flake 在 eval 时可能有比较大的内存占用等等。
不过目前相比它能提供的优点,我已经完全回不去之前用过的其他发行版了。
免责声明:本文由卡卷网编辑并发布,但不代表本站的观点和立场,只提供分享给大家。
相关推荐

你 发表评论:
欢迎