当前位置:首页 > 每日看点 > 正文内容

为什么越来越多国内的Linux用户开始逃离ArchLinux,转向Debian12了呢?

卡卷网10个月前 (01-20)每日看点162

我倒是折腾了一大圈最后转向 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 以抛砖引玉:github.com/codgician/se,我配置了 github CI 来每天系统滚动更新、编译每一个设备对应的系统配置并 publish 到自己的 binary cache。这一点在其他发行版(除去 guix 这种类似的)上是难以想象的。

当然 NixOS 也有不少缺点,首当其冲的是它为了实现上述优点放弃了遵循 File Hierarchy Standard (FHS),故遇到某些闭源软件处理起来会麻烦一些(需要 patchelf)。另外还有 Nix 语言陡峭的学习曲线、配置中的 secrets 需要额外注意(稍不注意就会暴露进全局可读的 /nix/store,需要用 agenix / sops 等管理)、比较复杂的 nix flake 在 eval 时可能有比较大的内存占用等等。

不过目前相比它能提供的优点,我已经完全回不去之前用过的其他发行版了。

扫描二维码推送至手机访问。

版权声明:本文由卡卷网发布,如需转载请注明出处。

本文链接:https://www.kajuan.net/ttnews/2025/01/10287.html

分享给朋友:

相关文章

为何 Linus 一个人就能写出这么强的系统,中国却做不出来?

为何 Linus 一个人就能写出这么强的系统,中国却做不出来?

我给你举个真实的例子。。有一个人叫高伟东,在哈尔滨工作。在2012年做了一个APP。使用词根词缀背单词。名字叫:词根词缀词典这个人编辑了2300余条词根,给10万多条单词建立了词根索引,整理了50多万条的单词记忆方法,包括新版本的诸多新功能...

你每天用来涨知识的手机应用程序有哪些?

你每天用来涨知识的手机应用程序有哪些?

经过深度使用和测评,从100个APP中选出的这35个超实用的app,每一个都是最硬核最有料的涨知识神器!每天打开看看,能让你提神醒脑,眼界大开,成为朋友聚会上的话题王者!双击屏幕取走哦~先放上全部APP目录,有新闻资讯类、英语学习类、读书类...

有哪些是你用上了mac才知道的事?

用上了高端的Mac(已退货)才知道:原来文件夹里面的文件,你看到是8个,其实可能有12个。其中3个图标重叠在一起了,另外一个被拖动到屏幕外面了。用上了高端的Mac(已退货)才知道:原来鼠标灵敏度有问题是因为系统内置了鼠标加速度,只能用控制台...

华为纯血鸿蒙,从此天下三分了吗?

华为纯血鸿蒙,从此天下三分了吗?

万众期待的纯血版 HarmonyOS NEXT 终于是端上来了,主打一个自研,从里到外,从内核到架构,都是自研。用户的激情已经被点燃,可见大家对于纯血鸿蒙的期待,但是鸿蒙系统能不能真正与安卓、iOS三分天下呢?目前来说,还为时过早。iOS和...

测试用例是怎么写的?

测试用例是怎么写的?

测试用例对于测试人员而言,虽说是最最基础的技能,但却非常重要。测试用例是支撑我们在测试道路上进一步学习其他测试技能的基本功。那测试用例如何撰写,完整来说应该包含两部分内容:内容1: 测试用例撰写(按照八大要素);内容2: 测试用例(测试点)...

作为一名网络工程师,每天日常工作是什么样的?

作为一名网络工程师,每天日常工作是什么样的?

先介绍下我的基本情况,本人女,不知名的网络工程师一枚,入行也有三四年了。虽然我只在代理商和集成商干过,但怎么也算是“业内人士”一枚,没吃过猪肉总见过猪跑嘛。今天,就以我经历过,或者了解过的网络工程师,来给大家介绍一下到底每天的工作日常是什么...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。