에러 원인
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
'🛠️TOOL > 📄Linux' 카테고리의 다른 글
[Linux] - nohup 사용법과 다양한 활용 방법 (1) | 2023.11.29 |
---|---|
[WSL2] - Vmmem 램(RAM) 점유율 이슈 해결하기 (0) | 2023.10.25 |
[Linux] - sudo apt update시 error: "Release file is not yet valid" (0) | 2023.10.05 |
[Linux/shell] - E: Sub-process /usr/bin/dpkg returned an error code (1) 에러 해결하기 (1) | 2023.09.08 |
[Linux/Shell] 폴더 여러개 한 번에 만들고, 삭제하기 (0) | 2023.07.04 |