systemctlなしでsystemdサービスを有効にする

systemctlなしでsystemdサービスを有効にする

実際にシステムを起動する前に、無人インストールの目的でsystemdサービスを有効にする必要があります。したがって、systemctlは使用できません。 systemd-nspawnを使用できますが、スクリプトにはあまり適していないと思います。

systemctlがシンボリックリンクを生成することを知っていますが、それは私がする必要があるすべてですか? systemdを「邪魔する」ことなくこれを行うことはできますか?

動作しているようですが、確認していただけますか?

ln -s /usr/lib/systemd/system/sshd.service /etc/systemd/system/multi-user.target.wants/sshd.service

答え1

systemd-nspawn以下を使用してサービスを有効化または変更する方法systemd:

tmux new-session -d -s mysession "systemd-nspawn --boot --machine=machine_name -D /install/directory"
systemctl --machine=machine_name enable sshd
machinectl poweroff machine_name

警告する:[Install]systemdはユニットファイルの一部を処理し、シンボリックリンクが破損する可能性があるため、シンボリックリンクのみを使用すると問題が発生する可能性があります。改善のために @MysteriousDerekに感謝します。

関連情報