如何使已注册的扩展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 文件。只要我输入名称,它就会触发。感谢您提供的宝贵信息。