私はsystemd-nspawnを使用していて、システムの起動時に自動的に起動したいコンテナーがいくつかあります。
私はArchLinuxを使用しており、 archwiki エントリによると、次のコードでうまくいくはずです。
# systemctl enable [email protected]
# systemctl start [email protected]
コンテナMyContainer
が/ var/lib/machineにあり、次のようなもので作成されたと仮定します。
# pacstrap -i -c -d /var/lib/machines/MyContainer base
コンテナは次のように開始できます。
# Sudo systemd-nspawn -b -D /var/lib/machines/MyContainer
そして
# systemctl start [email protected]
と同様
# machinectl start MyContainer
しかし、ブート時にコンテナを起動できず、ブート直後にSudo systemctl status [email protected]
を実行してもエラーは表示されません。誰かが私が何をする必要があるか知っていますか?別のサービスを実行する必要があるのでしょうか?
もう少し調べてみると、問題が見つかりました。別のサービスを実行する必要があるわけではありませんが、代わりに別のtarget、具体的にはmachines.target
、だから走っている
systemctl enable machines.target
上記のコマンドに加えて、MyContainer
が起動時に開始するようにしました。
ちなみに、これはすぐにはわかりませんでした。
systemctl list-units --all --type=target
私の両方のコンピューター(両方ともArch Linuxを実行している)では、machines.target
はリストに含まれていません。理由はわかりませんが、それが修正されました。