본문 바로가기
IT

윈도우 서브시스템으로 리눅스 사용

by 이농이능 2018. 12. 27.



윈도우를 쓰면서 vmware로 리눅스를 사용하고 있어서 너무 불편하던 차에,

window10 에서 bash shell 제공한다는 것을 알게됐네요


WSL (리눅스용 윈도우즈 서브시스템)

개발자 툴에 대한 셸 지원, 그리고 온프레미스 및 퍼블릭 공용 클라우드에서 실행되는 리눅스 서버 원격 접근 기능을 제공하는 WSL은 기술적으로는 콘솔 전용 애플리케이션.

윈도우 명령줄에서 WSL 기본 사용자를 사용해 리눅스 바이너리를 호출할 수 있고 배시에서 윈도우 바이너리를 호출할 수 있다. (또한 비주얼 스튜디오 코드 내의 터미널에서 배시에 접근할 수 있으므로 개발 툴을 나오거나 윈도우를 나오지 않고도 유닉스 코드를 테스트할 수 있다.)

설치하기

우선 설치를 위해서는 64비트 PC, Windows 10 1607 이상 버전이 필요합니다.


Install the Windows Subsystem for Linux

Before installing any Linux distros for WSL, you must ensure that the "Windows Subsystem for Linux" optional feature is enabled:

  1. 관리자로 파워셸을 열고 아래 실행:

    Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

   2. 컴퓨터 재부팅

   3. microsoft store에서 linux 다운.

  제공하고 있는 OS



WSL 사용환경 및 유의사항

WSL은 주로 Windows에 없는 리눅스 명령어 (sed, grep 등)를 사용하거나, 혹은 그동안 사용하기 힘들었던 리눅스 기반의 개발환경을 구성하기에 좋습니다.


WSL을 원활하게 사용하기 위해서는 몇가지 주의해야 할 점이 있습니다.

  • WSL은 리눅스 콘솔 환경만 지원합니다. X Window GUI환경은 사용할 수 없습니다.
  • WSL을 이용해서 윈도우 파일을 마운트하고 조작할 수 있습니다. 하지만 반대로 안정성의 문제로 윈도우 탐색기 등 윈도우 환경에서 WSL 내부 파일을 조작하는 것은 금지됩니다.
  • 윈도우즈에서 리눅스 내부의 파일을 생성/변경하면 리눅스 환경이 손상되어 배포판을 제거하고 다시 설치해야 할 수 있습니다.
  • 리눅스 명령어 기반 도구(Ruby, Rails, Git, apt-get, vim 등)는 WSL에 설치하고, 텍스트 에디터 등의 GUI 도구는 윈도우에 설치된 것을 사용하는 방식으로 개발 방식을 구성할 수 있습니다.
  • 이때 프로젝트 폴더 등은 윈도우에 만들고, WSL에서 마운트하여 접근할 수 있습니다.
  • 심볼릭 링크를 사용하면 WSL에서 편하게 윈도우 폴더에 접근할 수 있습니다.

WSL 사용하기

실행 및 종료

wsl을 종료시키기 위해서는 shell에서 exit를 입력합니다.

wsl 실행은 윈도우 앱 목록에서 아이콘을 클릭하면 콘솔 환경이 실행되며 실행시킬 수 있습니다. 혹은 PowerShell 등의 환경에서 bash 명령을 입력하면 WSL 환경으로 진입하게 됩니다.

윈도우 파일 시스템에 접근하기

WSL 내에서 윈도우 파일시스템에 접근하기 위해서는 다음과 같이 필요한 폴더를 마운트 합니다.

# D드라이브 하위의 workspace 폴더에 접근하기
cd /mnt/d/workspace

매번 윈도우 내부의 작업 디렉토리로 이동하기 위해 위와 같이 명령어를 입력하는 것은 귀찮습니다. 이때, 심볼릭 링크를 이용하면 마치 WSL 내부의 디렉토리를 이용하듯 손쉽게 윈도우 폴더에 접근할 수 있게 됩니다.

# symbolic link 사용
ln -s "/mnt/d/workspace" /home/<my-wsl-username>/workspace

위와 같이 심볼릭 링크를 구성하면 WSL에서 cd workspace 명령만으로 간단하게 윈도우의 Workspace 폴더에 접근할 수 있게 됩니다.

이제 리눅스 명령은 wsl 내부에서, 파일 에디팅은 윈도우 앱으로 편하게 작업할 수 있습니다.

참조 링크

아래 링크는 각각 Microsoft의 WSL 관련 문서 및 블로그로 연결됩니다.

Docs https://docs.microsoft.com/en-us/windows/wsl/about

Blog https://blogs.msdn.microsoft.com/wsl/




출처https://code.apptilus.com/posts/tools/windows-subsystem-linux