惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

The Register - Security
The Register - Security
云风的 BLOG
云风的 BLOG
U
Unit 42
F
Fortinet All Blogs
The GitHub Blog
The GitHub Blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
D
Docker
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
S
Secure Thoughts
Hacker News: Ask HN
Hacker News: Ask HN
Vercel News
Vercel News
S
Security @ Cisco Blogs
GbyAI
GbyAI
Stack Overflow Blog
Stack Overflow Blog
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
I
Intezer
MongoDB | Blog
MongoDB | Blog
AI
AI
MyScale Blog
MyScale Blog
Engineering at Meta
Engineering at Meta
Y
Y Combinator Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
P
Proofpoint News Feed
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
W
WeLiveSecurity
博客园 - 叶小钗
S
SegmentFault 最新的问题
N
News | PayPal Newsroom
WordPress大学
WordPress大学
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
D
DataBreaches.Net
小众软件
小众软件
Microsoft Azure Blog
Microsoft Azure Blog
Spread Privacy
Spread Privacy
H
Help Net Security
美团技术团队
博客园 - 司徒正美
T
Threat Research - Cisco Blogs
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
K
Kaspersky official blog
Application and Cybersecurity Blog
Application and Cybersecurity Blog
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
V
Vulnerabilities – Threatpost
TaoSecurity Blog
TaoSecurity Blog
N
Netflix TechBlog - Medium
L
Lohrmann on Cybersecurity
J
Java Code Geeks
量子位
Martin Fowler
Martin Fowler
博客园_首页

Ubuntu

ubuntu 上有没有基于 OpenGL 的原生 3d 游戏 - V2EX ubuntu 下的风扇转速控制? 求推荐 Ubuntu 好用的 ssh 工具 - V2EX ubuntu 26.04 有人体验了吗, 有国内的可用镜像吗 - V2EX 15 年前的 ubuntu 官方安装盘有人要么 - V2EX 该装服务器了,装 Ubuntu24.04.2 还是 Ubuntu22.04.5 - V2EX ubuntu 加显卡后感觉动画卡顿 - V2EX vmware17 安装 ubuntu22.04.5,最后一步报错 - V2EX 求 Ubuntu 台式机指纹 USB 识别器推荐 - V2EX ubuntun 下 docker 拉取镜像失败,配置了镜像源,但是无效 - V2EX 我的 ubantu 服务器是不是被人植入了恶意代码了 - V2EX ubuntu 用 vbetool dpms off 了再 on 后,显示乱码 - V2EX WIN11 访问 UBUNTU 的 webdav 记不住账号 - V2EX Linux 安装完系统后默认是安装好显卡驱动吗? - V2EX 闯了大祸,根目录权限变成我自己了。 - V2EX PVELXC 容器报错 Failed to receive program message: WebSocket connection closed unexpectedly - V2EX 记录一下今天的坑: snap hostfs - V2EX ubuntu22.04 热点求救 - V2EX 有精简版 ubuntu 吗? - V2EX 求助: ubuntu 现在 ssh 不能直接 root 账户登录了? - V2EX 系统非 root 账号,安装了 xxxapp 后,运行权限是属于 root? 还是所有 users? - V2EX 求救, Ubuntu22.04 apt 报错无法安装、更新和卸载软件包... - V2EX Ubuntu24.04 升级撤包了? - V2EX ubuntu 离线安装软件,以 percona-xtrabackup 为例 - V2EX ubuntu 24.04 下如何安装 vnc server? - V2EX Ubuntu APT 有自动选源的办法吗 - V2EX Ubuntu22 升级 chrome 到最新 127 版本,内存突然"爆炸",各位大佬也这样吗? - V2EX 22.04 HWE 6.8 内核发布,闲来无事,将其移植到了 Ubuntu 16.04 - V2EX Ubuntu 电池问题 - V2EX Ubuntu 24.04,初始化并安装 docker 之后重启 - V2EX 一到公司就 ping 不通了 - V2EX 请问 ubuntu 22.04 LTS 上 上有没有什么文字转语音的输入法?找了半天没找到好用的. 我不想打字,只想语音输入 - V2EX ubuntu22.04 挂起失败 - V2EX ubuntu desktop 像那种力透纸背的单层厕纸 - V2EX ubuntu 2404 远程桌面 每次连接都会推出之前的登陆(所有桌面程序都会退出),重新登陆,是否可以保持原有登录? - V2EX 对 ubuntu gnome 喜欢不起来,难受啊 - V2EX 现在服务器使用 ubuntu 主流用什么版本 - V2EX 目前 ubuntu 服务器版哪个版本最稳定好用 - V2EX 工作站求 Ubuntu 替代方案 - V2EX snap 已经在污染 apt - V2EX ubuntu 为什么会出现键盘卡住的情况? - V2EX Ubuntu 24.04 LTS 现已释出,可以冲了兄弟们 - V2EX 今天是 20240424,距离 ubuntu 24.04 LTS 发布还有一天 - V2EX 可以单独编译内核中已有的模块吗? - V2EX 24.04 即将发布,请容许我装个 B - V2EX [求助] macOS 中 ubuntu 虚拟机终端的 besd 文件问题 - V2EX 用 ifconfig 命令设置 IP 后 ping 不通局域网内其他主机 - V2EX ubuntu 旁路由(或 TPclash 相关)问题相关请教 - V2EX
ubuntu 一如既往的优秀! - V2EX
vx7298 · 2024-04-27 · via Ubuntu
kuanat

