百科.dev
全部条目在线工具AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
N

nix-ld

> 编程语言
开源

在 NixOS 上运行未修补的动态二进制文件 [维护者 = @Mic92]

1.7K stars0 点赞1 次浏览
访问官网GitHub

工具介绍

在 NixOS 上运行未修补的动态二进制文件 [维护者 = @Mic92]

nix-ld

在 NixOS 上运行未修补的动态二进制文件。

这有什么用?

虽然 nixpkgs 中的许多专有包已经进行了修补, autoPatchelfHook 补丁, 有些情况下无法进行补丁:

  • 使用通过第三方包管理器(如 vscode、npm 或 pip)下载的二进制可执行文件,无需在每次更新时对其进行修补。
  • 运行试图验证其完整性的游戏或专有软件。
  • 运行过大的程序,这些程序无法存储在 nix 存储中(例如 FPGA IDE)。

虽然还有其他解决方案,如 buildFHSUserEnv,可以恢复常见 Linux 系统上的 Linux 文件层次结构(ld-linux-x86-64.so.2),但这些沙箱也有其自身的缺点:

通常,并非为 NixOS 创建的预编译二进制文件中都包含了所谓的链接加载器,在 Linux/x86_64 上,例如 glibc 中的 /lib64/ld-linux-x86-64.so.2。然而, NixOS 通常将其动态链接器存放在 Nix 存储库中的 glibc 包中,因此无法运行这些二进制文件。Nix-ld 为这些类型的二进制文件提供了一个中介层。它安装在其他 Linux 发行版安装其链接加载器的同一位置,即 /lib64/ld-linux-x86-64.so.2。然后,它根据环境变量 NIX_LD 中指定的内容加载实际的链接加载器。此外,它还接受来自 NIX_LD_LIBRARY_PATH 中的库查找路径的冒号分隔的路径。该环境变量在传递执行给实际的 ld 之前会被重写为 LD_LIBRARY_PATH。这允许您指定执行文件运行所需的其他库。

nix-ld 自 NixOS 22.05 起就成为 nixpkgs 的一部分。用户可以通过以下 nixos 设置来启用它:

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

Rustbuild-with-buildbotmanaged-by-renovate

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言