Windows에서 POSIX 환경으로 작업하기

유예빈·2020년 8월 14일
0
post-thumbnail

Windows에서 개발하기

Windows는 정말 인기있는 운영체제입니다. 우리나라에서 태어난 사람이라면 태어나고 처음 만져본 컴퓨터의 운영체제가 대부분 Windows였겠죠. 그런데 아쉽게도, 이 운영체제가 개발자들에게는 조금 아쉬운 부분을 가지고 있습니다. 바로 POSIX 환경을 지원하지 않는다는 것입니다.

POSIX란?

Portable Operating System Interface의 줄임말입니다.

쉽게 설명하자면 Unix, macOS가 따르고 있는 CLI 표준이라고 생각하면 될 것 같아요.
(Linux도 대부분 따르고 있지만, 공식 인가를 받지는 않았습니다.)

우리가 개발을 하다 보면 terminal 혹은 shell 이런 표현들 많이 들어보셨을 거에요.
보통 이런 코드들로 많이 보게 되죠.

mkdir my-folder
ls -alF
cd my-folder
touch test.txt

그런데, 문제는 이런 코드들이 Windows에 기본적으로 탑재되어 있는 cmd나 powershell에서는 대부분 작동하지 않는다는 겁니다. 정확히는 같은 역할을 하는 다른 명령어들이 있어요. 예를 들면 dir같은 것들 말이죠.

그런데 개발을 하는 과정에서 이런 명령어들이 통일되지 않는다는건 많은 부분에 불편함이 따라옵니다. 특히 공식 문서들처럼 코드들을 설명해야 하는 입장에서는 매번 두 가지 이상의 버전을 설명할 수 없기 때문에, 보통은 POSIX 표준을 따르는 코드로 설명을 합니다.

Windows에서 POSIX를 사용할 수 있는 방법은?

Windows에서 POSIX 환경을 사용할 수 있는 방법은 여러가지가 있습니다. 이 포스트에서는 그 중에서 두 가지를 소개해보려고 합니다.

Git Bash

Windows에서 Git을 사용하기 위해 설치할 때 같이 설치되는 프로그램입니다. Windows용 Git은 다음 사이트에서 다운받을 수 있습니다.

Git SCM

이후 설치를 진행 할 때, 다른 부분은 기본 설정 혹은 취향에 따라 선택해주시면 되지만, 설치 도중 Git Bash를 설치하겠다고 체크해주셔야 Git Bash가 함께 설치됩니다.

설치가 완료된 후 Git Bash를 실행시켜 POSIX 환경으로 들어갈 수 있습니다.

Windows Subsystem for Linux (WSL) 1

Windows에서 공식직으로 지원하는 Windows 내부에 Linux를 설치할 수 있는 방법입니다. 글을 쓰는 오늘 날짜 기준으로 WSL은 버전 2까지 나왔는데, 우리는 POSIX 환경을 설치할 것이기 때문에 버전 1로도 충분합니다.

  1. Powershell을 관리자 권한으로 실행시킵니다.

  2. 다음 명령어를 입력합니다.

    dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
  3. 다음처럼 정상적으로 진행되면, 컴퓨터를 재부팅합니다.

  4. Microsoft Store를 접속하고, 사용할 Linux 배포판을 선택합니다. 따로 사용하고 싶은 배포판이 없다면, Ubuntu를 추천드립니다.

  5. 우측 상단의 Install을 눌러서 설치를 진행합니다. 설치는 1분 정도 소요됩니다.

  6. 설치가 완료되고 나면, Launch 버튼을 클릭합니다.

  7. 최초로 실행하면, username과 password를 입력해달라고 합니다. 다음 화면처럼 입력해주시면 됩니다. (password의 경우 화면에 표시되지 않습니다. 정상적으로 입력되는 것이니 그냥 입력하시면 됩니다.)

  8. 이제 정상적으로 설치가 완료되었습니다!

WSL 공식 설치 안내 홈페이지는 여기입니다.

다른 프로그램과의 호환성

Git Bash와 WSL 둘 다 code 등 컴퓨터에 설치되어 있는 다른 GUI 프로그램을 실행하는 명령어도 정상적으로 작동합니다. WSL의 경우 code 명령어를 입력할 때 최초 한 번은 추가 설치를 진행하지만, 이후에는 별도의 설치 없이 바로 실행이 가능합니다.

이제 Windows에서 POSIX 환경을 사용할 수 있게 되었습니다! 앞으로의 개발은 POSIX 환경에서 진행해보시는 것을 추천드립니다.

profile
Front-end Engineer@Watcha. 풀스택 개발자를 꿈꾸는 귀차니즘 개발자입니다.

1개의 댓글

comment-user-thumbnail
2021년 5월 20일

좋은 내용 감사드립니다!

답글 달기