백구의 코딩찌개
  • [Linux] systemctl 명령 에러 : System has not been booted with systemd as init system (PID 1). Can't operate. 해결 방법
    2024년 02월 16일 13시 28분 59초에 업로드 된 글입니다.
    작성자: 코딩백구
    반응형
    Linux 환경에 Docker 를 설치하고 실행하던 중, sudo systemctl status docker 명령어로 docker 가 실행중인지 아닌지 확인하려고 했는데, 에러가 발생하였습니다.
    구글링해본 결과, 설치한 리눅스의  루트 시스템 프로세스가 systemd가 아닌 init이어서 발생하는 문제였습니다.
    • pstree 명령어를 사용하여 실행되고 있는 프로세스들간의 연결구조를 트리형식으로 볼 수 있습니다.
      현재는 수정을 완료하여 루트 시스템이 systemd 가 나타나는 것을 볼 수 있는데, 기존에는 init 으로 되어있었습니다.


    해결 방법

    • wsl 에서 리눅스 부팅 시 systemd 환경으로 부팅하도록 해주면 됩니다.
    • 먼저, /etc 경로로 이동합니다.
    cd /etc
    • wsl.conf 를 생성한 뒤, 아래 내용을 입력해줍니다.
    # wsl.conf 파일 편집
    sudo vim wsl.conf
    
    # 아래 내용을 입력해줍니다.
    [boot]
    systemd=true
    • 이제, 리눅스를 재부팅 해주면 정상적으로 실행되는 것을 확인할 수 있습니다.
    반응형
    댓글