如何使“binfmt_misc”的注册扩展在重新启动后仍然存在?

如何使“binfmt_misc”的注册扩展在重新启动后仍然存在?

如何使已注册的扩展binfmt_misc在重新启动后持续存在?

考虑以下命令,该命令执行binfmt_misc注册:

echo ':golang:E::go::/tmp/test:OC' | sudo tee /proc/sys/fs/binfmt_misc/register

它需要执行为root,因为只root允许写入/proc/sys/fs/binfmt_misc/register。因此,我不能~/.bashrc以非特权用户的身份进行此类注册。

答案1

由于您使用的是 Debian,因此您可以安装binfmt-support并使用注册您的扩展update-binfmts:

sudo update-binfmts --install golang /tmp/test --extension go --credentials yes

如果有效,您可以将binfmt_misc规范存储在 下的文件中/usr/share/binfmts,这将确保每次系统启动时都会加载它:

cat <<EOF | sudo tee /usr/share/binfmts/golang
package <local>
interpreter /tmp/test
extension go
credentials yes
EOF

要检查上述工作,请运行

sudo update-binfmts --import golang

或者,您可以使用systemd 的支持binfmt_misc:

echo ':golang:E::go::/tmp/test:OC' | sudo tee /etc/binfmt.d/golang.conf

这将在启动时加载systemd-binfmt.service

答案2

sudo apt-get install binfmt-support

#Python3 在 Raspberry Pi 操作系统上 (11)

sudo update-binfmts --install python3 /usr/bin/python3 --credentials yes --magic 610d0d0a

安装应用程序并发出上述命令将执行我编译的 python3 文件。例如,我有一个名为 calc 的 pyc 文件。只要我输入名称,它就会触发。感谢您提供的宝贵信息。

相关内容