1. WSL 설치

WLS (Windows Subsystem for Linux)

Untitled

  • 윈도우에서 ELF64 바이너리를 실행할 수 있도록 하는 기술
  • 쉽게 설명하면 윈도우에서 사용가능한 리눅스 환경
  • 여러 리눅스 배포판을 지원 (Ubuntu, Debian, Alpine, Fedora, …)

WSL 사용 설정: Windows 기능 활성화

DISM (Deployment Image Servicing and Management) : 윈도우 이미지와 관련된 조작을 위한 커맨드라인 명령어

PowerShell 관리자 권한으로 실행

  1. 윈도우즈 서버시스템 리눅스 기능 활성화

     PS C:\WINDOWS\system32> dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
    
  2. 가상머신 플랫폼 기능 활성화 : WSL2에 필요한 기능

     PS C:\WINDOWS\system32> dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
    
  3. 실행이 안돼서 다시 설치

     PS C:\WINDOWS\system32> wsl --install
     	설치 중: 가상 머신 플랫폼
     	가상 머신 플랫폼이() 설치되었습니다.
     	설치 중: Linux용 Windows 하위 시스템
     	Linux용 Windows 하위 시스템이() 설치되었습니다.
     	다운로드 중: WSL 커널
     	설치 중: WSL 커널
     	WSL 커널이() 설치되었습니다.
     	다운로드 중: Ubuntu
     	요청한 작업이  실행되었습니다. 시스템을 다시 시작하면 변경 사항이 적용됩니다.
    
  4. Status 확인

     PS C:\WINDOWS\system32> Get-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
        
        	
     	FeatureName      : Microsoft-Windows-Subsystem-Linux
     	DisplayName      : Linux용 Windows 하위 시스템
     	Description      : Windows에서 네이티브 사용자 모드 Linux   도구를 실행하기 위한
     	                   서비스와 환경을 제공합니다.
     	RestartRequired  : Possible
     	State            : Enabled
     	CustomProperties :
     	                   mum2:ServerComponent\Description : Windows에서 네이티브 사용자 
     	                    Linux   도구를 실행하기 위한 서비스와 환경을 제공합니다.
     	                   mum2:ServerComponent\DisplayName : Linux용 Windows 하위 시스템
     	                   mum2:ServerComponent\Id : 1033
     	                   mum2:ServerComponent\Type : Feature
     	                   mum2:ServerComponent\UniqueName : Microsoft-Windows-Subsystem-Linu
     	                   x
     	                   mum2:ServerComponent\mum2:Deploys\mum2:Update\Name : Microsoft-Win
     	                   dows-Subsystem-Linux
    
  5. 설치 버전 확인

     PS C:\Users\User> wsl --list -v
     	NAME            STATE           VERSION
     	* Ubuntu-20.04    Running         1
    

WSL2 Linux 커널 업데이트

  • x64 머신용 최신 WSL2 Linux 커널 업데이트 패키지

    wsl_update_x64.msi 파일을 다운로드 받아 설치 진행

  • powershell에서 진행

      PS C:\Windows\system32> wsl --set-default-version 2
      	WSL 2와의 주요 차이점에 대한 자세한 내용은 https://aka.ms/wsl2를 참조하세요
      	작업을 완료했습니다.
    
      PS C:\Windows\system32> wsl --status
      	기본 배포: Ubuntu-20.04
      	기본 버전: 2
        	
      	Linux용 Windows 하위 시스템이 마지막으로 2022-06-21
      	 업데이트되었습니다.Linux용 Windows 하위 시스템 커널을 'wsl --update' 수동으로 업데이트할  있지만, 시스템 설정으로 인해 자동 업데이트를 수행할  없습니다.
      	자동 커널 업데이트를 받으려면 Windows 업데이트 설정: Windows를 업데이트할  다른 Microsoft 제품에 대한 업데이트 받기  사용하도록 설정하세요.
      	자세한 내용을 보려면 https://aka.ms/wsl2kernel을 방문하세요.
        	
      	커널 버전: 5.10.16
      PS C:\Windows\system32> wsl --update
      	업데이트 확인 ...
      	업데이트 다운로드 ...
      	업데이트 설치 ...
      	 변경 사항은 다음 WSL 전체 다시 시작에 적용됩니다. 강제로 다시 시작하려면 'wsl --shutdown' 실행하세요.
      	커널 버전: 5.10.102.1
    

