systemd 기반 컨테이너를 실행하는 LXC를 사용하면 컨테이너에서 콘솔 세션에 자동으로 들어갈 수 있습니다. 다음과 같은 줄을 만들고 수정하면 /etc/systemd/system/console-getty.service
다음과 같습니다 .ExecStart
ExecStart=-/sbin/agetty --noclear -a <username> -s console 115200,38400,9600
로그인 세션을 건너뛰고 특정 사용자로 실행되는 세션으로 바로 이동할 수 있습니다.
해당 세션이 끝나면 기계가 자동으로 중지되기를 원합니다. systemd나 agetty에서 이를 구성하는 방법이 있나요? 참고로 호스트는 Ubuntu 12.04이고 컨테이너는 최신 Arch 베이스를 실행하고 있습니다.
답변1
대답은 다음에서 찾을 수 있습니다 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
. 시스템 단위 파일을 사용자 정의하는 이 방법에 대한 자세한 내용은 다음을 참조하세요.시스템 유닛(5):
foo.service
디렉토리는 유닛 파일과 함께foo.service.d/
존재할 수 있습니다. 이 디렉토리에 접미사가 붙은 모든 파일은.conf
파일 자체가 구문 분석된 후에 구문 분석됩니다. 이는 장치 파일을 수정하지 않고 장치의 구성 설정을 변경하거나 추가하는 데 유용합니다. 포함된 파일에 지시문 앞에 적절한 섹션 헤더가 있는지 확인하세요.