BSN에서 개발하는 대부분의 프로젝트들은 도커 기반 애플리케이션이므로 리눅스 환경 필요
참고: https://docs.docker.com/desktop/install/windows-install/
윈도우 업데이트 수행
WSL 활성화
Linux 커널 업데이트 수행
파일 링크: https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
공식: https://docs.microsoft.com/ko-kr/windows/wsl/install-manual#step-4---download-the-linux-kernel-update-package
쭉 Next로 업데이트
*윈도우11은 Windows Subsystem for Linux Preview
도 설치해야 함
프로젝트 파일을 리눅스 환경에 저장 후 실행하여야 하므로 우분투 환경 필요
(선호하는 다른 배포판이 있으면 해당 배포판을 사용하여도 무관)
Microsoft Store
실행Ubuntu
배포판 설치
로컬 디스크 성능에 따라 위 화면이 나오기까지 오래걸릴 수 있음
위 화면이 출력되면 계정명 및 비밀번호 입력
계정 설정이 완료되면 위와 같이 본인 계정으로 셸이 실행됨
기존 우분투 공식 미러서버는 매우 느리므로 국내 카카오 미러 서버로 변경
sudo vi /etc/apt/sources.list
관리자 권한으로 vi 에디터 실행 후 아래 명령 입력
esc
후 :%s/archive.ubuntu.com/mirror.kakao.com
esc
후 :%s/security.ubuntu.com/mirror.kakao.com
모든 url이 카카오 서버로 변경되면 esc
후 :wq
입력하여 저장
sudo apt update
sudo apt upgrade -y
sudo vi /etc/wsl.conf
입력 시 새로운 파일 생성 화면이 나오면 아래 내용 추가
# Enable extra metadata options by default
[automount]
enabled = true
root = /mnt/
options = "metadata,umask=22,fmask=11"
mountFsTab = false
[network]
generateHosts = true
generateResolvConf = false
[boot]
systemd = true
command = "mkdir -p /mnt/wsl/ubuntu/ && mount -a"
*위 설정 중 boot
섹션에 대한 내용은 윈11 이상만 적용됨
sudo vi /etc/fstab
입력 시 기존 파일 변경 화면이 나오면 아래 내용 추가
/ /mnt/wsl/ubuntu none defaults,bind 0 0
ll /etc/resolv.conf
lrwxrwxrwx 1 root root 29 Aug 7 16:22 /etc/resolv.conf -> ../run/resolvconf/resolv.conf
처음 설치 시 resolv.conf
파일에 심볼릭 링크가 걸려있을 것임.
이 경우 해당 파일 제거 후 직접 생성 필요
sudo rm /etc/resolv.conf
위 명령으로 심볼릭 링크 제거
sudo vi /etc/resolv.conf
심볼릭 링크된 파일이 아닌 상태에서 위 명령어를 입력시 나오는 네임 서버가 아래와 같이 알 수 없는 네임서버일 경우 변경 필요
# This file was automatically generated by WSL. To stop automatic generation of this file, add the following entry to /etc/wsl.conf:
# [network]
# generateResolvConf = false
nameserver 172.27.176.1
위 처럼 네임서버 주소가 본인이 아는 주소가 아닐 경우 아래와 같이 수정
# This file was automatically generated by WSL. To stop automatic generation of this file, add the following entry to /etc/wsl.conf:
# [network]
# generateResolvConf = false
#nameserver 172.27.176.1
nameserver 1.1.1.1
nameserver 1.0.0.1
만약 Windows 11
을 사용 중이라면, 2022-08-31 현재 윈11 문제로 인해 우분투 재시작 시 resolv.conf
파일이 삭제됨
임시 해결책으로 sudo chattr +i /etc/resolv.conf
명령을 실행하면 해당 파일을 읽기전용으로 설정하여 재시작하여도 삭제되지 않음
관련 이슈: https://github.com/microsoft/WSL/issues/6977
wsl -l -v
위 명령어 입력 시 아래와 같이 Ubuntu 가 Version 1 로 설정되어 있음
(주의: -v
옵션은 -l
의 하위 옵션이므로 순서에 맞게 -l -v
로 입력)
NAME STATE VERSION
* Ubuntu Running 1
버전 1일 경우 아래 명령어를 수행해 우분투 WSL 버전 및 배포판의 기본 WSL 버전을 2로 변경
wsl --set-version Ubuntu 2
wsl --set-default-version 2
wsl --setdefault Ubuntu
wsl -t Ubuntu
wsl -l -v
만약 버전이 아래와 같이 정상적으로 2로 출력되지 않는다면 해당 PC에 가상화 기술이 비활성화 되어있지 않은지 확인 필요
NAME STATE VERSION
* Ubuntu Running 2
STATE가 Running 상태가 아닐 시 Ubuntu를 실행하면 자동으로 실행됨
참고: https://docs.microsoft.com/ko-kr/windows/wsl/wsl-config#configuration-setting-for-wslconfig
%USERPROFILE%\.wslconfig
파일 생성 및 아래 값을 환경에 맞게 설정[wsl2]
# 최소 4GB 이상 설정, GB 또는 MB 로 설정 가능 (기본값: 호스트 전체 메모리의 80%)
memory=8GB
# 가상 프로세서 개수 (기본값: 호스트 코어 개수)
#processors=4
# 스왑 용량 (기본값: 호스트 전체 메모리의 25%, 0 입력 시 비활성화)
swap=4GB
# 스왑 파일 경로 (기본값: %USERPROFILE%\AppData\Local\Temp\swap.vhdx)
#swapfile=%USERPROFILE%\AppData\Local\Temp\swap.vhdx
# WSL 2 가상 머신에 할당되었으나 사용되지 않는 메모리 자동 회수 (기본값: true)
#pageReporting=true
# WSL 2 VM의 와일드카드 또는 localhost에 바인딩된 포트를 호스트 localhost:port에서 연결할 수 있는지 여부 (기본값: true)
#localhostforwarding=true
위 설정에서 필요한 설정만 작성하고 설정이 필요 없는 항목은 제거 또는 주석처리하여 기본값 사용
wsl --shutdown
(주의) 실행중인 모든 WSL 가상머신이 중단됨 (WSL2 기반 도커 포함)
htop
명령어로 바로 확인 가능
윈도우에서 한 창 안에서 여러 탭을 사용할 수 있는 터미널로 설치 추천
문제가 발생했습니다.
문구가 출력됨
아래 각 단계를 하나씩 수행해보며 스토어에서 앱 설치가 되는지 확인
윈도우 + R
키 입력하여 WSReset.exe
실행
cmd 창에서 sfc /scannow
수행
시스템 검사가 완료되면 Dism /online /cleanup-image /restorehealth
수행
관리자 권한의 파워쉘에서 아래 명령어 수행
Get-Appxpackage -Allusers *store*
"PackageFullName"항목의 이름 확인
Add-AppxPackage -register "C:\Program Files\WindowsApps\*Store*\AppxManifest.xml" -DisableDevelopmentMode
Store로 검색 시 2개 이상이 나왔다면 위의 명령에서 Store 부분을 "PackageFullName "항목에 나오는 이름으로 대체하거나 Windows Store가 단독으로 검색되는 항목으로 변경
참고: https://answers.microsoft.com/ko-kr/windows/forum/all/윈도우-10에/523d77d6-acad-4c91-aed4-f6916d1cea42
Git 프로세스가 코드1과 함께 종료되었습니다
메시지 출력됨wsl --version
출력
명령어를 찾을 수 없다는 메시지가 반환됨
wsl --update
출력
Linux용 Windows 하위 시스템이(가) 설치되었습니다.
wsl --version
출력 (2022-10-21 20:20 기준)
WSL 버전: 0.70.0.0
커널 버전: 5.15.68.1
WSLg 버전: 1.0.45
MSRDC 버전: 1.2.3575
Direct3D 버전: 1.606.4
DXCore 버전: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windows 버전: 10.0.22621.675
이 절차로 Windows Subsystem for Linux Preview
가 설치됨