每个包其实都已经装好了
来源: fzakaria.com — 2026-09-24
概述
作者的 omnibin 是一个 FUSE 文件系统,把 nixpkgs 历史上发布过的每个二进制都放进 $PATH:什么都不用安装、不用构建,在真正读到文件之前占 0 字节磁盘。顶层二进制超过五万个(树里其实有 881933 个),python3 与 python3@3.6.2 可以并存。原理是 Hydra 在每个 narinfo 旁写了描述归档内容的 .ls JSON 文件,配上 nixpkgs-multiverse 就能把「属性 + 版本」解析到 store 路径并按需拉取解包。
核心要点
- omnibin 是 FUSE 文件系统,把 nixpkgs 历史上的所有二进制挂进 $PATH。
- 顶层二进制有五万多个,树里实际有 881933 个,版本化形式也可用只是不列出。
- 在读取文件之前不占磁盘,也不需要下载或构建。
- 原理是 cache.nixos.org 上每个 narinfo 旁的 .ls JSON,描述了归档的内容结构。
- 配上 nixpkgs-multiverse 就能解析任意「属性 + 版本」到 Hydra 构建的 store 路径。
- 作者爬完全部 .ls 文件只用了不到十二分钟,并提供了 Docker 镜像与 NixOS 模块。
金句
什么都没安装,什么都不用构建,读到文件之前占用 0 字节。
👍 0
👎 0
← 返回 Lobsters 首页