我需要在实际启动系统之前启用 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
警告:
仅使用符号链接可能会导致问题,因为 systemd 处理[Install]
单元文件的部分,并且符号链接可能会导致损坏。感谢@神秘德里克的改进。