티스토리 뷰

새로 들어온 회사에서 윈도우가 탑재된 데스크탑을 받았다. 
처음엔 좀 당혹스러웠지만 다행히도 윈10에서는 윈도우즈 하위시스템으로 linux를 지원한다는 사실을 떠올리고 이걸로 개발환경을 만들기로 했다.

내가 하려는건 다음과 같다.
- WSL2 & 우분투 설치하기
- VS code 설치
- Docker 설치하기

1. WSL2 설치
우분투를 설치하기 전에 WSL2를 설치하자. (나의 경우엔 우분투부터 설치하고 WSL2를 설치하긴 했는데 절차상 WSL2를 먼저 설치하는 편이 맞는 것 같다.)
방법 2개로 하나는 설정에 들어가서 바꾸기, 다른 하나는 파워 셸을 관리자 권한으로 실행해서 명령어 치기인데 어차피 결과는 같으니 둘 중 아무거나 입맛대로 하면 된다. 나의 경우엔 후자를 사용했다.
먼저 powershell을 검색한 다음, 마우스 오른쪽 버튼을 클릭해서 관리자 권한으로 실행해야한다. 그 다음 아래의 명령어를 쳐준다.(아래에서 한번 더 쓸일 있으니 powershell을 닫지말자!)

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

이렇게 하면 WSL1이 설치되는데 공식 가이드에 의하면 WSL1만 설치하려면 지금 머신을 다시 시작해서 선택한 linux 배포 설치로 이동하고, 그게 아니라면 WSL2로 업데이트한다. 
*나의 경우엔 별 생각없이 WSL2로 변환했지만 둘을 비교해보고 싶다면 이 링크(클릭)를 확인한 다음에 진행하는 편도 좋다. WSL2이 WSL1에 비해 개선된 사항도 있지만 문제도 있다. 예를 들어 외부 접속..... 아래에 이거랑 관련된 항목을 넣어놨다. 큰 고통이었음 ㅠ

 

변환전에 앞서 WSL2가 지원되지 않는 PC일수도 있으므로 현재 윈도우즈 버전을 확인하고 진행하도록 하자. 현재 윈도우즈 버전은 키보드의 윈도우 로고 키 + R을 누른 후 winver을 검색하면 확인이 가능하다. 이 때 빌드가 18361보다 낮은 경우 최신 Windows 버전으로 업데이트해야 하는 것 같다.

WSL2 설치 전에 아래의 명령어를 powershell에 쳐주고 재부팅한다.

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

재부팅 후 다시한번 powershell을 관리자 권한으로 실행하고 아래의 명령어를 쳐주자. WSL2를 기본으로 적용한단 이야기다.

wsl --set-default-version 2

 

2. 우분투 설치하기
microsoft store를 열어서 ubuntu를 검색한다. 


그럼 이렇게 나오는데 난 이중에서 18.04를 설치했던것같다. 앱을 설치하고 나면 이 ubuntu에 대한 사용자계정 및 암호를 만들라고 하는데 지시대로 따라서 만들면 된다. 이렇게 하면 우분투 설치 완료! 앱으로 실행해도 되지만 윈도우즈 cmd에서 wsl이라고 쳐도 실행된다.

 

 

3. VS Code설치한 후 WLS로 프로젝트 열기
원래는 pycharm을 썻는데 여기는 pycharm을 안 쓴다고 한다.... 뭐 개인적으로는 vs code를 쓰기도 했고, 어차피 윈도우즈 기반인 환경이면 마소 제품을 쓰는게 더 호환이 잘 되지않을까? 하는 생각으로 vs code를 설치하기로 했다. 설치는 이 링크(클릭)로 가서 본인 os에 맞는 걸로 받으면 된다. 근데....이걸 wsl2랑 어떻게 같이 쓰지?

역시 공식에서부터 사용가이드가 있었다. 가이드: 

 

요약하면 다음과 같다.

- extension 중에서 wls extension 설치: ctrl + shift + p 로 팔레트를 열어서 wsl을 검색하거나 혹은 그냥 옆의 메뉴중에서 그림과 같이 클릭해서 선택한 후 wsl을 검색해서 Remote - WSL 을 설치한다.
- 원하는 프로젝트 폴더에서 code . 커맨드 실행

