我正在尝试创建一个使用 Golang 应用程序的简单 systemd 服务,RootDirectory=/
但它总是失败并显示status=203/EXEC /usr/bin/app: No such file or directory
.单元文件如下所示:
[Service]
Type=exec
RootDirectory=/srv/image
ExecStart=/usr/bin/app
在里面/srv/image
我有以下目录树:
/usr/bin/app
/usr/lib/systemd/system/
/usr/lib/os-release
/etc/resolv.conf
/etc/machine-id
/proc/
/sys/
/dev/
/run/
/tmp/
/var/tmp/
BindReadOnlyPaths=
每个人都可以读取、写入和执行这些目录和文件,当我使用从主机绑定路径时,systemd 能够找到该目录,甚至创建其他目录,但执行仍然失败。出于同样的原因我无法得到便携式系统服务上班。我编译了来自 GitHub 存储库的官方 Golang 示例但即使这样也会失败并出现完全相同的错误消息。status=203/EXEC /bin/app: No such file or directory
我在带有最新 systemd 250 的 Arch Linux (Endeavour OS Apollo) 以及带有 systemd 249 的 Ubuntu Server 22.04 上进行了测试。到目前为止还没有运气。