systemd가 중단되지 않도록(시스템이 응답하지 않음) 설정하고 비상 쉘을 제공하는 방법은 무엇입니까?

systemd가 중단되지 않도록(시스템이 응답하지 않음) 설정하고 비상 쉘을 제공하는 방법은 무엇입니까?

나는 systemd에 익숙하지 않습니다. 이 질문에 대해 제가 추구하는 대답은 다음과 같습니다.

어떻게 만드는 것이 가능합니까?체계단순히 시스템을 응답하지 않는 상태로 두는 대신 "사용자를 일종의 비상 셸에 배치"하여 문제에 대응하시겠습니까?

명확한 예: ThinkPad에 Arch Linux를 설치한 경우 x-org-server, wayland, systemd 또는 lightdm에 일부 구성 오류가 있는 것 같습니다. 오류 메시지는 표시되지 않지만 사용자가 끊기게 됩니다. 이는 사용자가 오류 메시지를 생성하지 않고 중지된 tty1에 대한 서비스/시작 메시지 출력을 볼 수 있음을 의미합니다(있는 경우 영광입니다).시스템 로그먹었어? ) 키 조합 없이 루트 쉘을 생성하여 사용자가 오류를 확인하고 수정할 수도 있습니다.

따라서 대답은 오류로 인해 시스템이 중단되는 것을 방지하기 위해 비상 셸에 들어가도록 systemd를 구성하는 방법입니다.그래픽 타겟

예를 들어, 이 U&L 질문에서 이러한 정지 상황이 어떻게 발생할 수 있는지"아치-리눅스-걸림-도달-대상-그래픽-인터페이스"

답변1

systemd 구성의 어떤 부분에도 응답하지 않는 시스템이 의도적인 경로로 포함되어 있지 않습니다.

체계하다프로세스 관리 전용 구성이 많이 있습니다. 예시 보기Restart=그리고OnFailure=.

문제를 해결하고 시스템이 응답하지 않는 것을 방지하려면 원인이 무엇인지 더 잘 이해해야 합니다. 확인은 journalctl -xe좋은 시작점입니다(아마도 재부팅 후). 출력에서 "치명적" 또는 "오류"를 검색해 보세요.

커널 패닉이나 메모리 손상이 발생하면 systemd어떤 상황에서도 도움이 될 수 없습니다.

답변2

Emergency.target은 장치가 오류 상태에 들어갈 때 OnFailure=emergency.target이 섹션 [Unit]에서 이를 사용하여 트리거될 수 있습니다 . 즉, 서비스 "정지"(영원히 사용 중인 루프)는 오류 조건을 트리거하지 않으며 서비스가 종료되거나 시간 초과에 도달할 때까지 계속 실행됩니다.

Systemd는 "정지" 프로그램이 의도한 대로 작동하는지 아니면 실패하는지 알 수 있는 방법이 없으며, 이는 시스템 관리자에게 달려 있습니다.

관련 정보