恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

Linux 内核将部分支持 $ORIGIN,Nix 可重定位二进制文件问题或迎解决方案!

  • 首页
  • 资讯中心
  • /
  • Linux 内核将部分支持 $ORIGIN,Nix 可重定位二进制文件问题或迎解决方案!

相关资讯

YOLOv12与Unity集成:AR/VR实时物体检测实战指南 2026/8/2 19:16:38
个性化编程实践:打破标准化框架的方法论 2026/8/2 19:16:39
Dify 1.9.0升级:知识编排与工作流引擎深度解析 2026/8/2 19:16:39

最新资讯

Werkzeug API 分层指南:在高阶 Request/Response 封装与底层解析函数之间做出正确选择
使用 xberg Go 绑定从远程文本文档 URL 提取内容:URI 输入与 URL 提取配置实战
5 分钟部署大麦抢票自动化脚本:PC 与 Android 双端完整指南
JointJS 缩放控制工具实战:基于 elementTools.Control 自定义元素缩放手柄
calibre 格式转换:5 步把任意文件变成阅读器能读的 EPUB
Colyseus 源码库工程规范解读:Erasable TypeScript 语法约束与 V8 高性能路径维护

今日推荐

2026 AI 开发全家桶落地指南:TaoToken 统一 Key 打通 IDE 插件、Agent 与自动化代码审查全链路配置实测
MR25H40CDF+STM32F031C6工业级高可靠数据存储方案
MRAM+STM32工业断电数据保全实战指南

本周热门

MR25H40CDF + PIC18F65K40:工业记录仪高可靠存储实战
基于STM32的数控恒压恒流电源设计:从硬件到PID调参全解析
LT9211 MIPI重定时器原理与双路扇出实战指南

本月精选

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证
2026 大模型集体涨价:用 Python 做企业 Token 成本测算与选型避坑(附配置)

Linux 内核将部分支持 $ORIGIN,Nix 可重定位二进制文件问题或迎解决方案!

发布时间:2026/10/6 12:14:20
Linux 内核将部分支持 $ORIGIN,Nix 可重定位二进制文件问题或迎解决方案! Linux 内核支持 $ORIGIN 的研究起源2026 年 7 月 20 日相关消息显示在 TacoSprint 2026 期间有人决定研究能否在 Nix 中解决可重定位二进制文件的问题。此人热衷于推动 Nix 及其周边生态系统发展的宏伟目标虽不聪明但胜在大胆。在上一篇文章结尾其提出了一个可能的实现思路对 Linux 内核进行打补丁使 PT_INTERP 和 shebang 支持 $ORIGIN。提案提交与积极反馈此人克服了通过邮件发送补丁的复杂流程并向 Linux 内核邮件列表提交了一份提案。首次尝试提议直接在虚拟文件系统VFS子系统中添加对 $ORIGIN 的支持。原本预想会有人不客气地让其“滚一边去”然而结果不同。VFS 的维护者 Christian Brauner 真诚地回复询问更改理由并最终提出了一些将该支持引入子系统的方法。有像 John Ericson 这样的人参与并倡导非固定解释器PT_INTERP对 Nix 及其他用例如 Buck 和 Bazel的实用性起到了很大帮助。eBPF 实现可编程选择解释器Christian Brauner 提出利用 eBPF 作为一种可编程的方式通过 binfmt_misc 来选择解释器。原本只是想支持 $ORIGIN但可编程选择的方式能实现更多功能。不久后Christian 在休假期间就提供了该解决方案的第一版草案经过邮件列表交流最终形成了一个补丁系列该系列补丁将在不久后被合并到 -next 分支中。eBPF 程序支持 $ORIGIN 详解简单来说eBPF 可以用 C 语言的一个子集编写程序这些程序会被编译成一种指令集其虚拟机在内核中运行程序会被即时编译成本地 CPU 架构的代码且执行时间固定加载代码前会进行“验证”以确保安全。现在可以用一个相对简单的 eBPF 程序来支持 $ORIGIN程序加载并注册到内核后可要求 binfmt_misc 子系统触发它。每个二进制文件现在都会触发 nix_match 函数内核会要求 nix_load 动态确定要使用的解释器特殊 BPF 程序支持 $ORIGIN 了。BPF 程序的更多应用可能现在甚至可以用一个 BPF 程序完全替代传统的 QEMU binfmt_misc 注册脚本。由于可以根据文件中的任何内容以编程方式选择解释器能实现的功能相当多。一些小的应用场景包括可在 shebang 中支持 $ORIGIN。传统 binfmt_misc 切换方式存在缺点调用所需最终二进制文件的方式不透明注册的解释器会“成为”进程带来一些不便如 argv[0] 和 /proc//cmdline 显示的是解释器的调用信息/proc/self/exe 指向的是解释器。新调度模式弥补不足Christian 为此提交了一个大型补丁系列其最新的补丁系列添加了两种新的调度模式从不同角度弥补了差距并解决了这些模式可能带来的其他一些问题。对 Nix 最期待的是加载器替换 L 模式使用 L 标志后内核会将匹配的二进制文件作为主镜像原生执行仅用注册的解释器替换二进制文件 PT_INTERP 中指定的加载器binfmt_misc 对 PT_INTERP 进行直接覆盖原生动态加载器可以保持不变。未来计划与展望后续会持续关注 Linux 内核的发布情况。一旦这些补丁合并到 -next 分支并随标记版本发布计划将一个支持 $ORIGIN 的 NixOS 模块上游化使其在系统启动时进行注册。计划通过新的 PT_INTERP_NIX 段来启用该功能而不是匹配每个 ELF 文件这样可以保持向后兼容Nix 生成的二进制文件在没有 BPF 处理程序的情况下仍然可以正常工作但带有新段的文件可以提升为可重定位状态。

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号