예기치 않게 재부팅한 후 데비안 컴퓨터가 GUI 대신 터미널 화면으로 부팅됩니다.
문제를 진단하는 방법을 모르겠습니다. 하지만 /etc/rc2.d/(inittab에서는 실행 수준 2라고 함)의 모든 서비스가 실행되고 있지 않은 것으로 나타났습니다.
예를 들어 cron을 사용합니다.
S17cron을 실행하면 작동하지 않지만 심볼릭 링크된 파일을 직접 실행하면 작동하는 이유를 누군가가 이해하도록 도와주세요.
내가 무엇을 놓치고 있나요? 내 시스템이 어떻게, 왜 이런 상태인지 아는 사람이 있나요? 어떻게 고치나요?
답변1
/etc/inittab
레벨을 잊어버리고 실행하세요.
systemd doco가 말했듯이 런레벨의 개념은 systemd 세계에서 "구식"입니다. systemd 자체의 작동 원리는 다음과 같습니다.표적, 런레벨이 아닌.
귀하의 파일도 최신 버전이 아닙니다 /etc/inittab
. Debian 7에서 Debian 8로 업그레이드 init 시스템을 System 5+에서 systemd init
로 전환합니다 rc
. /etc/inittab
데비안 7에서 파일이 패키지의 속성으로 제대로 지정되지 않았기 때문에 우연히 배치 되었습니다 .
아무 말도 할 필요가 전혀 없습니다 /etc/inittab
. systemd는 이 파일을 완전히 무시할 뿐만 아니라 이에 대한 개념도 없습니다.현재 런레벨첫 번째.
Systemv 5 rc
스크립트는 잊어버리세요.
다소 강할 수도 있지만, 당신이 깨뜨려야 할 몇 가지 나쁜 습관을 드러냈다는 점을 지적할 가치가 있습니다. 사실, 한 가지를 잊어야 합니다.이전 버전의 데비안.
/etc/rc*.d/
스크립트를 직접 실행 하지 마세요 . 첫째, 여기서 했던 것처럼 뭔가 잘못된 일을 하게 될 것이고, 그러면 잘 되지 않을 것입니다. 둘째, 심볼릭 링크 필드가 존재한다는 보장이 없습니다.심지어시스템이 아닌 시스템에서. 하나는 사용할 수 있습니다파일-rc바꾸다sysv-rc, 예를 들어./etc/init.d/
스크립트를 직접 실행 하지 마세요 . 시스템 운영 체제에서는 이러한 스크립트가 귀하의 서비스에 특정한 스크립트라는 것은 물론이고 존재한다는 보장도 없습니다. Debian 7에도 System 5 스크립트를 대체한 systemd 장치가 있습니다rc
. Debian 8에서는 더욱 그렇습니다. 사용할 올바른 명령은 다음과 같습니다.systemctl
및 해당 하위 명령status
,start
,stop
,enable
및disable
service
update-rc.d
invoke-rc.d
하지만~하지 않는 한당신은 패키지 관리자 스크립트입니다
따라서 관찰한 명령의 동작은 완전한 빨간색 청어이며 시스템이 그런 식으로 부팅되는 이유와는 아무런 관련이 없습니다.
문제를 정확하게 진단하려면 사용 가능한 도구를 사용하십시오.
이 시점에서 실행해야 할 몇 가지 프로그램이 있습니다. 여기에는 다음이 포함됩니다.
systemctl get-default
시스템이graphical.target
먼저 부팅되도록 구성되었는지 확인합니다.systemctl list-units
실행 중인 서비스와 대상을 표시합니다. X 디스플레이 관리자는 서비스입니다.systemctl status
표시하다왜실패한 서비스가 실패했습니다.journalctl -x -b
시작 이후 로그를 봅니다.
추가 읽기
- https://unix.stackexchange.com/a/196197/5132
- 웨이들리, 스티븐 (2014). "8. systemd를 사용하여 서비스 관리" Red Hat Enterprise Linux 7 시스템 관리자 가이드. 빨간 모자.
- 레나트 페틀링(2013-10-07).
systemctl
. 시스템 매뉴얼 페이지. freedesktop.org. - https://unix.stackexchange.com/a/196014/5132