status=203/EXEC 使用 systemd 和 RootDirectory=/RootImage=

status=203/EXEC 使用 systemd 和 RootDirectory=/RootImage=

我正在尝试创建一个使用 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 上进行了测试。到目前为止还没有运气。

相关内容