Linux(WSL)용 Windows 하위 시스템에서 Systemd를 활성화하는 방법
Linux용 Windows 하위 시스템(WSL)은 Windows 11/10 클라이언트 컴퓨터와 Windows Server 2019 이상 컴퓨터에서 기본적으로 Linux 바이너리 실행 파일을 실행하기 위한 호환성 계층입니다. WSL 2가 출시되면서 Hyper-V 기능의 하위 집합을 통해 실제 Linux 커널과 같은 중요한 변경 사항이 만들어졌습니다. 이 게시물에서는 WSL에서 Systemd를 활성화하는 방법을 안내합니다 .
시스템화 란 무엇입니까?
Systemd는 Linux 시스템의 기본 빌딩 블록 세트입니다. PID 1로 실행되고 시스템의 나머지 부분을 시작하는 시스템 및 서비스 관리자를 제공합니다. Systemd는 Ubuntu, Debian 등을 포함하여 잘 알려진 여러 배포판에 기본적으로 설치됩니다. 이 변경으로 WSL은 베어메탈 머신에서 선호하는 Linux 배포판을 실행하는 것과 훨씬 더 유사해지며 시스템 지원이 필요한 응용 프로그램을 사용할 수 있습니다. systemd에 의존하는 Linux 애플리케이션의 몇 가지 예는 snap, microk8s 및 systemctl입니다.
마이크로소프트에 따르면:
시스템 지원을 위해서는 WSL 아키텍처를 변경해야 합니다. systemd에는 PID 1이 필요하기 때문에 Linux 배포판에서 실행되는 WSL 초기화 프로세스는 systemd 자식 프로세스가 됩니다. WSL 프로비저닝 프로세스는 Linux와 Windows 구성 요소 간의 통신을 위한 인프라를 제공하는 역할을 하기 때문에 이 계층 구조를 변경하려면 WSL 프로비저닝 프로세스 동안 만든 몇 가지 가정을 재고해야 했습니다. 완전한 종료를 보장하고(이 종료는 이제 systemd에 의해 제어되므로) WSLg와의 호환성을 보장하기 위해 추가 변경이 필요했습니다. 이러한 변경 사항으로 인해 systemd 서비스는 WSL 인스턴스를 계속 실행하고 실행하지 않는다는 점에 유의하는 것도 중요합니다.
이것이 WSL의 부팅 동작을 변경한다는 점을 감안할 때 사용자의 기존 WSL 배포에 이를 적용할 때는 주의해야 합니다. 따라서 현재 특정 WSL 배포에 대해 systemd를 활성화하려면 등록해야 하며 향후 피드백을 모니터링하고 이 동작을 기본으로 설정하는 방법을 조사할 것입니다.
Linux(WSL)용 Windows 하위 시스템에서 Systemd를 활성화하는 방법
지금까지 이 글을 쓰는 시점에서 WSL(Windows Subsystem for Linux) 커뮤니티는 systemd를 구현하는 방법을 찾고 있었습니다. 그러나 Canonical과의 파트너십에 따라 Microsoft는 공식적으로 WSL에서 systemd를 구현했습니다. WSL에서 사용할 수 있는 systemd 지원을 통해 이제 WSL 배포 내에서 systemd를 실행할 수 있으므로 Windows 컴퓨터에서 Linux 작업자 프로세스로 더 많은 작업을 수행할 수 있습니다.
시스템에 systemd를 설치하려면 다음을 수행해야 합니다.
WSL 버전 0.67.6 이상을 사용하고 있는지 확인하십시오.
PowerShell을 통해 WSL을 활성화하고 장치의 Microsoft Store에서 다운로드하지 않은 경우 처음에 시스템화되지 않습니다. Windows 11 Insider Build를 실행하거나 Microsoft Store에서 다운로드한 WSL을 사용하는 사용자만 사용할 수 있습니다. WSL에서 Ubuntu Preview를 실행하는 경우 systemd가 자동으로 추가됩니다. 따라서 지원되는 WSL 버전이 있는지 확인하려면 Windows 터미널을 열고 PowerShell 콘솔에서 다음 명령을 실행하기만 하면 됩니다.
wsl –version
출력에 따라 WSL이 0.67.6 이하인 경우 Microsoft Store로 이동하여 WSL을 다운로드 할 수 있습니다 . 또한 PC 사용자, 특히 Windows 참가자가 아닌 경우 WSL GitHub 리포지토리에서 최신 버전을 다운로드 할 수 있습니다. 시스템 지원은 향후 모든 사용자에게 추가될 예정입니다. WSL에 대한 업데이트를 확인하려면 PowerShell에서 다음 명령을 실행합니다.
wsl –update
WSL 배포 설정에서 systemd 플래그를 설정합니다.
systemd에서 요구하는 지원되는 WSL 버전을 실행하고 있는지 확인한 후에는 wsl.conf 파일(WSL Linux 배포판에서 찾을 수 있는 구성 파일로 일반 설정 WSL) 부팅 시 systemd가 시작되도록 합니다. 이 작업을 완료하려면 다음 단계를 따르세요.
- sudo 권한으로 편집기를 실행하고 다음 행을 추가하십시오.
[boot]systemd=true
- 그런 다음 파일을 저장하고 종료합니다.
- 이제 WSL Windows 배포를 닫고 PowerShell에서 다음 명령을 실행하여 WSL 인스턴스를 다시 시작할 수 있습니다.
wsl.exe --shutdown
- 일단 시작되면 시스템이 실행 중이어야 합니다. 서비스 상태를 확인하고 표시하려면 아래 명령을 실행하십시오.
systemctl list-unit-files --type=service
Linux용 Windows 하위 시스템(WSL)에서 Systemd를 활성화하는 방법은 다음과 같습니다.
어떻게 init로 systemd로 부팅합니까?
systemd에서 부팅하려면 해당 목적으로 만든 부팅 메뉴 항목을 선택하십시오. 부팅 메뉴 항목을 생성하지 않은 경우 패치된 커널 항목을 선택하고 grub에서 직접 커널 명령줄을 편집한 다음 init=/lib/systemd/systemd 줄을 추가합니다.
출처: Windows 클럽
답글 남기기