로컬을 Ubuntu로만 쓰다가 최근에 Window로 변경하였다. 당연히 Window에서 개발을 진행하는데는 한계가 있어 WSL을 설치하여 Linux 환경을 사용하게 되었다.
ubuntu를 그냥 쓰기만 했지 window에 wsl을 설치하여 쓰는 건 처음이라 이것저것 확인하고 설치하느라 굉장히 힘들었던 것 같아서 그 과정을 기록으로 남겨둔다.
⏹ WSL이란?
WSL은 Linux용 윈도우 하위 시스템으로 Window에서도 Linux 환경을 사용할 수 있도록 해준다.
⏹ 설치 전 확인 해야 할 사항들
1. CPU의 가상화 여부
Ctrl + Alt + Del 를 누른 후 작업 관리자를 실행하여 (혹은 윈도우 검색 창에 작업 관리자 입력) 성능 탭으로 이동하면 CPU의 가상화가 '사용' 인지 확인해야 한다.
CPU의 가상화가 '사용' 이 아니라면 바이오스로 진입하여 설정을 해 주어야 한다.
PC를 다시 시작하면서 Del 키나 F2 키를 눌러 바이오스에 진입한 후 Advanced Mode를 클릭하면 CPU 구성에 진입할 수 있다. 여기서 Intel Virtualization Technology 활성화로 변경 후 저장 후 재시작을 하면 된다. 혹은 SVM Mode를 Enabled로 변경해도 된다.
PC 재시작 후 다시 cpu의 가상화가 사용인지 확인하면 된다.
2. Window 빌드 버전 확인
Window + R 누른 후 winver를 입력하면 window 빌드 버전을 확인할 수 있다.
window 버전 10(빌드 2004) 이상에서 windows 19044를 실행하고 있는지 확인해야 한다. ➡2022.10.30 기준 버전 21H2(OS 빌드 19044.2006임.
빌드 버전이 다를 경우 윈도우 참가자 프로그램에 등록해야 한다.
윈도우 설정에서 업데이트 및 보안을 선택하면 윈도우 참가자 프로그램이 있다. 거기서 시작을 누르면 계정을 연결하라고 한다. 계정을 연결하고 나면
참가자 설정을 선택할 수 있는데 권장인 베타 채널을 선택하면 된다.
이후 pc를 재시작하면 윈도우 참가자 프로그램에 등록이 완료된다.
2.1 윈도우 업데이트 확인
윈도우 업데이트 실행 후 최신 상태인지 확인하고 아닐 경우 업데이트를 해 준 뒤에 pc를 다시 시작한다.
⏹ WSL2 설치 및 설정
1. PowerShell 명령어 입력 1 (wsl 환경 설정)
powershell을 관리자 권한으로 실행한 후 아래 두 명령어를 실행한다.
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
이후 재부팅을 해준다.
2. WSL2 패키지 설치
이전 버전 WSL의 수동 설치 단계
wsl install 명령을 사용하지 않고 이전 버전의 Windows에 WSL을 수동으로 설치하는 방법에 대한 단계별 지침입니다.
learn.microsoft.com
위 링크의 4단계 'x64 머신용 최신 WSL2 Linux 커널 업데이트 패키지'를 설치한 후 pc 재부팅을 한다.
3. PowerShell 명령어 실행 2 (wsl 설정 및 버전 확인)
재부팅을 했다면 다시 powershell을 관리자 권한으로 실행한 후 아래 명령어를 입력하여 wsl 설정을 마저 해준다.
wsl --set-default-version 2
이후 wsl --list -verbose를 실행해 version이 2로 변경된 것을 확인한다.
4. WSL2 설치
Microsoft Store를 실행하여 Ubuntu와 window 터미널을 설치 해 준다.
윈도우 터미널은 정말 유용하게 쓰이기 때문에 wsl2을 사용하지 않더라도 설치하면 정말 정말 편할 것이다!!
5. Ubuntu Setup
Ubuntu 설치를 마쳤다면 우분투 아이콘을 실행하여 ID 및 PW를 설정 해 준다.
윈도우 터미널을 실행하면 기본으로 설정된 터미널 또는 powershell이 뜰텐데 이 때 우분투 터미널이 기본으로 뜨도록 설정을 해 준다.
터미널 실행 후 상단의 + 옆에 있는 아래 화살표를 클릭하여 설정으로 진입한다.
기본 프로필을 설치한 Ubuntu로 설정한 후 저장하면 윈도우 터미널 실행 시 자동으로 우분투 탭이 생성되며 새로운 창을 추가해도 우분투 터미널이 생성된다.
이후 아래 명령어를 실행하여 ubuntu setup을 마저 해 준다.
sudo apt-get update
sudo apt-get upgrade
여기까지가 윈도우에 wsl2를 설치하는 과정이다. 이후는 nvidia driver, cuda 설치 등의 과정으로 해당 과정이 필요 없는 사람은 스킵해도 된다.
⏹ WSL2 NVIDIA-Driver 설치
https://developer.nvidia.com/cuda/wsl
GPU in Windows Subsystem for Linux (WSL)
CUDA on Windows Subsystem for Linux (WSL) WSL2 is available on Windows 11 outside of Windows Insider Preview. Please read the CUDA on WSL user guide for details on what is supported Microsoft Windows is a ubiquitous platform for enterprise, business, and p
developer.nvidia.com
해당 사이트에 접속하여 본인의 그래픽 카드에 맞는 드라이버를 다운받고 설치한다.
정상적으로 설치가 완료된다면 ubuntu 터미널에 nvidia-smi 명령어 실행 시 GPU 정보가 나타날 것이다.
⏹ WSL2 Cuda Tollkit 설치
나는 cuda 11.1을 설치하였다.
wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin
sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/11.1.0/local_installers/cuda-repo-wsl-ubuntu-11-1-local_11.1.0-1_amd64.deb
sudo dpkg -i cuda-repo-wsl-ubuntu-11-1-local_11.1.0-1_amd64.deb
sudo apt-key add /var/cuda-repo-wsl-ubuntu-11-1-local/7fa2af80.pub
sudo apt-get update
sudo apt-get -y install cuda-11-1
다른 버전을 설치하고자 한다면 nvidia cuda toolkit 버전 검색하면 나오는 NVIDIA Developer에 접속하여 설치하면 된다.
⏹ WSL2 NVIDIA cudnn 설치
https://developer.nvidia.com/rdp/cudnn-archive
cuDNN Archive
Download releases from the GPU-accelerated primitive library for deep neural networks.
developer.nvidia.com
위 사이트에 접속 해 본인 CUDA 버전에 맞는 cuDNN을 다운로드 해준다.
이때 다운로드는 window pc 다운로드 폴더에 되기 때문에 약간의 조작이 필요하다.
우분투 터미널에서 윈도우 폴더로 이동하기 위해
cd /mnt/c/user/사용자명
해당 명령어를 입력해 Downloads 폴더까지 진입한다. (/mnt/c/ <- 이게 윈도우에 마운트 된 c드라이브 위치이다.)
이후 다운받은 cuDNN을 우분투 드라이버로 옮겨준다.
mv '다운받은 cudnn 파일' /home/유저명
이후 다운받은 cudnn을 압축 해제 해준다.
tar -xzvf '다운받은 cudnn 파일'
압축 해제 후에 3개 명령어를 실행 해 준다.
sudo mv cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
명령어를 실행하면 nvcc -V를 실행하여 CUDA가 제대로 설치 되었는지 확인한다.
이때 nvcc 명령어가 먹히지 않을 때
sudo nano ~/.bashrc
해당 명령어를 실행하여 맨 아래에 내용을 추가 해 주어야 한다.
export PATH="/usr/local/cuda-11.0/bin:$PATH“
export LD_LIBRARY_PATH="/usr/local/cuda-11.0/lib64:$LD_LIBRARY_PATH“
cuda-11.0 부분은 본인이 설치한 버전으로 변경해야 한다.
(nano 저장 : crtl+o, nano 나가기 : ctrl+x)
이후 wsl2를 재시작 후 nvcc - V를 입력하면 제대로 뜨는 것을 확인할 수 있다.
모든 과정이 끝나면 ubuntu에 본인이 필요한 것들을 설치하여 사용하면 된다!
나는 도커랑 이것저것 설치해서 엄청 편하게 사용 중이다!