70

kuanat      2024 年 4 月 28 日   ❤️ 2

@ityspace #47
@424778940 #65
@Jirajine #51

作为发行版来说,我认为现阶段 NixOS 是不够严肃的,定位大致可以接近于弱化版的 Arch 。作为语言的 Nix 和作为包管理的 Nixpkgs 也不能直接拿来对比的,但是这三个经常被混在一起。比如 NixOS 官网提到的三个特性关键词 Reproducible/Declarative/Reliable 实际上分别是描述 Build ( Nixpkgs )/Language ( Nix )/OS ( NixOS )的。(另外官方的正式名称 Nix 既是语言,又是包管理器,Nixpkgs 指的是软件仓库)

按时间来说,我印象是先有的 Nixpkgs 的想法,为此设计了 Nix 语言,最后才有的 NixOS 。早期(至少十年前了) Nixpkgs/Nix 的文档实在是太简陋了,大部分时间我都是看着代码去猜的……当然现在易用性好了很多,只是我个人的评价是,Nix 系的设计目标是有可借鉴之处的,但是实现方式和哲学我不是很认可。

当年我被 Nixpkgs 吸引的原因是它希望用新的方式(在当时是很超前的思路)*同时*解决包管理器常年存在的几个问题:一是多版本共存,二是依赖解析,在此基础上顺便提供两个新特性:支持原子操作和回滚且无需依赖特定文件系统,再就是 Reproducible 构建。实现方式上,用的是现在被很多包管理借鉴的叫做 Content-addressable storage 的存储后端,以及类似沙盒化的构建过程(主要是记录依赖树而非权限限制)。

换个简单的说法,这个包管理的思路就是:记录依赖树上每个包的版本,同名包不同的版本会各存一份,相同版本也只存一份,而目标应用的执行环境(沙盒)中只有用得到的特定版本的依赖。这是个很理想化的设计,也存在很现实的问题。根据 Debian 过去十多年的构建经验,符合 Reproducible 构建标准(二进制一致)的包的占比一直在 85% 左右(构建这个行为会引入包依赖之外的变量)。Nixpkgs 意义上的 Reproducible 更接近于容器镜像可移植 Portable 的概念,即每次构建可能不同,但可以相互替换。

对于开发者来说,一般不关心打包的事情,但多数都会提供构建脚本。对于打包者来说,针对特定系统的打包希望尽量标准化,配置尽可能简单,原作者的构建脚本能拿过来用最好。对于包管理器来说,依赖最好是清楚写明的而不要是推断的。在 Nixpkgs 的设计者来说,当时没有合适的工具,所以想要创建一门新的语言,功能需求至少有几个:有脚本的灵活,声明式的写法以及模板化的生成能力。

至少在 Nixpkgs 层面,我是很欣赏设计思路的。到了 Nix 这门语言的层面,我的能力不足以做出准确的论断。仅从用户的角度上说,学习成本和易用性门槛都是相对比较高的。我个人认为 Nixpkgs 可以和 Gentoo portage 相媲美,都可以作为非常好的构建平台。

当包管理器想要往发行版方向发展时,限制就显现出来了。我一直说 RedHat/Debian/Suse 系是相对严肃的发行版,主要是因为它们都有足够的维护者。Nix 目前官方仓库的维护水平差距还是比较大的,而且可以遇见由于用户基数和门槛的限制,这个改善过程会很艰难。

另一方面我认为 NixOS 在发行版或者操作系统的理解定位上有点走偏了,就好比 Nixpkgs 是很好的锤子,但是 NixOS 太想把发行版塑造成钉子的形状。而且无论是 Windows/Linux/macOS 经过这么多年的发展,比较明显的共识是操作系统应该追求 Immutable 而不是 Reproducible 。这方面 NixOS 的实现方式永远比不上基于文件系统( layered )的效果,所以 NixOS 只能宣传自己 Reliable 却无法说自己是 Immutable 。

再就是用户数据理应和系统分离,应用程序理应和配置分离。NixOS 推崇的把用户、配置纳入进来的思想在我看来耦合有点过深了。不是说这样做不好,只是不太符合我个人的 Linux 哲学认知。