이제 정말 다양한 배포판을 품은 WSL
Windows Subsystem for Linux(WSL) – 이제 선택할 수 있는 배포판이 무척 많아졌습니다!
업데이트: 2018년 5월 11일
필자도 기술 분야의 부지런한 개척자답게 이미 2016년에 WSL(Windows Subsystem for Linux)을 소개하며 Windows 10에서 BASH를 실행하는 방법을 다룬 바 있습니다. 이어서 X11 서버를 활용해 Windows에서 리눅스 그래픽 애플리케이션을 구동하는 방법도 보여드렸죠. 참으로 흥미로운 내용이었습니다.
초기의 WSL 실험은 어찌 보면 자연스럽게도 대부분 우분투(Ubuntu)에 초점이 맞춰져 있었습니다. 그러나 최근 마이크로소프트가 Windows 스토어에서 제공하는 배포판 목록을 크게 확장했습니다. 칼리(Kali)가 첫 번째였고, 이후 여러 시스템이 잇달아 추가되었습니다. 이쯤 되면 다시 한번 짚고 넘어갈 필요가 있습니다.

배포판 설치하기
스토어를 실행하세요. 사실 로그인할 필요조차 없습니다. 검색어로 "linux"를 입력하면 비교적 짧은 목록이 나타나는데, 칼리, 데비안(Debian), SLES, NAS 도구, 그리고 openSUSE가 포함되어 있습니다. 우분투는 여전히 일반적인 BASH 카테고리 아래에 자리하고 있죠. 엔터프라이즈 버전이 포함된 점은 의미심장하면서도 중요합니다. 크로스플랫폼 솔루션을 개발하려는 개발자들에게 실질적인 영향을 미칠 수 있기 때문입니다. 마이크로소프트는 개발자들을 자신들의 진영으로 끌어들이기 위해 많은 노력을 기울이고 있습니다. 모바일 시장에서 실패했던 경험에서 얻은 교훈일지도 모르죠. 게다가 리눅스용 PowerShell도 있습니다. 이 모든 것이 Windows를 리눅스 개발자들에게 더 매력적인 환경으로 만들어 줍니다. 1년 전만 해도 리눅스 개발자 눈에 Windows는 매력 포인트가 전혀 없었다는 점을 생각하면 격세지감이네요.

필자는 openSUSE로 테스트해 보기로 했습니다. 받아서 설치하고, 곧바로 재미를 붙이면 됩니다. 우분투와 마찬가지로 초기 사용자 설정 과정이 있으며, 사용자를 관리자로 지정할 수도 있습니다. 그 후에는 헤드리스 서버가 준비됩니다. 현재는 네트워크 기능이 일부 제한적이지만, 마이크로소프트가 커스터마이징한 커널 4.4 위에서 돌아가기 때문에 이후에는 익숙한 표준 관리 명령어와 요령을 그대로 활용할 수 있습니다. Zypper든 Yast든 뭐든 말이죠. SUSE를 써본 적이 있다면 무엇을 해야 할지 바로 알 겁니다. 전반적으로 우분투에서의 경험과 크게 다르지 않습니다.



불만이 하나 있다면, Windows CLI는 명령줄 버퍼에서 텍스트를 선택하거나 복사·붙여넣기할 때 다소 번거롭다는 점입니다. 창 표시줄에서 마우스 오른쪽 버튼을 클릭하는 식의 조작이 필요하고, 리눅스에서 익숙한 가운데 클릭 방식은 지원하지 않습니다. 적어도 아직은요. 기본 인터페이스 글자 크기도 지나치게 작아서, Windows 프로그램과 비슷한 수준으로 키워서 사용해야 했습니다.

그래픽 애플리케이션 – 통째로 Plasma를!
릴리스 노트를 성의 없이 되풀이하는 일은 절대 하지 않는 필자답게, 이번에는 시스템을 업데이트하고 Plasma 데스크톱 전체와 관련 KDE 애플리케이션을 설치한 뒤, X11 서버를 구동하고, 우분투 프로그램 몇 개와 나란히 데스크톱을 띄워 보았습니다. 물론 꽤 설득력 있는 활용 사례가 됩니다.
전체적으로 잘 작동했습니다. 다소 느리긴 했지만요. Plasma 셸을 강제 종료했다면 SUSE 창(정확히는 그 자체의 셸)도 함께 닫아야 합니다. /tmp 아래에 고아 상태의 잠금 파일이 남아 새 세션 시작을 막기 때문입니다. 수동으로 정리할 수도 있지만, 그건 지루한 작업이죠. 물론 GUI 쪽은 여전히 다소 투박한 모습입니다. 3D 가속 없이 실행되기 때문입니다.

이건 배경화면이 아니라, 화면 가득 찬 진짜 Plasma입니다.




