만쥬의 개발일기
article thumbnail

에러 원인

WSL을 사용하다보면, systemd 명령을 실행했을때 종종 systemd 환경이 아니라는 오류가 발생한다.

원인은 WSL은 루트 시스템 프로세스가 systemd가 아닌 init이기 때문이다.

pstree

루트 시스템 프로세스는 pstree 명령을 통해 확인할 수 있다. pstree 명령어는 실행되고 있는 프로세스들간의 연결구조를 트리형식으로 보여준다.

최근 리눅스 진영은 init에서 systemd로 바뀌는 추세라고 하며, WSL은 아직 그것을 반영하지 못하고 있는 것이라고 한다.(잘 모름)

해결법

cd /
cd etc
sudo vim wsl.conf

우선 위 명령어로, WSL에서 init 시스템 프로세스를 systemd 체계로 바꿔주어야 한다.

[boot]
systemd=true

해당 파일에 위와같이 작성하고 :wq! 로 저장해준다.

wsl --shutdown
wsl

그리고 윈도우 cmd에서 위 명령어로 WSL을 재부팅 후 다시 pstree로 정상적으로 변경되었는지 확인해준다.

혹시 이렇게 해도 변경이 안된다면, wsl --update로 wsl 버전을 업그레이드한 뒤 다시 재부팅을 해보는 것을 추천한다.

 

reference

profile

만쥬의 개발일기

@KangManJoo

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!