Computer >> 컴퓨터 >  >> 시스템 >> Windows 10

윈도우 10, 완전한 리눅스 명령 프롬프트를 공식 지원한다

마이크로소프트가 연례 개발자 컨퍼런스 '빌드(Build)'를 샌프란시스코에서 개최했습니다. 인공지능과 증강 현실 분야의 눈부신 발전을 선보이고, 윈도우 10이 강력한 게임 플랫폼임을 재확인시키는 등 성황리에 진행된 이 행사에서 마이크로소프트는 또 하나의 굵직한 발표를 내놓았습니다. 바로 수많은 사람들의 기대를 모으고 있는 그 소식입니다.

발표 단상에 오른 개발 디렉터 케빈 갤로(Kevin Gallo)는 BASH 셸이 윈도우 10에 도입될 것이라고 밝혔습니다. 물론 엄밀히 따지면 "그런 셈입니다"라고 표현해야겠죠.

우분투에서 곧장 온 리눅스 환경

'BASH가 윈도우 10에 들어온다'는 말은 상황을 크게 축소한 표현입니다. 마이크로소프트가 실제로 준비한 것은 그보다 훨씬 인상적인 결과물입니다. 우분투 14.04 LTS를 기반으로 구축된 리눅스 하위 시스템(Linux Subsystem)으로, 가상 머신이 아니기 때문에 우분투 사용자 공간(userspace) 전체에 접근할 수 있습니다.

여기서 중요한 점은 이것이 기존 방식과 근본적으로 다르다는 사실입니다. 윈도우 10은 우분투를 축소한 가상 머신으로 흉내 내는 것이 아닙니다. Cygwin처럼 BASH를 윈도우용으로 컴파일한 것도, CASH처럼 자바스크립트로 재현한 것도 아닙니다. 대신 일종의 호환성 계층(compatibility layer) 위에서 실행됩니다.

리눅스 시스템 콜(syscall, 프로그램이 OS 커널에 무언가를 요청할 때 호출되는 인터페이스)은 마이크로소프트가 자체 개발한 소프트웨어를 통해 실시간으로 윈도우 시스템 콜로 번역됩니다. 이 차이점은 포팅 작업에 참여한 캐노니컬(Canonical) 엔지니어 더스틴 커클랜드(Dustin Kirkland)가 더 자세히 설명해 주었습니다.

결국 포팅되는 것은 BASH와 필수 리눅스 유틸리티 몇 가지에 그치지 않습니다. 거의 모든 것이 동작합니다.

사용자는 PuTTY 같은 서드파티 도구 대신 표준 리눅스 SSH 유틸리티를 쓸 수 있고, 명령줄에서 VIM으로 텍스트를 편집하며, Sed와 Awk로 텍스트를 가공할 수 있습니다. 더 나아가 apt-get으로 패키지를 관리하고 수만 개에 달하는 우분투 바이너리를 설치할 수도 있습니다.

더스틴 커클랜드에 따르면 TTY를 사용하는 일부 애플리케이션(byobu, screen, tmux 등)을 제외하면 대부분의 기능이 잘 작동한다고 합니다. 그는 곧 해결될 것이라 안심시켰으며, 마이크로소프트가 이 기능을 빌드 2016 기조연설의 핵심에 올렸던 만큼 최종적으로는 완성도 높은 제품이 될 가능성이 큽니다.

일반 사용자에게 어떤 의미일까?

솔직히 말하면 이번 발표는 리눅스 애호가와 소프트웨어 개발자 두 그룹에게 특히 매력적입니다. 해당되지 않는 분들은 '나와 무슨 상관이지?'라고 생각할 수 있지만, 컴퓨터 전문가가 아니더라도 기대할 만한 이유가 충분합니다.

첫째, 리눅스를 실제로 설치하지 않고도 리눅스 생태계에 가볍게 발을 들여놓을 수 있는 좋은 기회입니다. 왕초보도 윈도우 10의 익숙하고 비교적 안전한 환경에서 흔히 쓰이는 리눅스 도구들의 기본기를 익힐 수 있습니다.

둘째, 코딩을 처음 배우는 사람들에게도 유용합니다. 배우기 쉬운 언어일수록(그래서 초보자에게 인기가 많은 언어일수록) 윈도우에 설치하기 까다로운 경우가 많습니다. 예를 들어 파이썬을 제대로 설치하려면 윈도우 PATH 환경 변수에 경로를 추가해야 하고, 루비와 필수 문서·도구를 손쉽게 설치하려면 RubyInstaller 같은 서드파티 설치 프로그램에 의존해야 했습니다.

