나는 다소 터무니없는 곤경에 처해 있음을 발견했습니다. 과거 어느 시점에 나는 컴퓨터를 부팅할 때마다 시작을 시도하는 소프트웨어(ejabberd, 궁금하실 경우를 대비해, 어느 것이 중요한지는 중요하지 않다고 생각합니다)를 설치했습니다. 훨씬 후에 Erlang/OTP(ejabberd가 시작된)로 작업하는 동안 내 컴퓨터에 Erlang을 설치하는 더 나은(개발용) 방법을 발견하여 (apt-get install을 통해) 이전 버전을 제거했습니다. 나중에 몇 가지 작업을 수행하는 동안 Erlang 가상 머신을 시작하는 데 사용되는 바이너리인 erl이 여전히 내 /usr/bin에 있다는 것을 발견했습니다. "아," - 저는 생각했습니다. "멍청한 일은 필요하지 않습니다. apt-get 제거로는 정리 작업이 제대로 수행되지 않습니다. sudo rm -rf!" …
...앗!
이제 시작하려고 하면 긴 줄이 보입니다.
/usr/sbin/ejabberdctl: 60: exec: /usr/bin/erl: 찾을 수 없음
시작할 수 없습니다. - 제거할 수 없습니다. 부팅 프로세스를 중단하고 부팅 옵션 및 BIOS 설정을 변경하는 옵션을 볼 수 있지만 이것이 문제 해결에 어떻게 도움이 될지는 알 수 없습니다. 어떤 아이디어가 있나요? 매우 감사합니다!
답변1
USB 메모리 스틱과 같은 다른 미디어에서 부팅합니다. Debian 또는 Ubuntu를 사용한다고 가정하면 해당 배포판의 설치 이미지(셸에 들어갈 수 있음)에서 작동하거나 다음과 같은 것을 사용할 수 있습니다.시스템 복구 디스크(이름 외에도 PXE를 통한 네트워크 부팅을 포함하여 다양한 미디어에서 부팅합니다.)
셸을 시작하고 진입한 후 하드 디스크의 시스템 파티션을 설치합니다. 손상을 확인하십시오 rm -rf
(어느 디렉토리에서 이 작업을 수행했는지는 밝히지 않았습니다).
어떤 것이 간단하고 해결할 수 있다면 해결하세요. 그렇지 않으면 시스템의 일부(소형 또는 대형)를 다시 설치해야 할 수도 있습니다. 전체 설치를 수행해야 하는 경우 /var/lib/dpkg/status
시스템을 원래 상태로 복원할 수 있도록 설치하기 전에 다른 곳에 설치된 패키지 목록을 저장할 수 있습니다( 참조 ). 배포판의 설치 이미지에서 부팅하는 것이 편리할 수 있습니다.
답변2
중요하지 않은 단일 서비스(예: XMPP 데몬)의 시작 실패로 인해 전체 서버가 시작되지 않도록 해서는 안 됩니다. 당신이 보지 못하는 다른 더 중요한 것들이 있을 수도 있습니다.
하지만 한 번에 하나의 질문만 가능합니다. 지금은 erlang-base
(포함된 패키지 )을 올바르게 다시 설치해야 합니다 /usr/bin/erl
.
apt-get install --reinstall erlang-base