Linux
如何使“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
以非特權使用者的身份進行此類註冊。
由於您使用的是 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
.