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でテストされました。今まで運がありません。