Answers:
一言以蔽之:binfmt_misc。这是特定于Linux的不可移植工具。
内核通过内置的逻辑识别出几种格式。即,这些是ELF格式(对于普通二进制文件)和shebang约定(对于脚本)。(感谢zwol提供以下答案)。另外,Linux可以识别几种深奥的,过时的或兼容性的内置格式。您可能不会遇到他们。它们是a.out
“ em86”,“ flat”和“ elf_fdpic”。
其他所有内容都必须通过binfmt_misc系统进行注册。该系统使您可以在内核中注册基于幻数和相应解释器的简单模式检查。
a.out
“ em86”,“ flat”和“ elf_fdpic”格式以及普通ELF的内在支持。除了em86以外,所有这些似乎都是本机二进制可执行文件格式;没有足够的信息让我知道何时使用“ flat”或“ elf_fdpic”。em86似乎是一种运行特定x86模拟器的pre-binfmt_misc机制,它可能仍然存在,以便向后兼容。
update-binfmts --display