systemd: 제한 없이 시작 작업을 중지하는 방법

systemd: 제한 없이 시작 작업을 중지하는 방법

무제한 구성으로 시스템 시작 작업을 중지하는 방법이 있습니까?

어디에서 한계를 재구성할 수 있는지 묻는 것이 아닙니다. 기다리는 동안 멈추고 싶습니다.

시스템에 들어갈 다른 콘솔이 없습니다. Ctrl+Alt+Del을 누르면 작업이 종료됩니다.

시작 시 문제가 발생하는 이 무한한 작업을 기다리는 것을 멈추고 싶습니다.

답변1

보안상의 이유로 시작 시 systemd 시작 작업을 중지하지 못할 수도 있습니다. 따라서우편 엽서:

Q: how can you have control whilst booting? IIRC my keyboard ctrl+c break attempts do not work.

답변: 글쎄요, 보안상의 이유로 할 수 없습니다... 인증 없이 화면에서 부팅 프로세스를 변경하는 것은 허용할 수 없습니다...

"systemctl 활성화 디버그 쉘"을 실행하면 최초 부팅부터 계속 실행되는 tty9에서 디버그 쉘을 열 수 있습니다. 그러나 물론 이것은 마지막 부팅에서만 수행될 수 있습니다.

위 스레드에서 언급한 것처럼 디버그 셸을 사용하는 것이 가능할 수 있지만(활성화된 경우) 이는 영구적인 사용이 아닌 디버깅용으로만 권장됩니다. ~에서시스템 문서:

초기 디버깅 셸

다양한 systemctl 명령을 사용하여 시스템 관련 부팅 문제를 확인하고 진단하기 위해 부팅 프로세스 초기에 셸 액세스를 활성화할 수 있습니다. 다음 명령을 사용하여 활성화하십시오.

systemctl enable debug-shell.service

또는 지정하여

systemd.debug-shell=1

커널 명령줄에서.

팁: systemctl을 사용하여 실행 중인 systemd와 통신할 수 없는 경우(예: 다른 부팅 시스템에서 설정하는 경우) --root=를 지정하여 관리자와의 통신을 피할 수 있습니다.

systemctl --root=/ enable debug-shell.service

일단 활성화되면,다음 부팅 시 CTRL+ALT+F9를 사용하여 tty9로 전환할 수 있습니다.그리고 부팅 프로세스 초기에 루트 셸을 사용할 수 있습니다. 셸을 사용하여 서비스 상태를 확인하고, 로그를 읽고, systemctl list-jobs를 사용하여 중단된 작업을 찾는 등의 작업을 수행할 수 있습니다.

경고: 이 셸은 디버깅 전용입니다! 시작 문제를 디버깅한 후에는 systemd-debug-shell.service를 비활성화하는 것을 잊지 마십시오. 루트 셸을 항상 사용 가능한 상태로 놔두면 보안상 위험할 수 있습니다.

필요한 경우 kbrequest.target의 별칭을 debug-shell.service로 지정하여 디버그 셸을 시작할 수도 있습니다. 이는 동일한 보안 의미를 갖지만 항상 쉘 실행을 방지합니다.

관련 정보