Ubuntu 20.04.4 LTS

  1. Microsoft Store에서 Ubuntu 20.04.4 LTS 설치 후 실행
    • username 및 password 설정
     Installing, this may take a few minutes...
     Please create a default UNIX user account. The username does not need to match your Windows username.
     For more information visit: https://aka.ms/wslusers
     Enter new UNIX username: gain
     New password:
     Retype new password:
     passwd: password updated successfully
     Installation successful!
     To run a command as administrator (user "root"), use "sudo <command>".
     See "man sudo_root" for details.
        
     Welcome to Ubuntu 20.04.4 LTS (GNU/Linux 5.10.16.3-microsoft-standard-WSL2 x86_64)
        
      * Documentation:  https://help.ubuntu.com
      * Management:     https://landscape.canonical.com
      * Support:        https://ubuntu.com/advantage
        
       System information as of Sun Apr 24 13:36:45 KST 2022
        
       System load:  0.0                Processes:             11
       Usage of /:   0.5% of 250.98GB   Users logged in:       0
       Memory usage: 1%                 IPv4 address for eth0: 172.24.176.228
       Swap usage:   0%
        
     1 update can be applied immediately.
     To see these additional updates run: apt list --upgradable
        
     The list of available updates is more than a week old.
     To check for new updates run: sudo apt update
        
     This message is shown once a day. To disable it please create the
     /home/gain/.hushlogin file.
    
  2. root 패스워드 변경

     gain@LAPTOP-NGE5O25S:/mnt/c/WINDOWS/system32$ sudo passwd root
     	[sudo] password for gain:
     	New password:
     	Retype new password:
     	passwd: password updated successfully
     gain@LAPTOP-NGE5O25S:/mnt/c/WINDOWS/system32$ su -
     	Password:
     root@LAPTOP-NGE5O25S:~#
    

+) 시행착오

처음 설치가 안돼서 몇날 며칠을 허비했다.

근데 알고 보니 용량 부족 에러 ㅋㅋ…

우연히 외장SSD를 연결한 채로 진행하던 중에 알게 되었다.

외장에 다른 파티션 연결되면 System mem space 에도 파티션 충원된다는….

  • C:\Windows\Logs\CBS\CBS.log 확인해 보니 아래와 같은 로그 발견
    • 0x800F0922 로그 내용 : [HRESULT = 0x800f0922 - CBS_E_INSTALLERS_FAILED]
    • The Windows Update error 0x800F0922 can occur due to one of the following reasons.
      • App Readiness service is disabled.
      • Performance counters are damaged.
      • The System Reserved partition’s free space is less than 15 MB.
      • Microsoft Windows Update 서버 연결 실패
      • Windows 10 업그레이드의 .Net 프레임 워크 설치 부분 실패
  • 참고로 C:\WINDOWS\System32\Winevt\Logs\Application.evtx 여기서 시스템 로그 확인 가능

2. WSL & VSCode 연동

참고 링크 ) WSL & WSL2 설치와 VSCode 연동하기

  1. VSCode에서 Remote - WSL Extension Install
  2. wsl > 원하는 폴더로 이동 > code . 실행

     gain@LAPTOP-NGE5O25S:~$ code .
     	Installing VS Code Server for x64 (dfd34e8260c270da74b5c2d86d61aee4b6d56977)
     	Downloading: 100%
     	Unpacking: 100%
     	Unpacked 2341 files and folders to /home/gain/.vscode-server/bin/dfd34e8260c270da74b5c2d86d61aee4b6d56977.
    

    Untitled 1

  3. VSCode > Terminal > New Terminal
  4. VSCode > 좌측 메뉴 > Remote Explorer

Categories:

Updated:

Leave a comment