可执行文件就是 SQLite 数据库:把 ELF 换成数据库格式
来源:fzakaria.com — 排名 #17 · 342 分
📋 概述
Farrin Zakaria 提出并实现了“SELF”(Structured Executable & Linkable Format):用 SQLite 数据库作为可直接 chmod +x 运行的可执行文件格式。文章论证 ELF 本质上就是一个拒绝承认自己是数据库的数据库,而 SQLite 的自描述、稳定、可扩展特性让所有 ELF 工具退化为一行 SQL 查询,strip 变成一次 DELETE + VACUUM 事务。
🔑 核心要点
- ELF 已自行实现了字符串驻留、索引、外键等数据库原语,却拒绝承认自己是数据库。
- SELF 用 self_meta 与 segments 两张表承载可执行文件,binfmt_misc 注册魔数即可直接运行。
- readelf 变查询、ldd 变视图、strip 变事务,工具链复杂度大幅降低。
- 作者把整套 userland 打进单个 SQLite 文件,723 个可执行文件加 400 个库共 611.9 MiB,比原 ELF 还小。
💡 金句
ELF 是一台拒绝承认自己是数据库的数据库——而 SQLite 让它终于可以做回自己。
👍 0
👎 0
← 返回 Hacker News 首页