나란히 놓인, 세 운영체제의 구성 요소들입니다.
작동은 한다…
그럭저럭 괜찮았습니다. 물론 곳곳에서 오류가 발생했죠. 일단 Plasma 설치 과정에서 의존성 문제가 나타났습니다. 하하, 정말요? openSUSE 튜닝 가이드 같은 글에서도 언급했지만, 커뮤니티 저장소를 사용할 때는 의존성 충돌이 잦긴 합니다. 그런데 여기서는? 제3자 저장소를 전혀 추가하지 않은 깨끗한 환경에 새 데스크톱을 설치하는 것뿐이었는데 벌써 이상한 의존성 문제가 생긴 겁니다.
문제: kio-extras5-17.04.2-2.1.x86_64 패키지는 libsmbclient.so.0()(64bit)를 필요로 하지만, 이 요구 사항을 충족할 수 없습니다
설치 불가능한 제공자: libsmbclient0-4.6.5+git.32.af7a173b7a1-1.1.x86_64[oss]
libsmbclient0-4.6.13+git.72.2a684235f41-12.1.x86_64[oss_update]
libsmbclient0-4.6.7+git.38.90b2cdb4f22-3.1.x86_64[oss_update]
libsmbclient0-4.6.7+git.51.327af8d0a11-6.1.x86_64[oss_update]
libsmbclient0-4.6.9+git.59.c2cff9cea4c-9.1.x86_64[oss_update]
해결책 1: krb5-mini-1.12.5-16.1.x86_64 제거
해결책 2: plasma5-desktop-5.8.7.1-3.1.x86_64 설치하지 않음
해결책 3: 일부 의존성을 무시하고 kio-extras5-17.04.2-2.1.x86_64 설치 강행
일부 업데이트와 패키지 설치 과정에서도 묘한 경고 메시지가 나타났습니다:
추가 rpm 출력:
/etc/sysconfig/security 업데이트 중...
경고: 실행 중인 커널은 fscaps를 지원하지 않습니다
(96/96) 설치 중: wicked-service-0.6.40-9.1.x86_64 ......[완료]
추가 rpm 출력:
버스에 연결하지 못했습니다: 해당 파일 또는 디렉터리가 없습니다
버스에 연결하지 못했습니다: 해당 파일 또는 디렉터리가 없습니다
버스에 연결하지 못했습니다: 해당 파일 또는 디렉터리가 없습니다
버스에 연결하지 못했습니다: 해당 파일 또는 디렉터리가 없습니다
coreutils-8.25-5.1.x86_64.rpm %posttrans 스크립트 출력:
시스템 설정이 완료되는 대로 mkinitrd를 실행하십시오.
결국 이런 저런 문제에도 불구하고 우리는 모두 한 가족입니다. 커널이 동일하다는 점은 쉽고 공통된 개발 환경을 의미합니다. 이것은 상당히 의미 있는 일이며, 지금까지의 모습만 봐도 진지한 주목과 투자를 할 만큼 안정적이고 견고합니다. 새로운 하위 시스템들이 개발 중이므로, 머지않아 단순한 기술 데모 그 이상을 만나게 될 겁니다.

커스텀 배포판 만들기
목록에 없는 배포판을 사용하고 싶다면 두뇌와 손가락에 땀을 흘려야 합니다. 마이크로소프트는 직접 커스텀 빌드를 만들 수 있는 WSL-DistroLauncher라는 도구를 공개했습니다. 이 작업은 만만치 않게 복잡합니다. LFS(Linux From Scratch)를 떠올리면 됩니다. 쉬운 길은 없습니다. 그래도 배포판 제작자와 개발자들에게는 확실히 매력적인 도구가 될 겁니다.
결론
WSL은 숭숭 잘 자라고 있습니다. 느리지만 꾸준히 의미 있는 기능이 더해지고, 리눅스 커뮤니티에서도 점차 인정받으며, 결국 최종 사용자에게 유익한 가능성을 열어주고 있습니다. 한번 생각해 보세요. 개발자가 여러 운영체제용 솔루션을 거의 동시에 편안하게 만들고 테스트할 수 있다면, 크로스플랫폼 호환성을 갖춘 제품이 더 많이 등장할 가능성이 높아집니다. 언젠가 마이크로소프트 오피스가 리눅스에서 네이티브로 돌아가는 날이 올지도 모릅니다. 아니면 안드로이드 생태계 전체가 Windows 위에서 구동될 수도 있겠죠.
이념에 관심 있는 분들에게 이것은 어떤 면에서 마이크로소프트가 '리눅스 역시 존중받고, 협력할 가치가 있는 진짜 주역'임을 인정한 것이라 볼 수 있습니다. 감정을 배제한 단순하고 실용적인 접근입니다. 마이크로소프트는 인재를 유치하고 솔루션을 개발하기 쉬운 환경을 만들고 있습니다. 그 결과 모든 곳에서 더 나은 제품이 탄생하고, 사용자가 가장 큰 수혜자가 됩니다. 물론 아직 초입 단계지만, 앞으로 몇 년 안에 운영체제 간의 멋진 융합이 이루어지고 그로 인해 사용자에게 다양한 가능성이 열릴 것이라 믿습니다. 당장은 WSL을 설치해서 직접 즐겨보세요. 좋고 재미있습니다. 계속됩니다.
그럼, 즐거운 리눅스 되세요.