윈도우 10, 완전한 리눅스 명령 프롬프트를 공식 지원한다

하지만 이제는 명령줄에 "bash"라고 입력하기만 하면 루비나 파이썬 스크립트를 바로 작성할 수 있습니다. 윈도우에서 이 언어들을 설정하는 번거로움에서 벗어난 것입니다.

게다가 입문용 튜토리얼 대부분은 맥 OS X와 리눅스 기준으로 작성되어 있는데, 이제 윈도우 사용자도 아무 문제 없이 그대로 따라 할 수 있습니다.

윈도우 위의 리눅스, 개발자에게 중요한 이유

역사적으로 마이크로소프트의 명령줄 도구(정정하자면 '명령 프롬프트')는 UNIX 계열 운영체제의 그것에 미치지 못했습니다. 가장 큰 이유는 윈도우가 터미널이 아닌 그래픽 인터페이스와 메뉴를 통한 작업 처리에 항상 무게를 두어왔기 때문입니다. 일반 사용자에게는 좋았지만, 지난 20년간 신뢰성과 보안성이 뛰어난 리눅스 기반 서버에 점점 깊이 의존해 온 개발자들에게는 그렇지 않았습니다.

그 결과 개발자들은 점차 윈도우에서 멀어졌습니다. 어느 개발자 컨퍼런스나 밋업, 테크 스타트업 사무실을 방문해 보면 사용 중인 기기 대부분이 맥북이거나 리눅스가 돌아가는 PC일 거라고 단언할 수 있습니다. 이미 이 운영체제들에 익숙해지고 그에 맞춰 워크플로를 구축해 버린 지금, 되돌아올 가능성도 낮아 보입니다.

필자가 리버풀의 데이터 사이언스 스타트업 ScraperWiki에서 여름 인턴으로 일할 때 함께했던 한 개발자는 세밀하게 커스터마이징한 VIM 에디터와, 흔히 쓰이는(그리고 드문) 리눅스 유틸리티 몇 가지를 중심으로 한 작업 루틴을 갖고 있었습니다. 그가 편안하게 윈도우로 돌아오는 모습은 상상하기 어려웠습니다.

어쩌면 윈도우 10의 우분투가 이런 개발자들을 마이크로소프트 진영으로 다시 불러들이거나, 적어도 윈도우 플랫폼에서 개발자가 이탈하는 흐름을 막는 데 도움이 될지 모릅니다.

이번 발표는 마이크로소프트의 실추된 평판, 특히 오픈소스 커뮤니티에서의 이미지 회복에도 크게 기여합니다. 1990년대 말부터 2000년대 초까지 마이크로소프트는 오픈소스와 리눅스에 노골적으로 적대적이었습니다. 당시 CEO 스티브 발머는 리눅스를 '암(cancer)'이라 부르며, '포용하고, 확장하고, 소멸시켜라(embrace, extend, extinguish)' 전략으로 리눅스와 경쟁 제품들을 없애려 들었습니다.

하지만 사티아 나델라가 CEO로 부임한 이후 마이크로소프트는 오픈소스 커뮤니티와의 협력을 통해 이미지 회복에 진심으로 나서고 있습니다. 그리고 그럴싸한 성과를 내고 있는 것으로 보입니다.

윈도우 10용 BASH를 받는 방법

글을 쓰는 시점에는 BASH가 발표만 된 상태라 실제로 받아볼 수는 없습니다. 다만 올여름 배포 예정인 윈도우 10 애니버서리 업데이트(Anniversary Update)에 포함될 예정입니다. '애니버서리 업데이트'라는 이름과 마이크로소프트가 윈도우 10을 7월 29일에 출시했다는 점을 고려하면 그 무렵에는 만나볼 수 있을 것입니다.

그때까지 기다리기 어렵다면 윈도우 10 인사이더 프로그램(Windows Insider Program)에 가입해 미리 체험할 수 있습니다.

윈도우 10에 BASH가 도입되는 소식이 기대되나요? 리눅스에서 갈아타게 만들 만큼 매력적인가요? 아래 댓글로 의견을 남겨주세요.