systemd と RootDirectory=/RootImage= を使用する状態=203/EXEC

systemd と RootDirectory=/RootImage= を使用する状態=203/EXEC

Golangアプリケーションを使用して単純なシステムサービスを作成しようとしていますが、次の.Unitファイルが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(Endeavor OS Apollo)とsystemd 249がインストールされているUbuntu Server 22.04でテストされました。今まで運がありません。

関連情報