그러면 해당 프로젝트가 vs code로 열린다!

 

 

 

 

 

 

 

4. Docker
도커 설치사항 그냥 도커 홈페이지들어가서 docker for windows를 설치하면 되는데 크게 특별한 사항은 없지만 윈도우즈 설정에서 변경해줘야하는 것이 있다.
Hyper V 사용하도록 하기인데 제어판 - 프로그램 - 프로그램및 기능에서 windows 기능 켜기/끄기 를 선택하고 여기서 Hyper-V를 체크해준다. 이후 재부팅을 해야 적용되었던 걸로 기억한다.

 

5. python 개빌환경 만들기

pip 설치 - get-pip보다는 엔간하면 apt에 있으니 apt install 로 설치하는게 좋다. 간만에 설치하는거라 헷갈려서 get-pip.py로 설치했다가 경로가 이상하게 되서 잠시 애먹었다...
참고 링크: linuxize.com/post/how-to-install-pip-on-ubuntu-18.04/

 

How to Install Pip on Ubuntu 18.04

In this tutorial, we will show you how to install Python Pip on Ubuntu 18.04 and go through the basics of how to install and manage Python packages with pip.

linuxize.com

[optional]로컬 개발을 위한 pyenv, pyenv-virtualenv,autoenv 설치
이거에 관해선 mac에서 설치하는 방법을 내가 정리해놓기는 했지만(Mac에서 개발환경 만들기), pyenv의 경우엔 이 글(링크)을 참고하는 편이 더 좋다. 그 외에는 그냥 원글에서 링크를 타고 들어가서 침조해도 괜찮을듯..

 

* Windows10의 wsl2의 docker-compos로 외부에서 접근하는 방법
WSL2에서 docker-compose up을 실행했는데 원래 "윈도우즈 - 설정 - 방화벽 - 고급설정 -인바운드, 아웃바운드에서 포트 오픈" 이렇게 해주면 같은 네트워크내의 컴퓨터에서도 접속이 되어야하는데 안된다.... 찾아보니까 WSL2가 완전한 리눅스가 아니어서 그렇고 어쩌고 하던데 그냥 내가 도움받은 링크를 첨부하겠다.

- [WSL2, 외부 네트워크와 연결하기]

 

혹시 이 스크립트를 실행할때 권한 문제가 생기면 아래 링크들을 참조해서 권한을 변경해주면 된다.
파워셸에서 권한 변경

- dog-developers.tistory.com/183

- samsons.tistory.com/16

 

나의 경우엔 장고 서버를 실행하는 거였는데 혹시나해서 settings.py의 allowed_host 에 외부에서 접근하는 ip도 넣어줬긴한데 안 넣어줘도 될 것 같지만 테스트를 안해봐서 확신할 수 없음... 추후에 테스트해보고 업데이트 예정.

 

 

+ 데스크톱을 엄청 오랜만에 써서 처음에 엥 왜 블루투스가 없지? 하고 당황했는데 알고보니 데스크톱은 블루투스가 지원되지 않는 경우가 일반적이라고 한다..? 그래서 블루투스 동글을 샀다. 내가 산 블루투스 동글은 이 링크에서 제품선택: 4.0블루투스 동글인데 추천하고 그런건 아니고 그냥 랭킹별로 보고 적당한걸 샀다. 내 컴퓨터에선 usb에 끼워넣자마자 알아서 잘 설치해주고 잘 동작해주고 있다.

 

*만약 win10의 파일을 WSL상으로 옮기고 싶거나 한다면 WSL에서 explorer.exe . 를 쳐주면 wsl내의 파일 탐색기가 켜진다. 여기서 복붙을 하면 된다!

 

* 갑자기 python manage.py runserver로 로컬에서 서버를 켰는데 브라우저에서 ERR_CONNECTION_REFUSED가 떠서 당황해하다가....그냥 혹시나 해서 파워셸을 관리자 권한으로 실행하고 'wsl --shutdown'을 쳐서 wsl을 재부팅시킨 후 다시 실행해보니까 된다; 만병통치약 재부팅

반응형
댓글