한빛출판네트워크

IT/모바일

처음 만나는 WSL

개발자 및 IT 전문가를 위한 리눅스용 윈도우 하위 시스템 실무 안내서

한빛미디어

번역서

판매중

처음 만나는 WSL
좋아요: 16
  • 저자 : 프래틱 싱
  • 역자 : 남정현
  • 출간일 : 2022-02-28
  • 페이지 : 188쪽
  • ISBN : 9791162245293
  • 물류코드 :10529

합계 : 18,000

  • 설치 방법부터 다양한 활용까지 쉽고, 간편하고, 빠르게 익히는 WSL

     

    WSL은 가상 머신이나 듀얼 부팅 설정 없이 윈도우에서 최적화된 리눅스 환경을 제공하는 시스템이다. 이 책은 WSL을 사용하는 다양한 IT 종사자에게 WSL 다운로드와 설치, 환경 구축, 설정, 활용, 배포 방법 등의 과정을 그림으로 하나하나 상세하게 설명한다. WSL 1과 WSL 2의 변화, 각 버전의 장점과 단점, 리눅스와 윈도우의 호환성 등을 자세히 다룬 이 도서를 통해 자유로운 WSL 개발 환경을 구축하길 바란다.

     

     

    상세이미지_처음 만나는 WSL_940px.jpg

  • [저자] 프래틱 싱

    IT 인프라를 관리하는 클라우드 개발자이며, 열정적인 파워셸 블로거이자 오픈소스 커뮤니티 기여자. 그의 블로그(www.ridicurious.com)는 지난 3년간 ‘전 세계에서 인기 있는 50대 파워셸 블로그’로 인정받았다. 기술 문서 작성에 대한 폭넓은 경험을 보유하고 있으며 그의 블로그, 4SysOps.com, IPSwitch.com, TechTarget.com과 같은 여러 웹 사이트에 250개 이상의 글을 작성했다. 파워셸 스크립트와 애저Azure에 대한 주제를 가지고 유튜브 채널을 운영하고 있다. 파워셸과 파이썬에 관련된 기술 서적들을 집필했으며, 최근에는 『PowerShell to C# and Back』(Leanpub, 2021)을 통해 C#과 닷넷(.NET)에 대한 기술 서적을 집필하고 있다. 컴퓨터 앞에서 일을 하지 않을 때는 따뜻한 커피 한 잔과 함께 책을 읽는 것을 좋아하며, 마라톤에 참가하는 것을 정말 좋아한다.

    [역자] 남정현

    2009년부터 13년간 Microsoft MVP로 활동하고 있다. 현재는 ㈜데브시스터즈에서 소프트웨어 개발과 클라우드 컴퓨팅 분야의 기술 작가로 일하고 있다. C#과 닷넷을 사용하는 프로그래머로 경력을 시작한 덕분에 현재는 ‘닷넷데브’라는 닷넷 개발자들을 위한 커뮤니티의 운영진으로 활동하고 있다. 이 외에도 페이스북에서 각자 코딩하는 모임(fb.com/groups/mogaco), 한국 WSL 사용자 그룹(wslhub.com )이라는 커뮤니티에 운영진으로 참여하고 있다. 또한 최근 많은 관심을 받고 있는 오픈소스 프로젝트인 식탁보 프로젝트(github.com/yourtablecloth/tablecloth)를 진행하며 기술 작가뿐 아니라 개발자로서 꾸준히 활동하고 있다.

  • CHAPTER 1 WSL 시작

    _1.1 윈도우 하위 시스템의 역사

    _1.2 WSL 한눈에 둘러보기

    _1.3 WSL 1의 장점

    _1.4 WSL 1의 아키텍처와 구성 요소

    _1.5 WSL 1의 단점

    _1.6 주요 용어와 개념

    _1.7 마무리

     

    CHAPTER 2 다운로드, 설치와 설정

    _2.1 WSL 기능 활성화하기

    _2.2 리눅스 배포판 다운로드하고 설치하기

    _2.3 WSL 구성하고 설정하기

    _2.4 사용자 계정 구성 및 관리하기

    _2.5 배포판 업데이트와 업그레이드

    _2.6 추가 도구와 패키지 설치하기

    _2.7 마무리


    CHAPTER 3 윈도우와 리눅스 섞어 사용하기

    _3.1 WSL 시작 구성 - wsl.conf

    _3.2 윈도우와 리눅스 사이의 경로 변환 - wslpath

    _3.3 공유 환경 변수 - WSLENV

    _3.4 마무리

     

    CHAPTER 4 WSL 배포판 관리

    _4.1 배포판 목록 조회하기

    _4.2 기본 배포판 설정하기

    _4.3 WSL 배포판 백업 또는 내보내기

    _4.4 WSL 배포판 복원 또는 가져오기

    _4.5 WSL 배포판 등록 취소와 제거

    _4.6 커스텀 WSL 배포판 만들기

    _4.7 마무리

     

    CHAPTER 5 WSL 2 알아보기

    _5.1 WSL 2의 새로운 기능

    _5.2 WSL 2의 아키텍처

    _5.3 설치와 구성

    _5.4 가상 머신에서 WSL 2 실행하기

    _5.5 WSL 1과 WSL 2 사이에는 무슨 변화가 있을까?

    _5.6 마무리

     

    CHAPTER 6 파일 시스템

    _6.1 파일 시스템 구성 요소

    _6.2 WSL 파일 시스템 아키텍처

    _6.3 윈도우와 리눅스의 상호운용성

    _6.4 마무리

     

    CHAPTER 7 네트워킹

    _7.1 WSL 네트워킹

    _7.2 WSL 1과 WSL 2 네트워크의 차이점

    _7.3 마무리


    CHAPTER 8 WSL에서 리눅스 개발 환경 만들기

    _8.1 소스 제어

    _8.2 윈도우 터미널

    _8.3 비주얼 스튜디오 코드(VSCode)

    _8.4 WSL 2의 도커 컨테이너

    _8.5 마무리

     

    CHAPTER 9 WSL에서 실행하는 리눅스 데스크톱

    _9.1 Xfce

    _9.2 xRDP

    _9.3 설치와 구성

    _9.4 마무리

  • 윈도우와 리눅스의 경계를 허물고, 개발자의 생산성을 극대화한 WSL

     

    WSL은 윈도우 OS에서 손쉽게 리눅스 터미널 환경을 이용할 수 있도록 해주는 도구다. WSL은 리눅스를 처음 사용하는 개발자, 기존 윈도우 기반의 프로그래머, 최신 데브옵스 기술을 사용하는 엔지니어가 많은 시간과 수고를 들이지 않고 곧바로 리눅스 환경에서 작업할 수 있도록 도와준다. 이 책은 WSL 버전 1과 2의 장단점, WSL 환경 구축법, 윈도우와 리눅스의 혼합된 환경 사용법, WSL 배포판 관리 등을 입문자의 시선에 맞게 상세히 설명한다. 각종 예제와 그림을 하나씩 실습해보면서 내 데스크톱에 커스터마이즈된 WSL 환경을 구축하길 바란다.

     

     

    주요 내용

    • WSL 1과 WSL 2
    • WSL 설치, 설정, 구성, 관리
    • 윈도우와 리눅스의 혼합 환경 구축
    • WSL 배포판 관리
    • WSL 파일 시스템
    • WSL 네트워킹
    • WSL에서 구축하는 리눅스 개발 환경
    • WSL에서 실행하는 리눅스 데스크톱

    • 개발자 및 IT 전문가를 위한 리눅스용 윈도우 하위 시스템 실무 안내서 LINUX 처음 만나는 WSL책이 나왔다. 전반적으로 짜임새가 있고 WSL 책 추천을 할만한 서적이라고 생각이 들었다.


        





       



      이 책을 WSL 책 추천 하며 WSL로 얻을 수 있는 5가지 장점을 배운것을 나열해 볼까 한다. 


       





       



      1. 리눅스 도구에 대한 접근: 윈도우 운영체제에서 리눅스 바이너리를 실행하면 강력한 리눅스 앱과 도구를 사용할 수 있게 만들어 준다. 따라서 윈도우 사용자가 리눅스 기능을 활용할 수 있는 완전히 새로운 기회를 얻게 된다.


       





       



      2. 크로스 플랫폼 개발: 개발자와 시스템 관리자는 모두 WSL을 활용하여 닷넷 코어 (.Net Core) 와 같은 크로스 플랫폼 개발 도구를 활용할 수 있다. 즉, 리눅스 가상 머신을 실행하지 않아도 윈도우와 WSL에서 프로젝트를 쉽게 테스트할 수 있다.


       





       



      3. 올바른 작업에 적합한 도구 사용: 기본 플랫폼에 관계없이 가장 좋은 도구를 사용할 수 있다. 리눅스에 Nginx 웹 서버를 배보하는 것이 편하다면, 윈도우 운영체제 안의 리눅스 하위 시스템에서 Nginx를 실행할 수 있다.


       





       



      4. 일관된 사용자 경험: WSL은 단순한 통합이 아니다. 리눅스 개발자에게 원활한 경험을 제공한다. 리눅스 개발자에게 원활한 경험을 제공하기 때문에 개발자는 마치 리눅스 운영체제에서 작업하는 것처럼 느낀다. 하지만 실제로는 윈도우 운영체제가 제공하는 변환 계층을 통해 네이티브 리눅스 바이너리가 윈도우 운영체제에서 작동하고 있는 것이다.


       





       



      5. 안전한 격리: WSL은 하위 시스템이므로 WSL에서 실행되는 앱은 실제로 호스트 운영체제의 다른 앱을 손상시킬수 없도록 안전하게 격리된 컨테이너에서 실행된다.


       





       


        



      저자는 www.ridicurious.com 을 운영하는 열정적인 파워셸 블로거이자 오픈소스 커뮤니티의 기여자인 프렉팅 싱 이다. (나는 파워셸을 윈도우에서 개발자들에게 추가로 던져준 배울거리라 생각하여 가능한 cmd셸에서 해결하는 것과 bash셸을 선호한다.)


       





       



      옮긴이 남정현님은 2009년 부터 13년간 Microsoft MVP로 활동하고 계시는 분으로 닷넷데브 커뮤니티의 운영진이시고 페이스북에서 각자 코딩하는 모임 mogaco와 한국 WSL 사용자 그룹 wslhub.com 커뮤니티의 운영진으로 참석하고 계신다.


       



       





       



      이 책은 X11 터미널 서버를 이용하여 전체 데스크톱 환경을 구현하는 방법도 다루고 있지만, 윈도우 11 이후의 OS를 사용한다면 X11 터미널 서버 없이도 곧바로 리눅스 GUI 앱을 실행할 수도 있다고 한다.


       





       



      WSL은 본래 개발자가 안드로이드 코드를 재사용하여 휴대폰용 윈도우 앱을 비드 하거나 윈도우에서 기본 안드로이드 앱을 실행할 수 있게 했던 유니버설 윈도우 플랫폼 브리지 도구 키트인 프로젝트 아스토리아(Project Astoria)에서 비롯되었다고 한다. 이는 안드로이드 앱을 최소한으로 변경하여 에뮬레이션된 환성에서 실행하면서 , MS 플랫폼 API에 접근할 수 있도록 하기 위한 기술이었다고 한다.


       



       





       



      WSL은 사용자가 완전한 리눅스 가상 머신을 실행하지 않고도 기본적으로 리눅스 명령 줄 도구, 유틸리티 그리고 리눅스에서 사용하던 ELF64 바이너리를 그대로 윈도우에서 실행할 수 있도록 하는 새로운 윈도우 운영체제 호환성 계층이라고 한다.


       





       



      WSL은 bash 셸을 제공하는 것을 넘어, 실제로 리눅스 운영체제와 똑같이 보이고 동작하는 환경을 실행하는 완전한 호환성 계층이라고 한다. 이제 마이크로소프트는 더 이상 운영체제나 윈도우 또는 리눅스 사용자에 편향성을 지니지 않고 최종 사용자가 기본 플랫폼에 관계없이 앱을 만들 수 있는 최상의 도구를 제공하는 것에 초점을 맞추고 있다고 한다.


       





       



      나는 아직 WSL을 사용할 일이 없어서 앞의 서두의 개요만을 잠깐 읽고 언급하였는데도 이렇게 얻어 갈 점이 많은 책이었다.


       





       



      그럼 이상으로 WSL 책 추천 드리고 싶은 처음 만나는 WSL 책 리뷰를 마쳐볼까 한다.


       



      WSL 입문서나 WSL 책 추천을 받고 싶은 분들이 읽고 소장시며 참조하시면 좋을 것이라 생각이 든다.


       





       



      이 서평을 읽는 분들 매일매일이 더 건강해 지시고 더 행복해 지시길 기원드립니다.


       


       


       



      이 글은 한빛미디어의 나는 리뷰어다 서평단의 자격으로 작성되었습니다.


    • 20220311_192800.jpg


       



      20220401_015117.jpg


       


       


      친절한 WSL 가이드북 


       


      WSL(리눅스용 윈도우 하위 시스템)에 관심 있는 독자는 대부분 데스크탑 Windows에서 Linux 시스템 기반의 개발을 하시는 분들이라고 생각합니다.


       


      WSL이 5년 전에 발표가 되었지만 매뉴얼이나 활용 도서들이 많지 않아서 설치부터 개발환경 구성까지 험난한 산을 넘어야 겨우 시스템 구성이 가능했습니다.


       


      초기 버전과 달리 현재 제공되는 WSL2는 좀 더 안정화되고 뛰어난 성능과 기능을 탑재하여 웹 개발과 오픈소스 개발자의 훌륭한 개발도구로 자리잡고 있지만 여전히 설치는 어렵고 복잡합니다.


       


      그러니까 문제는 바로 ‘설치’와 설치 후 ‘Linux 개발환경 구성’입니다.


       


      일단 Linux 배포판을 먼저 결정하고 설치만 정확히 완료하면 그 다음은 Linux 배포판을 통합된 환경에서 쉽게 사용할 수 있습니다.


       


      제 경험이나 온라인 문서를 찾아보면 Windows 설치 환경이 다양하다 보니 WSL 설치 시 매뉴얼에는 없지만 다양한 오류나 이슈가 발생하곤 합니다.


       


      그래서 이 책의 저자도 1장~4장까지 설치에 대해 집중적으로 다룬 것도 앞에서 언급한대로 다양한 이슈에 대응하여 설치에 성공할 수 있도록 배려한 것 같습니다.


       


      책의 목차를 기준으로 간단하게 설명을 드리겠습니다.


       


      1장은 WSL의 개념, 아키텍처과 몇 가지 단점에 대해서 설명합니다.


      2장부터 WSL 다운로드와 설치에 대해서 다룹니다. 단계 별로 설명에 해당하는 스크린 샷(그림)이 많아서 쉽게 이해가 됩니다.


       


      참고로 현재 WSL2는 마이크로소프트 스토어에서 Linux 배포판을 다운로드 받을 수 있는데 이 책은 여러 Linux 중에 우분투 18 LTS 배포판을 기준으로 설명을 합니다.


       


      2장에서 설치된 배포판을 실행하고 기본적인 사용자 계정 추가 및 배포판 업데이트 정도의 관리 지식에 대해 설명합니다.


       


      사실 Linux 시스템 관리는 “WSL과 개발환경 구성”이라는 큰 주제에서 벗어나므로 별도의 전문 서적으로 참고하면 될 것 같습니다.


       


      3장에 설치와 구성에서 중요한 내용이 많습니다. 


       


      Windows와 Linux가 혼합된 환경이라 두 운영체계의 충돌없이 운영환경을 구성하는 것이 중요한데 핵심이 되는 WSL의 시작 구성 파일인 wsl.conf와 공유 환경변수에 대해 학습합니다.


       


      4장엔 WSL에서 Linux 배포판을 등록하거나 제거 혹은 재설치하는 방법에 대해서 배웁니다.


       


      대부분이 Windows의 파워셸에서 실행되는 단조로운 명령이기 때문에 쉽게 따라해 볼 수 있습니다.


       


      여기 까지만 공부해도 Windows안에 Linux를 자유롭게 설치해서 개발에 즉시 활용할 수 있습니다.


       


      5장이후부터는 고급 사용자를 위한 WSL2 기본 아키텍쳐와 새로운 기능, 파일 시스템과 네트워크에 대해서 배웁니다.


       


      8장의 내용이 개발자에겐 중요한 내용인데 소스 버전 관리를 위한 git, IDE 설치, 도커 등에 대해서 설명하고 있습니다.


       


      비록 책이 188 페이지로 다소 얇은 편이나 WSL의 핵심 기능을 명확하게 설명하고 있어, 초보자도 일주일안에 WSL을 설치해서 다양한 분야에 활용할 수 있을 것으로 확신합니다.


       


      "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

    •  


      처음 만나는 WSL 아마 WSL이 무엇인지 한 번이라도 들어 본 적이 있다면, 현 개발자이거나 개발자였을 것이다.



      KakaoTalk_20220331_234047947.jpg


      WSL은 Windows Subsystem for Linux의 약자이다. 리눅스를 잘 따르고 원활하게 사용하는 분들에게는 필요가 없겠지만, 윈도우를 주로 사용하는 분들에게는 굉장히 좋은 기능이라고 생각한다. 굳이 가상머신을 설치하여 리눅스를 사용하는 방법도 있지만, 윈도우 안에서 윈도우 프로그램으로 된 기능들을 사용하여 원하는 리눅스의 기능을 사용할 수 있는 것이다.



      KakaoTalk_20220331_233649642.jpg


      구조가 저렇게 되어 있다고 하는데, 구조야 어떻게 되어 있든 윈도우에서 리눅스를 실행하고 사용할 수 있는 것이다. 


       


      책은 크게 9챕터로 구성이 되어 있다.


       


      당연히 WSL의 이론적인 설명부터 설치 방법, 개발 환경 구축, GUI 환경에서 리눅스를 사용할 수 있도록 Xfce 등의 내용들이 정리되어 있다. 윈도우를 사용하다 갑자기 리눅스가 필요하게 되었을 때 막연하게 가상머신에 리눅스를 설치해서 하는 것보다, WSL을 활용하여 원하는 작업을 하면 굉장히 효율적일 것이다.​


       


      그리고 이 책의 장점으로는 WSL을 활용하여 할 수 있는 것들과 윈도우 사용자가 리눅스를 사용하면서 놓칠 수 있는 부분들을 친절하게도 미리 모아 놓았다.


       


      예를 들면, 윈도우와 리눅스 간의 대소문자 처리 방식 차이라든지



      KakaoTalk_20220331_233649941.jpg


      윈도우에서 비주얼 코드(VSCode)를 사용하여 개발하는 방법 등



      KakaoTalk_20220331_233650080.jpg


      윈도우 주 사용자가 리눅스를 이용하여 뭔가 할 일이 생겼다면, 이런 편리한 방법도 있으니 리눅스를 설치하기 전에 책을 보고 WSL를 한 번 사용해 보는 것도 좋을 것 같다.

    • 달마다 그렇듯 한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받았습니다.

      WSL1이 나오고, 2가 나온지도 몇년이 지난 것 같다.

      아직 개발에 사용하기엔 그냥 리눅스만 설치하거나 가상머신을 사용하는거보다 부족한 부분이 많은건지 이유는 잘 모르겠지만, 최근들어 조금씩 안정적이고 개선되기 전까진 국내에선 관심에 비해 많이 쓰이진 않은 것 같다.
      심지어 국내에 출간된 wsl도서는 이책 포함 2권뿐이다.

      나도 wsl을 단순한 흥미 목적에서 설치하고 사용하고 있지만, 여전히 내 노트북의 다른 SSD에는 별도의 리눅스가 설치되어있다.

      일단은 작년에서야 공식적으로 wsl2에서 gui를 지원하게 되었고, 그 전까지는 약간 비공식적인 루트라 그런가 잘 되지 않았다.
      그리고 내가 기대했던 기능 중 하나는 라즈베리파이 의 sd카드에 있는 windows에선 읽을 수 없는 리눅스파티션을 wsl로 접근가능한가였다.
      근데 마소가 usb기능은 아직 안넣어놔서 못했던것같다.

      뭐 이거는 그렇다고 치고, 내 경우엔 wsl2에서 네트워크관련 버그도 있었다.
      처음 들어갔을때 네트워크 연결이 안된다.
      그래서 resolv.conf파일에서 1.1.1.1로 매번 바꿔줘야한다.
      매우 귀찮다.

      "구글링하면 해결책이 있겠지"생각하고 해봤었다.
      근데 wsl github페이지 보니까 나랑 같은 현상을 겪고 있는 사람들이 있었다. 그리고 그 밑에는
      "나도안됨.
      나도 안되는데.
      나도 안돼요.
      저도 안됨요.
      아 나 이렇게 이렇게 했는데 해결됨.
      나 그거 해봤는데 그것도 안됨.
      .
      .
      .
      "
      대충 이랬던것같다.
      나도 거기서 제시된 해결책 몇개 따라해봤는데 안됨.

      그래서 친구가 gui깔아서 보여줬을때도 "어 이제 되네"하고 말았다.


      그런데 이 책에 wsl의 네트워크 관련 내용이 있다.

      그래서 읽어보고 몇가지 테스트를 해보려고 했는데, 바빠서 아직도 하지 못했다.


      만약 WSL관련 작업을 하다 막히는 것이 있어서 Microsoft의 WSL설명 페이지와 GITHUB을 봤는데, 해결책이 없어 구글이 가장 먼저 보여준 블로그를 따라했는데도 도저히 해결이 되지 않을 때!

      이 책을 읽어보시기 바랍니다.

      솔직히 설치하고 세팅하는 내용만 거의 반에다가 WSL2만 다루는게 아니라 WSL1까지 다루고 있어서 계속 사용하시던 분들이면 이미 알고있는 내용이 꽤 될 것 같은데,
      마소의 기계번역이나 블로그의 경험에서 나온 설명이 아닌 전문가가 WSL의 가상 구조라던지, 파일시스템과 네트워크 작동방식을 상당히 자세히 설명해주니 읽다보면
      여기가 문제가 있는게 아닐까??
      하면서 자연스럽게 문제해결을 위한 깨달음을 줄 수도 있습니다.

      https://blog.naver.com/aul-_-/222688387039

    • WSL. Windows Subsystem for Linux.


      윈도우에 포함되는 된


      리눅스용 윈도우 하위 시스템이다.


       


      기존에는 윈도우안에서 리눅스를 사용하려면


      가상머신(Virtual Machine:VM)에 리눅스를 설치하는 것이


      가장 최선의 방법이었다.


       


      하지만, 리눅스가 설치된 별도의 PC처럼


      모든 기능을 그대로 사용할 수 있고


      최선 버전의 리눅스를 사용할 수 있다는 장점도 있지만


      CPU와 메모리와 그 밖의 많은 자원의 오버헤드가 있어서


      시스템 사양이 여유로운 편이 아니라면


      다소 버벅거리는 등의 제약이 있었다.


       


      하지만, WSL은 리눅스 가상머신을 실행하지 않고


      리눅스에서 사용하던 바이너리를 


      리눅스에서 실행되던 것처럼 똑같이 보이고, 동작하게 해주는


      윈도우의 호환성 계층을 말하며


      잘 만들어진 리눅스 터미널 환경을 제공한다.


       


       



      처음만나는WSL.jpg


       


      WSL을 처음 알아가기 위해


      관련된 주요 용어들과 개념들을 잘 설명해주고


       


      다운로드와 설치 및 설정방법에서부터


      윈도우와 리눅스를 섞어 사용하는 방법을 알려준다.


       


      파일 시스템의 아키텍처와 상호운용성과


      WSL과 WSL2의 네트워킹 차이에 대해서도 알수 있으며


       


      WSL에서 리눅스 개발 환경을 만드는 방법도 알 수 있어서


      윈도에서 리눅스용 프로그램을 개발 하려는 사람에게도


      도움이 될 듯하다.


       


       



      "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."


       


       


    • 처음 만나는 WSL


       


       


       



      대상독자


      1. 윈도우 시스템에서 리눅스를 맛보고 싶은 초보 개발자.

      2. VM 환경에서 리눅스 시스템을 테스트 환경으로 사용 했던 개발자.

      3. 맥북을 구매 할 수 없는 저처럼 가난한 개발자....ㅠㅠ


       


       



      난이도

      어느정도 리눅스 시스템을 접해본 경험 있는 개발자입장에서는 정말 쉽고


      한번도 리눅스 시스템을 경험해보지 못해본 개발자 입장에서는 적당한 난이도가 될듯 합니다.


       



      내용

      9개의 챕터로 구분 되어 있지만 자세히 보면 크게는 3개정도로 볼 수 있을것 같습니다.



      1. WSL이란?

      2. WSL 설치.

      3. WSL 사용.


      처음 WSL을 접해본건 WSL1의 베타였습니다.


      그 당시 제대로 실행 되지 않는다거나 디렉토리 구조, 권한 문제등 여러가지 버그가 있어서 사용을 미뤘었습니다.


      이 책을 읽어보면서 다시 WSL을 접하게 되었는데 이제 개발용도로 사용 할 수 있을만큼 쾌적해진듯 합니다.


      윈도우와 WSL간의 공유하던 스토리지도 리눅스 파일 시스템으로 완전히 구분되어서 이전 버전에서 발생 하던 버그들도 사라진것 같았습니다.


      당연한 얘기지만 버전업이 되면서 성능도 향상이 있는것 같습니다.


      책에서 더 자세한 내용을 다루고 있으니 더 알고 싶으면 읽어보시길 권합니다.


       



      그 외...

      "나는 이제부터 공부를 시작한다."라는 부담감 없이 출퇴근 할 때 쉽게 읽어볼 수 있는 책이었습니다.


      190페이지도 되지 않아서 무겁지도 않고 압박도 적었습니다.


      윈도우 환경을 벗어나 맥을 통해서 유닉스 환경에서 개발 하시는 분들도 많으시겠지만


      개인의 사정, 회사의 사정 또는 개발 환경 때문에 윈도우를 사용 해야 한다면 리눅스를 공부 하고 싶어도 할 수 없었던


      분들에게는 좋은 시스템인듯 합니다.


      리눅스를 공부 하시겠다면 그리고 WSL을 자세히 알고 싶으신분은 이 책으로 시작 하셔도 좋을것 같습니다.


       


    • 001.png


       



      하나의 컴퓨터에서윈도우와 리눅스를 사용하기 위해서는 멀티 부팅을 이용하여 윈도우와 리눅스를 각각 설치하거나, 호스트시스템에 가상 머신을 설치하고 다른 운영체제를 게스트 시스템으로 설치하는 것이 일반적이다. 예전에는멀티 부팅을 이용한 방법을 많이 사용했지만, 컴퓨터의 성능이 좋아지고,CPU가 가상화 관련 기술을 직접 지원하면서 현재는 가상 머신을 더 많이 사용한다. VMWare, VirtualBox는이러한 가상 머신을 사용할 수 있도록 해주는 인기있는 도구이다.



       가상머신을 이용한 방법이 하나의 시스템에 여러 게스트 시스템을 사용할 수 있도록 해주는 장점이 있으나, 별도설치 및 운영에 따른 번거로움 역시 존재한다. 리눅스의 경우, 프로그래밍이나컴퓨터 작업과 관련하여 편리하게 사용할 수 있는 도구들이 많은 데, 이를 사용하기 위해 새롭게 리눅스를설치하는 것은 여전히 많은 노력을 필요로 한다.



       WSL(Windows Subsystem for Linux)은 이러한 불편을 해결하고자 하는 데에서 시작했다. WSL은 가상 머신을 생성하고 새로운 운영체제를 설치하는 과정없이 개발자들이 리눅스를 사용할 수 있도록 해준다. ‘처음 만나는 WSL’은 전체 9개의챕터를 통해 WSL의 개발 이야기에서 WSL을 사용하기 위한준비 과정, WSL1WSL2의 차이점, WSL 파일 시스템과 네트워크, WSL에서 리눅스 개발 환경을 만들고리눅스 데스크톱을 실행하는 방법 등 그동안 널리 알려지지 않은 WSL에 대해 다루고 있다.



      컴퓨터 관련 전문 서적들은 대체로 두툼한 외모를 자랑하는데, 이 책은채 190 페이지가 안된다. 하지만 윈도우 환경에서 리눅스관련 개발을 시작하거나 리눅스 도구를 사용하고자 하는 개발자들에게 꼭 필요한 핵심 내용을 담고 있다. 특히옮긴이의 주석과 추가 설명 및 관련 자료에 대한 링크는 한정된 지면에 담지 못한 다양한 정보를 독자가 관심을 갖고 찾아 볼 수 있도록 해준다. 윈도우와 리눅스의 경계를 허물고 생산성을 극대화하고자 하는 개발자들에게 추천한다.



       


       



      "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."


       


       


    • 맨 처음에 리눅스를 깔고 사용하려다 보니까 시행착오가 많았는데(정확히는 리눅스에서만 돌아가는 관리 플랫폼을 사용하려다 보니) 막상 구글링을 할 때 참고할 문서가 생각보다 많지 않았다. 그나마 있는 포스팅에서는 작성자가 굉장히 고난을 겪은 흔적이 보여서 나 또한 많은 도움을 받으면서도 이게.. 이렇게 어려울 일인가? 라는 생각이 들었다. 


      특히 '아니 이게 왜 안되지?' 라는 생각이 드는 부분은 이것저것 뒤져서 추론에 가까운 결론을 내리고 대안을 찾느라 정신없었다. 그리고 저자도 말하고 있는데 WSL2의 경우 WSL1과는 조금 차이가 있다. 그러므로 막상 구글링을 하면 WSL1 포스팅이 걸려들 가능성이 있으므로 주의해서 WSL2로 도움을 받는 걸 추천한다.



      1장 : WSL 시작


      WSL의 시초라 할 수 있는 WSL 1을 먼저 살펴본다. WSL은 윈도우에서 달러 기호 모양의 프롬프트를 사용할 수 없어 가상머신을 만들고 그 안에서 리눅스를 돌리는 수고를 덜어준다. 그리고 리소스 소비도 최소화한다. 확실히 옛날에 가상머신 설정할 때 메모리가 충분치 않으면 이것저것 파일 정리를 했어야 했는데 WSL을 사용하게 된 후로는 이런 수고를 덜 수 있다. 


      but 리눅스가 오픈소스 운영체제기 때문에 시시각각 변화하는 사항들을 마소에서 실시간으로 반영해 WSL1에 넣어줄 순 없다. 즉 업데이트 사항의 시간차가 존재한다. 


      또한 모든 리눅스 소프트웨어를 실행할 수 없는데 WSL 프로그램 호환성 목록을 찾아볼 수 있다. 이 경우 WSL2에서는 하이퍼 V 기반의 경량 유틸리티 가상머신을 만들어서 리눅스를 실행하므로 WSL1의 제한사항을 상당 부분 해결했다.


      몇몇 약어 정리



      - NT : New Technology


      - WSL : Windows Subsystem for Linux


      - ELF : Executable and Linkable Format(실행 가능하고 링크 가능한 형식)


      - PE : Portable Executable(이식 가능한 실행 파일)


      - API : Application Programming Interface(애플리케이션 프로그래밍 인터페이스)


      - PEB : Process Environment Block(프로세스 환경 블록)


      커널 : 사용자 애플리케이션과 하드웨어 간의 인터페이스


      응용프로그램 > 드라이버 > 드라이버 > 커널



      2장: 다운로드, 설치와 설정


      WSL을 설치하기 전에 GUI 방식으로 WSL을 활성화해준다. 나의 경우 리눅스 배포판은 우분투로 설치했다. 


      WSL은 윈도우 사용자 계정과 동일한 접근 권한을 가진다. 즉 Administrator 권한 하에 있는 디렉터리는 WSL 또한 접근하지 못한다.


      우분투 배포판 패키지 업데이트와 업그레이드 명령어


      sudo apt update && sudo apt upgrade



      3장 : 윈도우와 리눅스 섞어 사용하기


      WSL 시작 구성 - /etl/wsl.conf


      [automount], [network], [interop] 섹션으로 WSL 시작 구성 파일 설정 방법


      윈도우와 리눅스 사이 경로 변환을 돕는 유틸리티 : wslpath, WSLENV



      4장 : WSL 배포판 관리


      배포판 목록 조회: wsl -l, wsl --list


      WSL 배포판 백업 방법 : 관리자 권한으로 명령 프롬프트 시작 후 wsl --list -all.


      리눅스 배포판 환경 이름 체크 후 배포판 이름과 tar 파일 저장할 경로를 전달해서 아래와 같이 실행


      wsl --export Ubuntu-18.04 c:\temp\ubuntu1804.tar


      WSL 배포판 복원 방법 : 관리자 권한, 명령 프롬프트 실행. 


      wsl --import SLES-Imported c:\temp\ c:\temp\SLES.tar


      5장 : WSL 2 알아보기


      WSL 최신버전이다. 가장 고도화된 기능을 제공한다. 


      - 더 나은 파일 입출력 성능 : WSL 1에 비해 2-3배 정도 빠르다. 압축 파일 푸는 것은 약 20배 정도 빨라졌다고 한다.


      - 완전한 시스템 호출 지원 : 커널 업데이트를 쉽게 제공할 수 있또록 자체 관리하는 리눅스 커널을 포함한다. 도커나 고급기능을 사용하고 기존에 지원되지 않았던 더 많은 앱을 원활하게 실행할 수 있다. 


      WSL2는 기본적으로 하이퍼 V와 같이 경량 VM에서 실행된다. 그렇기 때문에 하이퍼-V 기반 가상머신에서 직접 WSL을 실행할 수도 있다. 


      6장 : 파일 시스템


      윈도우에서 리눅스로, 리눅스에서 윈도우로 파일을 접근할 때 유용성을 향상시킨 것이 WSL이다. 


      7장 : 네트워킹


      WSL 1에서는 윈도우 애플리케이션과 같은 네트워크 인터페이스 카드(NIC), IP 주소, DNS 서버를 사용한다.


      WSL2는 하이퍼-V 기술을 기반으로 만들어진 경량 유틸리티 VM에서 실행되기 때문에 전용으로 가상화된 네트워크 인터페이스가 있고, 전용 IP 주소와 DNS 서버 설정이 부여된다. 


      8장 : WSL에서 리눅스 개발 환경 만들기


      VS Code에서 Remote - WSL 확장을 설치 후 개발자가 WSL을 비주얼 스튜디오 코드의 개발 환경으로 사용할 수 있다. WSL 파일에 접근해서 편집하거나 윈도우에서 리눅스 애플리케이션을 직접 디버깅하기도 편하다. 윈도우와 리눅스 간 많은 경로 변환과 호환성 문제도 처리한다. VS Code로 연결하는 부분이 유익했다. 


       



       "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."


    • SE-fb8e594d-286e-4098-a8d0-ced6ec86547f.jpg



      WSL이 등장한 것은 2016년부터 였지만, 최근에 들어서야 사용자들이 많아지기 시작했다. 컴퓨터 사용자들 대다수가 윈도우 운영체제를 사용하기 때문에 개발자들도 윈도우 환경에서 테스트가 필요하다. 스택오버플로우 2021 통계에 따르면 개발자들 45% 정도는 윈도우 운영체제를 선호한다고 한다. 그러나 재밌는 점은 2021년도부터 WSL도 하나의 운영체제로 선호도 반열에 올라섰다.


       


       


       



      dfdfdf.jpg


       



      나 역시 윈도우 환경에서 서류 작업과 코드를 짜면서 동시에 리눅스 환경에서 빌드 테스트를 해야할 일이 많다. 보통은 가상머신을 설치하여 리눅스 환경을 별도로 구축하거나, 리눅스 노트북을 이용하여 개발을 진행해왔다. 그러나 WSL 존재를 알고난 이후부터 따로 해도 되지 않아 편리해졌지만, 아직 개선점이 많이 필요하지만 훌륭하게 동작하고 있다.



      WSL 사용자가 극히 드물기 때문에 정보를 입수할 방법이 제한적이였는데, 이런 책이 등장해서 매우 반가웠다.



      무엇보다 WSL 1과 2의 아키텍처를 보여주면서 어떤 식으로 동작하는지 설명하는 파트가 가장 좋았다. 아쉬운 점은 아니지만 워낙 개발이 활발하게 진행되고 있기 때문에 설치 과정 일부분은 책 내용을 따라하더라도 제대로 동작하지 않았다. 그래픽 카드 드라이버 설치도 별도로 해주었지만 VS code 상에서 인식을 제대로 하지 못했다. 리눅스 환경에서 하던대로 동일하게 설치하였지만 어떠한 부분이 잘못되었는지 파악하기 힘들었다.



      책에서도 설명되어있지만 리눅스의 모든 기능을 지원하지 않는다. 마이크로소프트에서 최신 버전의 리눅스에서 제공하는 새로운 기능을 구현할 때까지 기능 차이가 존재할 수 밖에 없다. 따라서 WSL에서 일부 리눅스 소프트웨어를 제대로 실행하지 못할 수도 있다는 얘기다. 물론 깃허브 레포지토리에서 커뮤니티가 관리하는 WSL 프로그램 호환성 목록을 찾아볼 수 있긴 하지만...



      윈도우11에서는 WSL2를 기반으로 WSL 문제점을 보완한 WSLg가 나온다고 한다. WSL 버전이 많아지는 느낌이 들어서 왠지 꺼림직 하지만 점점 더 개선된 버전이라고 하니 일단은 마음에 드는 편이다. 개인적으로 마이크로소프트에서 WSL에 최대한 많은 지원이 들어갔으면 한다. WSL 자체는 계속해서 업데이트가 되기 때문에 책 내용 일부는 맞지 않을 수 있지만, 아키텍처나 다이어그램 흐름도는 동일하기 때문에 WSL을 지속적으로 사용하는 개발자라면 한 권쯤은 사둘만 하다고 본다.



      "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."


    • 개발을 하다보면 필수적으로 마주치게 되는 개념이 리눅스 입니다.
      특히 서버쪽에서는 인프라 관련 공부를 할 때 리눅스 지식도 비중을 차지하죠.
      윈도우로 리눅스를 공부하는 분들이라면 [처음 만나는 WSL] 책이 공부하는데 많은 도움이 될 것입니다.


      • WSL 이라는, 사용자가 완전한 리눅스 가상 머신을 실행하지 않고도 기본적으로 리눅스 명령 줄 도구, 유티리티, 그리고 리눅스에서 사용하던 ELF64 바이너리를 그대로 윈도우에서 실행할 수 있도록 하는 새로운 윈도우 운영체제 호환성 계층을 배울 수 있습니다.

      • 어렵기만 한 리눅스의 기본 개념도 덤으로 얻어갈 수 있습니다.

      • 다만 Mac OS 유저들에겐 적합하지 않은 책이라 필히 참고해두시면 좋을 것 같습니다.



    • 표지부터 귀여운 책이다. 책 자체가 다른 개발 서적에 비해서 굉장히 얇다. 200쪽도 안된다.



      보통 기본서는 최소 300쪽 이상이라서 보기 부담스러운데 이 책은 얇아서 좋다.


       


       



      WSL을 입문하고 싶은 사람에게 좋은 책이다.



      이런 입문서에는 그림이나 사진이 중요한데 이 책은 중요한 개념들을 그림으로 보여주고



      실습할 때는 사진에 번호까지 붙여줘서 한눈에 보기 좋아 따라 하기가 쉬웠다.









      1장 WSL 시작에서


       



      윈도우의 시스템의 역사부터 시작해서 WSL이 무엇이고 장점, 아키텍처 구성요소, 단점, 주요 용어들을 알려준다.



      - 단순히 글로만 설명하지 않고 아키텍처를 그림으로 그려줘서 이해하기가 좋았다.


       



      2장 다운로드 설치와 설정에서는



      장 제목 그대로 WSL을 설치하는 방법들을 알려준다.



      - wsl이 설치하는 여러 가지 방법을 알려준다. 이때 그림에 번호까지 붙여줘서 한눈에 파악하기가 쉽다.


       



      3장 윈도우와 리눅스 섞어 사용하기에서는



      WSL의 시작 구성을 사용해 윈도우 파일 시스템을 자동으로 마운드 하고, 호스트 파일에 새로운 항목을 추가하고 WSL에서 윈도우 프로세스와 실행 파일을 실행하는 방법을 알려준다.



      - 3장에서도 마찬가지로 터미널 창에도 숫자를 붙여서 알려주니 어떤 식으로 진행해야 될지 알 수 있어서 좋았다.


       


       


       



      4장 WSL 배포판 관리에서는



      기본 배포판 설정, 내보내기 기능을 사용해 구성과 설정을 백업하거나, 가져오기 기능을 사용해 배포판을 복원하는 방법 등 WSL에서 리눅스 배포판 관리 방법을 알려준다.


       


       



      5장 WSL 2 알아보기에서는


       



      WSL2에 대해 배우고 새롭게 추가된 기능, 버전 1과 버전 2 차이점에 대해 알려준다. 컴퓨터에 WSL2를 설치하고 리눅스 배포판에서 WSL 2를 사용하는 방법도 알려준다.


       



      6장 파일시스템에서는



      리눅스 운영체제 내에서 리눅스 방식으로 파일을 작업하는 것처럼 WSL이 어떻게 파일 시스템에 관련된 기능을 제공하는지 알려준다.


       



      7장 네트워킹에서는



      WSL이 하위 시스템 내에서 네트워킹을 구성하는 방법과 시스템의 네트워크 변경 사항이 윈도우에서 WSL로 전파되는 과정을 알려준다.


       



      8장 WSL에서 리눅스 개발 환경 만들기에서는



      vscode, wsl 원격 확장을 통해 개발자들이 리눅스 기반의 애플리케이션을 윈도우 운영체제 자연스럽게 실행될 수 있게 지원해 주는 여러 도구, 런타임들에 대해 알려준다.


       



      - 8장 자체가 모든 장 중에서 내용이 제일 많다.



      - 이 부분에서도 사진이 굉장히 자세하게 나와있어서 좋았다.






      9장 WSL에서 실행하는 리눅스 데스크톱에서는



      WSL에서 데스크톱 환경을 활성화하는 데 필요한 도구, 서비스, 단계별 구성과 설정 과정에 대해 알아본다.






      가볍고 빠르게 WSL에 입문해 보고 싶은 사람에게 추천합니다!!


    • "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."


      오늘 소개할 책은 [처음 만나는 WSL] 이다. WSL에 대해 다소 생소할 수 있는데, 사실 일반적인 ICT 용어는 아니다. 이 단어는 Microsoft에서 사용하는 "리눅스를 위한 Windows 하위 시스템(Windows Subsystem for Linux)"의 약자이다. 일반적으로 Windows에서 Linux 시스템을 사용하려면 이제까지는 당연히 가상화 프로그램 즉, VMWare, VirtualBox 또는 Microsoft의 Virtual PC를 통해 그 위에 가상머신으로 Linux를 올렸었다. 하지만 이제 Linux를 사용하기 위해 가상화프로그램을 먼저 설치하고 그 위에 가상머신으로 Linux 시스템을 설치할 필요가 없게 되었다. 그래서 Linux 시스템에서 사용하는 명령어 grep, sed, awk과 같이 널리 쓰이는 명령어를 사용할 수 있게 되었다. 


      제대로 된 WSL 책이 필요하던 차에 이 책이 출간되어 반가운 마음이 먼저 앞섰다. MySQL같은 경우 수업할 때 Windows 10위에서 설치해서 필요한 SQL 명령어를 강의할 수 있거나, 위에서 언급한 가상화 프로그램을 설치하고 Linux(특별히 Ubuntu 20.04 LTS)를 설치하고 그 안에 Ubuntu용 MySQL을 설치해서 Windows 10에서 MySQL Workbench로 연결하는 방법을 소개했었는데, 이제는 WSL을 사용하면 그 작업을 훨씬 생략하고 쉽게 이용할 수 있게 된 것이다. 이 책은 WSL에 대한 소개, 설치 및 설정부터 배포판 관리, 그리고 WSL에서 Linux 개발 환경을 셋팅하는 방법까지 꼭 필요한 내용을 망라하고 있다. WSL을 제대로 공부해보고 싶은 분들에게 꼭 필요한 학습서가 출간된 것이다. 다만 아쉬운 것은 내용 자체가 어려운 것이 아니어서 책으로 출간될 만큼 양이 많지 않았기 때문인지 모르지만, WSL2를 이용해서 작업해도 충분함에도 굳이 WSL1에 대한 설명이 좀 길었다는 것이다. WSL1에 대한 간단한 설명을 하고 바로 WSL2 설치부터 진행했으면 좋았을 것이고, 대신 명령어에 대해 보다 더 자세한 설명을 있었으면 베스트였다라고 생각한다. 자~ 이제 Windows10에서 Linux 시스템을 제대로 배워보자.


    • unnamed (1).jpg


       


      지은이가 IT인프라를 관리하는 클라우드 개발자로서 실무적인 내용을 맛 볼 수 있게 해놓은 책이다.


       


      개발자 공부를 하였을때 주위에 윈도우에는 익숙하여도 리눅스, 터미널에 익숙하지 않은 학습자들이 꽤 있었다.


       


      이 책은 주로 GUI가 아닌 리눅스 커널로 많은 것을 실행하게 되는데


       


      예전에 맥OS를 다뤄본 적이 있어서 어렵지는 않았다.


       


      네트워크도 살짝 담겨있어서 깊은 내용이 포함된건 아니지만 전반적으로 WSL로 이렇게 할 수 있다라는 것을 


       


      경험할 수 있어서 좋은 책이였던거 같다.


       


      "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."


    • > 진행에 앞서


      한.. 10년전에는 윈도우가 대세였다. 윈도우는 한 때 '치명적 오류 = 블루스크린'이라는 말을 만들 정도로 오명을 뒤집어 썼던 그런 OS이지만, 윈도우7을 기점으로 새롭게 탈바꿈하여 많은 안정성을 가져왔고, UX에서도 사람들에게 자연스러움을 최대한 심겨주었고, 보는 즐거움마저 안겨준 UI를 보여주기도 하였다.


      그러한 윈도우7의 발전이 꽤나 익숙해질 무렵, macOS는 다시 재정비를 하여 OSX의 버전업을 하면서 우리에게 다가왔고, 지금은 개인 사용자들에게(특히 개발자나 크리에이터를 중심으로) 윈도우보다도 macOS를 선호하도록 만들었다.


      나 역시도 OSX를 2010년 초반에 좀 사용하다가 아직은 굳이 편리하다고 느끼지는 못하여 윈도우 위주로 사용하였고, 그 사이에 리눅스도 많이 익숙하도록 노력하면서 최대한 나의 직업을 잘 활용하는 방향으로 학습해 왔었다. 그러다가 다시 2018년 이후부터는 macOS를 점차 활용하기 시작하였고, bash 쉘(zsh로 바뀌긴 했지만) 등의 활용으로 macOS가 이제는 개발자의 측면에서는 편하다고 느끼고 있는 것이 사실이다.






      그러던 중 윈도우도 윈도우10을 지나, 윈도우11을 내고 꾸준히 발전하고 있었는데, 그 사이에 포함되어 있었던 WSL의 존재를 신기하나 대수롭게 여기지 않았기 때문일까. 잊고있던 것이 생각났다. 이 책을 보면서 WSL(Windows Subsystem for Linux)은 얼마나 발전되었으며, 이것은 어떻게 활용이 가능할까 궁금해하며 이 책을 열어보기 시작하였다.







      > 책에 대한 간단한 정보


      앞표지. 리눅스를 상징하는 펭귄이다.


      이 책은 WSL의 전반에 대해 간략하게 기록된 책이다. 이 책을 보았다 하여 WSL의 모든 것을 알 수는 없다고 생각할 만큼 책이 두껍지도 않다. 하지만 단순 bash쉘을 넘어서서 윈도우 내에 포함된 리눅스 시스템이 얼마나 활용가치가 있는지, 그리고 상호 운영체제간 연동성을 위해 알아야 하는 필요성이 있다면 그런 필요를 채워주는 내용으로 기록되어 있다.


      머릿말에 보면 역자는 한국 WSL 사용자 그룹에 속해있고 운영중이다. 그래서 필요시 한국 WSL 사용자 그룹에도 방문하여 도움을 얻었으면 좋겠다고 말하고 있다.(wslhub.com)






      이 책에 수록된 내용을 알려주는 뒷표지


      리눅스하면 생각나는 검정색 터미널 화면과 펭귄을 내세운 디자인이기에 바로 이해가 되었다.


      윈도우를 사용하지만 리눅스에 관심이 있는 개인사용자라면 WSL에 대한 정보를 쉽게 접할 수 있도록 책이 얇게 나온 것도 특징이다.











      > 인상깊은 부분들


      마운트에 대한 부분.


      WSL의 전반적인 구조를 알 수 있었기 때문에 좋았던 부분은 뒤에서 다시 언급할 것이지만, 그 중 파일시스템에 대해서 언급한 내용은 꽤 인상적이었다. 사실 실생활에서 서로 다른 OS간에 난관을 겪기 쉬운 부분이 바로 파일시스템이기 때문이다. OS가 다르면 서로 인식되는 파일시스템도 다르기 때문에 불러올 수 없는 경우도 많다. 대표적으로 Mac의 OSX시절 NTFS 파일을 불러오기 위해 별도의 유틸을 설치했던 경험이 있었으며, 리눅스에서도 ext부터 ext4까지 공부하지 않으면 알 수 없는 시스템으로 난관을 겪기 일쑤이기 때문이다. (ext4에 대해 궁금하다면 아래를 참고)



      https://blog.soobinpark.com/142



       


      ext 파일시스템에 대한 정리(ext4까지)


      리눅스에서는 ext포맷을 사용한다. 시스템 파티션에서는 당연히 ext 포맷은 필수이지만, ext 포맷의 장점을 제대로 알아야 추가로 사용하는 파티션에도 FAT나 NTFS, HTFS가 아닌 ext 파티션을 적용할


      blog.soobinpark.com




      여기에서는 drvfs파일시스템으로 마운트되어서 WSL 내에서 활용이 가능함을 알려주고 있으며, 이것은 NTFS와 ReFS만 지원한다고 말하고 있다. 사실 윈도우10 이상을 활용하는 사용자라면 더이상 FAT32를 사용하지는 않을 것이기에 이정도면 충분해 보이며, NTFS정도만 되어도 서로 호환이 완벽하게 된다고 생각되기 때문이다. 물론 이 책에 구체적으로 더 실린 부분인 파일의 대소문자를 다루는 문제에 있어서는 몇가지 설정이 더 필요하기는 하지만(리눅스는 대소문자 별도 구성이 가능하므로) 기본적으로 c와 d 드라이브 등 윈도우에서 기본적으로 사용하는 드라이브를 자동으로 마운트되어 사용할 수 있게 한다는 점을 다룬다.






      WSL1과 WSL2와의 차이를 말하며


      WSL의 아키텍쳐에 대해 말하는 부분과 함께 나온 부분이다. WSL1과 WSL2의 차이도 함께 말하고 있는데, WSL1에서는 과도기적인 느낌을 주고 있다고 생각을 주는 부분이 이러한 부분인데(NTFS를 사용하여 윈도우 드라이브에 확장 속성을 주어 저장) WSL2에서는 별도의 OS에 가깝도록 모든 리눅스상의 파일들이 ext4 파일시스템을 사용하는 하드웨어 디스크(VHD)에 저장됨을 말하고 있다. 이 밖에도 9P서버 등 사용자 모드와 커널 모드 사이에서 작동하는 원리가 궁금하면 이 책을 읽는 것이 큰 도움이 될 것이라고 생각된다.






      몇 가지 실습 중 하나


      이 책의 실습을 한 내용 중 하나인데, 환경변수에 대한 내용이다. 리눅스에서 환경변수 설정을 했을 때 윈도우에서 그것을 활용하도록 하는 방법이다. 물론 그 반대도 가능하다. 또한 윈도우에서 리눅스의 프로그램을 접근하는 방법과, 서로간의 git ssh key를 공유해서 사용하는 방법 등, 윈도우에서 쉘을 실행하지 못해서 한계가 있었다면 그 한계를 당당하게 넘어서 사용할 수 있도록 그 벽을 무너뜨리도록 한다.






      VSCODE로 활용할 수도 있다.


      심지어는 터미널 혹은 커맨드창에서만 활용하는 것이 아니라 vscode(Visual Studio Code)에서도 활용이 가능하다. 이것은 파이썬을 WSL에 연결하여 활용한 것을 보여주고 있다. 빌드 및 디버깅까지 가능하게 함으로써, 얼마든지 로컬 환경에서 비주얼인 툴로도 활용이 어렵지 않다는 것을 보여준다. 비주얼 스튜디오 코드는 언어 및 프레임워크의 장벽을 넘어서서 어디든 활용이 폭 넓게 가능하기에 좋은 예시라고 생각되며, 특히나 vscode는 마이크로소프트가 개발하는 툴이기에 더욱 호환성이 좋지 않았을까 하는 생각도 들었다. 안드로이드 개발자인 나 스스로도 vscode로 한다면 윈도우에서 쉘스크립트로 이루어진 빌드를 아무 거리낌없이 할 수 있지 않을까 하는 생각이 들어서 조만간 시도해야겠다는 생각이 들었다.






       



      > 괜찮은 부분


      1. 생소하다 느낄 수 있는 WSL에 대해서 다루는 책이다.


      WSL에 대한 책은 찾기가 어렵다.(네이버에서 'WSL 책'이라고 당장 검색해보라) 그래서 매우 드문 책이다. 그렇다고 가치가 없는 것이 아니다. 이미 나온지 수년이 된 구성요소로서 윈도우 사용자에게는 가뭄의 단비같은 책이 될 것이다. 윈도우에서 쉘 스크립트 활용이 어렵기에 리눅스나 맥으로 넘어간 개발자가 이미 많을 것이라고 생각이 들지만, 그래도 여러 이유로 여전히 윈도우를 활용하는 편이 낫다고 생각하는 개발자들에게 필요한 지식이기에 이 책은 귀한 책이라는 생각이다.






      2. WSL의 아키텍처까지 상세히 다뤘다.


      WSL2의 아키텍처를 포함하여 실행 흐름을 그림과 함께 상세히 다루었다. 그래서 이해하는 데 큰 도움이 되었다. 특히 WSL1과 WSL2와의 차이점에 많은 지면을 할애하였기 때문에 비교하며 발전사항을 알 수 있었다. 단순 활용방법에만 집중하여도 이미 실제적인 활용에는 문제 없는 수준이었겠지만, 본인을 비롯하여 구조와 원리를 궁금해하는 사람에게는 이러한 부분이 필요하다. 너무 깊게 다루지는 않았기 때문에 난이도가 그렇게 높게 느껴지지 않았다는 것은 또 하나의 장점이라고 볼 수 있다.






      3. 윈도우와 상호작용하는 부분을 많이 다루어서 흥미로웠다.


      윈도우와 통합되어 상호작용이 많은 WSL이기 때문에, 이러한 주제로 흥미를 유발하였다고 생각한다. 특히 탐색기에서 WSL을 네트워크 드라이브 연결하듯이 파일 접근이 가능하다는 점을 처음 알게 되었다. 이 밖에도 git의 서명키를 공유하는 부분이나, XRDP로 데스크탑모드로 접근하도록 하는 부분, 도커 활용과 비주얼 스튜디오를 통한 코딩 등 많은 부분이 도움이 된다는 것을 알려주고 있다. 단순히 윈도우내에 리눅스 체험하도록 한 것이겠거니 생각했다면 오산이다. 이 부분으로 WSL에 충분히 매력을 느끼도록 했다고 생각한다.


       



      > 아쉬운 부분


      1. 윈도우11에 대해 반영되지 않았다.


      발행된지 한달이 안된 책이다. 이미 윈도우11은 작년부터 공개가 되어 있었으며, 이에 몇개의 가이드는 UI가 달라 조금은 당황한 부분도 있었던 것이 사실이다. 그래도 대충 이해할 수 있는 정도의 수준을 지닌 사람이 이 책을 볼 것이기 때문에 큰 문제라고 생각되지는 않으나 윈도우11의 사용자가 따라하기에는 아무래도 자의로 해석해야 하는 부분들이 있었기에 아쉬웠다.






      2. 일부 최신화 및 상세설명이 필요한 부분이 존재하였다.


      앞의 부분과 비슷한 부분일 수 있으나 윈도우 스토어에 대해서도 UI가 달라진 부분들에 대한 반영 뿐 아니라, 우분투에 대해서도 이 책에서는 18.04를 기준으로 진행하였지만, 20.04가 이미 LTS로 나온지 2년이 지나 얼마 후면 22.04가 나올 수도 있는 시기이기 때문에 굳이 18.04로 진행했어야 하는가 라는 생각을 갖기는 하였다. 또한 xrdp를 따라 진행하는 부분에서도 너무 설명이 간단하였는데, 생각보다 실행이 쉽지 않아서 구글에서 추가검색을 필요로 하였기 때문에 아쉬운 부분이었다.






      3. 명령줄 실행 관련 오타가 종종 발견되었다.


      실습을 진행할 때 명령줄 실행에 대한 부분(직접 발견한 부분은 74, 76, 141페이지)이 있었는데, 이러한 부분들로 오류를 경험하게 되었다. 결국 이런것들로 인해 신뢰도가 떨어져서 명령줄을 입력하는 부분마다 해당 명령어가 맞는지 다시 한번 확인 후 입력을 하게 되어 시간이 추가로 소요되었으며, 책이 갖는 의미가 부분적으로나마 퇴색된다고 생각도 들었다.


       



      > 추천 독자


      - 윈도우를 사용하고 있는 개발자


      - 리눅스나 쉘스크립트 활용을 필요로 하는 개발자


      - 듀얼부팅이나 2개의 머신으로 리눅스를 활용하고 있는 일반인


      - 팀에서 리눅스, 맥, 윈도우 섞여서 사용하고 있는데, 공통 스크립트로 쉘 스크립트를 사용하려고 하는 팀장(또는 팀원)


       



      > 개인적인 평점



      - 가격: 9 / 10



      - 내용: 8 / 10



      - 디자인: 8 / 10



      - 구성: 9 / 10


       



      > 정보



      저자: 프래틱 싱



      옮긴이: 남정현



      출판사: 한빛미디어



      가격: 20,000원



      전체 페이지: 188페이지


       



      ** 한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

    • WSL을 제대로 사용하기 위한 첫걸음


      WSL은 윈도우를 메인 개발환경으로 사용하는 개발자가 여러 다양한 운영체제, 특히 유닉스/리눅스 계열 운영체제에서 동작하는 서비스를 개발하거나  윈도우에 더 강력한 생산성 도구를 추가 사용하고 싶을 때 고려되는 옵션중 하나이다. MS 윈도우는 GUI를 기반으로 사용자들에게 편리하게 쓰기 쉬운 개인용 컴퓨터 운영체제가 되었지만, 서버의 영역에서는 리눅스(POSIX 운영체제들)에 많이 밀렸다. 다양한 툴과 GNU 컴파일러들, 다양한 서버 프로그램 등 리눅스가 제공해주는 강력한 기능들은 개발자들에게 윈도우에서도 너무 쓰고싶은 리눅스만의 매력 포인트였다.


      클라우드 시대가 전개되면서 리눅스는 더 많은 개발자들의 많은 지지를 받게 된다.  하지만 MS는 Visual Studio, 오피스 등 각종 강력한 도구들을 갖추고 있는 회사 아닌가! 운영체제 차원에서는 BSD를 기반으로 하는 맥북이 Unix의 강점을 잘 활용할 수 있는 구조였기에 나도 한동안 맥북을 개발 메인용도로 사용하였다. 집에서는 윈도우를 사용하고 윈도우 기반 앱을 개발하다보니 윈도우를 벗어날 수 없어 한동안 MinGW/msys 나 VirtualBox 같은 도구로 VM을 생성하여 리눅스를 설치하고 사용했었다. 일정 정도 원하는 바를 해소해주는 방안이긴 했으나 호스트 운영체제인 윈도우와 VM상의 리눅스는 상호 운용성이 부족하고, VM 관리도 불편하여 초반 설정후 잘 안쓰게 되었다.


       하지만 WSL이라는 게임 체인저가 등장했다. WS(Windows Subsystem)이라는 개념은 초기 32비트 앱을 실행하기 위한 서브시스템에서 출발했지만 이제는 리눅스(WSL)에서 안드로이드(WSA)까지 확장되어 기존 운영체제 장벽을 허물고 있다. 그런데 의외로 WSL에 대한 서적은 나오질 않았는데, 이 책은 WSL을 다룬 첫번째 국내 서적이다.


      리눅스에 사용경험이 있는 윈도우 사용자라면 MS가 워낙 쉽게 구성해서 WSL을 설치 사용해 본 적이 있을 것이다. 그런데 그 구조나 구성 원리에 대한 소개는 찾아보기 어려웠다. 그러나 보니 상호 운용성을 고려해서 설계된 WSL의 능력을 100% 사용하지 못하는 것이 아닌가 생각하던 차에 이 책을 접하게 되었다.


      WSL 2 아키텍쳐


      이 책의 구조: WSL의 과거와 현재, 미래 방향을 이해하자


      이 책은 전체 구조부터 활용까지 WSL이 시도하는 전체 로드맵을 간결하게 소개하고 있다.


       


      1장에서는 WSL이 만들어지기까지의 MS사의 시도들, 아스토리아나 드로 브릿지부터 WSL 1과 WSL2의 구조를 설명하면서 이에 대한 장단점을 기술하고 있다. 이런 역사를 다루는 것은 역시 이러한 기술이 왜 등장했으며 어떤 방향으로 나아가고 있는지를 이해하는데 큰 도움이 된다.


      2장에서는 WSL을 설치하는 과정을 다룬다. 이미 나는 WSL을 사용한 경험이 있기 때문에 큰 무리없이 읽을 수 있었다.


      3장에서는 이제 윈도우와 리눅스를 섞어 사용하기 위하여 디스크 마운팅이나 경로 설정/변환을 다룬다. 쉘 스크립트를 통해 윈도우/리눅스간 장점을 활용하기 위해서는 충분히 이해하고 있어야 한다. 예를 들어 /etc/wsl.conf 파일의 [interop] 섹션을 통해 리눅스 서브 시스템에서 윈도우 프로그램을 연계하여 실행한다거나 윈도우에 설정된 시스템 환경변수 값을 어떻게 가져오는지에 대한 동작을 간략히 소개한다.


      4장에서는 WSL 백업에 관한 이야기인데, 사실 나는 내 개인 블로그의 이전 글에서 WSL백업을 다룬 적이 있었다. C드라이브의 용량부족을 해소하기 위하여 다른 디스크로 기본 경로를 옮겼었는데, 그때는 기술 블로그를 보면서 따라하는 수준이었다면 4장의 내용을 통해 왜 그렇게 되는지를 좀 더 이해할 수 있게 되었다.


      책에서는 WSL1과 WSL2를 같이 사용할 수 있다고 되어있겠지만, 특별한 이유가 없다면 최신 기술인 WSL2를 이용하는 것이 좋다. 5장에서는 WSL2의 구조적 변화를 설명하고 있다. WSL2의 효용가치를 높이기 위해 마이크로소프트사가 직접 관리하는 리눅스 커널을 사용하고 있는 것도 놀라웠다. (마치 우리 MS가 바뀌었어요를 보는 느낌.) 


      6장의 파일시스템과 7장의 네트워킹은 윈도우/리눅스간 상호 운용성을 어떻게 구현하고 있는지에 대한 기반 기술을 간략하게 소개하고 있다. WSL을 구성하는 파일시스템 형식이 volfs, drvfs, tmpfs, procfs, sysfs 등 여러개인 것은 생각하지 못했던 부분이었다. 각 파일시스템과 용도, 특징을 잘 소개하다보니 MS가 왜 그렇게 구현했고, WSL이 어떻게 동작하는지에 대한 이해가 높아진다. 막연히 윈도우와 리눅스간 파일 공유는 SAMBA를 사용하지 않았을까 했는데 P9NP라는 프로토콜로 새롭게 구축한 배경도 재미있게 읽었다.


      8장과 9장은 개발환경 구축, 리눅스용 프로그램을 윈도우에서 실행하는 방법과 도구를 소개하고 있는데, WSL을 처음 접하는 개발자라면 도움이 될 것이다. 윈도우에서 실행한 비주얼스튜디오 코드에서 리눅스 서브시스템에 접근하여 코드를 개발하는 방법 등을 소개하고 있다.


       


      WSL을 통해 리눅스와 윈도우 두 운영체제 명령어를 섞어 사용하여 둘간의 격차를 좁힐 수 있다.


      WSL의 빠른 개발속도로 인해 책 내용과 살짝 안맞는 부분이 있다. 예를 들어 윈도우 터미널에서 WSL을 설정하는 부분이 예전에는 설정파일이었는데, 이제는 GUI에서 설정하도록 변경되었다. 하지만 책 내용을 이해하고 따라하는데에는 문제가 되지 않는 정도이다.


       


      WSL을 처음 사용할 때 반드시 읽어보고 시작할만한 책 


      이 책은 WSL을 사용해 보고자 하는 개발자 또는 WSL을 예전 리눅스를 사용하던 느낌으로만 쓰고 있는 개발자들이 WSL의 능력을 좀 더 이해하고자 할 때 좋은 길잡이가 될 수 있는 책이다. "개발자 및 IT 전문가를 위한 리눅스용 윈도우 하위 시스템 실무 안내서"라는 이 책의 부제가 딱 들어맞는 내용과 구성이다. 관련 기술들을 훑고 있다는 점에서는 좋게 평가한다. 다만 기술의 깊이 면에서는 조금 더 자세히 설명해 주어도 괜찮지 않았을까 하는 아쉬움이 들지만.. 그래도 잘 구성한 실무 안내서이다.


       



      개인적으로 별점 4.5개를 부여해 본다. 당연하지라고 생각했던 WSL에 대한 구조를 좀 더 이해할 수 있게 되었다. 이 책을 읽고나니 WSL에 좀 더 궁금점들이 생겨서 "Pro WSL"(APress)을 읽어보고 있다. 이 책을 통해 WSL의 기본 개념을 얻었기 때문인지 상대적으로 쉽게 읽고 있는 중이다.


       


      이책을 통해 학습하면서 알게된 사이트 몇군데를 함께 공유한다.


       



      YES24 구입 좌표: http://www.yes24.com/Product/Goods/107889281



       


      처음 만나는 WSL - YES24


      설치 방법부터 다양한 활용까지 쉽고, 간편하고, 빠르게 익히는 WSL WSL은 가상 머신이나 듀얼 부팅 설정 없이 윈도우에서 최적화된 리눅스 환경을 제공하는 시스템이다. 이 책은 WSL을 사용하는


      www.yes24.com




       



      마이크로소프트사의 WSL  한글 문서 페이지: https://docs.microsoft.com/ko-kr/windows/wsl/



       


      Linux용 Windows 하위 시스템 설명서


      Linux용 Windows 하위 시스템 설명서의 개요입니다.


      docs.microsoft.com




       



      마이크로소프트 코맨드라인이라는 개발 블로그: https://devblogs.microsoft.com/commandline/



       


      Windows Command Line


      Windows Terminal, Console and Command Line, Windows Subsystem for Linux, WSL, Windows Package Manager


      devblogs.microsoft.com





         "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."





    • 1.인트로


      WSL을 들어본적이 있는가? 나는 예전에 잠깐 LINUX 공부를 할때 들어본 것 빼고는 활용할줄도 모르고, 왜 사용하는지도 몰랐다. 그러던 도중 최근에 서버개발로 인해 LINUX 환경에 대해 공부를 해야됐고, VM을 사용하기 싫었던 나는 WSL을 한번 해볼까? 라는 생각에 이 책을 펼치게 됐다.



      2.메인 내용




      내용은 생각보다 간단했다. 200pg보다 적은 분량에 WSL의 설치부터 기본 활용까지 알려준다. 그리고 마지막으로 WSL 2와 리눅스에 대한 짧막한 지식도 알려준다. 한빛미디어스러운 디자인 내용으로 꽤나 보기도 편하고 따라해보기도 편했다. 실제로 따라하는데 3시간정도 걸렸던 것 같다. 


       



      3.나의 생각


      이 책을 통해 WSL을 직접 컴퓨터에 설치해서 해보기도 했고, 이렇게 윈도우 환경에서 LINUX를 활용할 수 있다는 것을 알게됐다. 생각보다 리눅스는 쓸데가 많아서 분명 언젠가 도움이 될것 같다. 리눅스를 찍먹해보고 싶은 분들께 강추한다. 내용설명도 좋고, 기본서같은 느낌이라 가볍게 보고 따라할 수 있다.


       


      "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

    • [나는 리뷰어다] Linux 처음 만나는 WSL


















      보통 일상 및 학교에서 운영체제를 사용한다고 하면 먼저 윈도우를 자주 쓰고 그 이외의 리눅스 기반의 운영체제는 잘 사용하지 않을 것이라고 예상합니다. 그리고 실상 리눅스를 배운다고 하면 윈도우안에서 구동시켜 실습하는 방법을 먼저 찾으려 할 것입니다. 저 또한 버츄얼 박스를 통하여 리눅스를 구동하는 실습을 이전에 배웠었습니다. 본 책은 윈도우에서 리눅스를 배포 및 실습하는 내용을 간단하고 이해하기 쉽게 다루고 있습니다.





























      먼저 본 책을 읽으면서 유튜브 및 여러가지 서적을 찾아가면서 공부했던 내용들을 보다 쉽게 접할 수 있던 점이 장점이라고 생각합니다.


























      또한 설치와 가상머신에서도 구동하는 방법도 알려주어서 윈도우 shell 의 캡쳐 사진을 통하여 실습또한 가능합니다.


























      마지막으로 좋은 책 제공과 기회를 주신 한빛미디어 담당자 분들께 감사 드립니다. 4월에도 내용이 탄탄한 도서를 읽고 빨리 리뷰를 남기고 싶습니다.






      "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."












  • 내용이 없습니다.
  • 내용이 없습니다.
닫기

해당 상품을 장바구니에 담았습니다.
장바구니로 이동하시겠습니까?