使用运行基于systemd的容器的LXC,一个将自动丢弃到容器上的控制台会话中。通过创建和修改/etc/systemd/system/console-getty.service,使其具有ExecStart行,如下所示:
ExecStart=-/sbin/agetty --noclear -a <username> -s console 115200,38400,9600可以跳过登录会话,直接进入以特定用户身份运行的会话。
我想要的是,当这个会话结束时,机器会自动停止。在systemd或agetty中,是否有一种方法来配置它?作为参考,主机是Ubuntu12.04,容器运行的是最近的Arch基础。
发布于 2013-10-24 00:04:27
答案可以在console-shell.service中找到:
ExecStopPost=-/bin/systemctl poweroff顺便说一句,您不需要制作console-getty.service的副本就可以进行这些修改。尝试以下几点:
# rm /etc/systemd/system/console-getty.service
# mkdir /etc/systemd/system/console-getty.service.d
# cat > /etc/systemd/system/console-getty.service.d/custom.conf << EOF
[Service]
ExecStart=
ExecStart=-/sbin/agetty --noclear -a <username> -s console 115200,38400,9600
ExecStop=-/bin/systemctl poweroff
EOF
# systemctl daemon-reload第一个空的ExecStart=条目清除从/lib/systemd/system/console-getty.service继承的值。有关自定义systemd单元文件的方法的更多信息,请参见systemd.unit(5):
与单元文件
foo.service一起,可能存在一个目录foo.service.d/。在解析完文件本身之后,将解析该目录中带有.conf后缀的所有文件。这对于更改或添加配置设置到单元中非常有用,而无需修改它们的单元文件。确保所包含的文件在任何指令之前都具有适当的节头。
https://unix.stackexchange.com/questions/66029
复制相似问题