我正在尝试使我的Go程序在chroot
监狱中作为单个独立的二进制文件运行。当我在chroot
监狱中运行程序时,它立即死于以下错误消息:Killed: 9
。我正在使用此脚本进行构建:
#!/bin/sh -e
export CGO_ENABLED=0
go build -ldflags=-s -o ./dist/contained ./source/main.go
使用otool -L ./dist/contained
来查看是否有任何图书馆链接证实了我的怀疑:
./dist/contained:
/usr/lib/libSystem.B.dylib (compatibility version 0.0.0, current version 0.0.0)
我的问题是:如何获取/usr/lib/libSystem.B.dylib及其所有依赖项以静态链接到Go程序?我似乎正在遵循所有说明我在其他地方看到过静态链接,所以我不明白为什么仍然有动态链接的文件。