마이크로소프트가 자체 리눅스 배포판인 CBL-Mariner(Common Base Linux Mariner)를 공개했습니다. 흔히 리눅스와 윈도우는 오랜 라이벌 관계라고 여겨져 왔는데, 마이크로소프트가 직접 리눅스 배포판을 내놓은 것입니다.
CBL-Mariner의 등장은 많은 사람들에게 놀라움으로 다가왔지만, 기술 업계에서는 언제든 이런 일이 벌어질 수 있습니다. 안심해도 좋습니다. 마이크로소프트가 윈도우를 CBL-Mariner로 대체하는 것은 아닙니다. 실제로 CBL-Mariner는 마이크로소프트 내부 엔지니어링 팀을 지원하기 위해 만들어진 배포판입니다.
이번 글에서는 CBL-Mariner가 무엇인지 자세히 살펴보고, 가상 머신에 설치하는 방법까지 단계별로 알아보겠습니다.
CBL-Mariner란 무엇인가?
CBL-Mariner는 마이크로소프트의 리눅스 시스템 그룹(Linux Systems Group)이 개발한 배포판입니다. 단순한 또 하나의 리눅스 배포판이 아니라, 마이크로소프트에게 더 큰 목적을 지니고 있습니다. 핵심 목표는 클라우드 인프라 개발과 함께 마이크로소프트의 에지(edge) 제품 및 서비스 개발의 기반을 마련하는 것입니다.
이 운영체제의 소스 코드는 GNU 일반 공중 사용 허가서(GPL), MIT 라이선스 등 다양한 오픈소스 라이선스로 배포됩니다. 현재 GitHub 저장소 형태로만 존재하며, OS를 설치할 수 있는 ISO 이미지는 별도로 제공되지 않습니다. 다행히 직접 ISO 이미지를 빌드해 가상 머신에 설치하면 이 배포판을 충분히 사용해 볼 수 있습니다.
CBL-Mariner는 기술 업계에 전혀 새로운 것도 아닙니다. 이전부터 마이크로소프트가 내부적으로 Azure 클라우드 인프라를 유지 관리하는 데 활용해 왔습니다. 마이크로소프트는 커널 강화(hardening), 서명된 업데이트 제공, 컴파일러 기반 보안 강화, 변조 방지 레지스트리 등 다양한 기능을 통해 CBL의 보안을 크게 개선했습니다.
VirtualBox에 CBL-Mariner 설치하는 방법
소스 코드를 ISO 이미지로 변환하는 것이 가상 머신에서 배포판을 구동하는 가장 간단한 방법입니다. 이 방식은 저장소에서 코드를 내려받은 뒤 이를 ISO 이미지로 변환하는 과정을 포함합니다.
이 글에서는 널리 쓰이는 가상 머신 하이퍼바이저인 VirtualBox를 기준으로 설치 과정을 진행합니다.
1단계: VirtualBox 다운로드
시스템에 VirtualBox가 아직 설치되어 있지 않다면, ISO 이미지를 만들기 전에 공식 웹사이트에서 내려받아 설치하세요.
다운로드: Oracle VirtualBox
2단계: 필수 의존성 패키지 설치
본격적인 설치에 앞서 리눅스 머신에 몇 가지 의존성 패키지를 설치해야 합니다. 이미 설치되어 있는 것도 있겠지만, 미리 점검해 두는 것이 좋습니다.
Ubuntu 같은 데비안 계열 배포판에서는 다음 명령어로 의존성을 설치할 수 있습니다:
sudo apt-get install git make tar wget curl rpm qemu-utils golang-go genisoimage python2.0 bison gawk
3단계: GitHub 저장소 클론
다음은 git clone 명령어로 CBL-Mariner의 공식 GitHub 저장소를 복제하는 단계입니다.
git clone https://github.com/microsoft/CBL-Mariner.git
4단계: ISO 이미지 생성
소스 코드를 내려받았다면, 이제 해당 디렉터리로 이동해 ISO 이미지를 생성합니다. 부팅용 ISO를 만들려면 다음 명령어를 하나씩 입력하세요:
cd CBL-Mariner/toolkit
sudo make iso REBUILD_TOOLS=y REBUILD_PACKAGES=n CONFIG_FILE=./imageconfigs/full.json
변환이 성공적으로 완료되면 /out/images/full 디렉터리에 ISO 파일이 생성됩니다.
5단계: 가상 머신 생성
먼저 VirtualBox를 실행한 뒤 새로 만들기(New) 버튼을 클릭해 새 VM을 생성합니다.
New를 클릭하면 대화상자가 열립니다. 이름 입력란에 CBL-Mariner를 입력하고, 종류(Type) 드롭다운에서 Linux를 선택합니다. 또한 버전은 Other Linux (64-bit)로 지정해야 합니다.
다음 화면에서는 가상 머신에 할당할 메모리 크기를 지정합니다. 이상적으로는 1GB 정도의 RAM을 할당하면 되며, 더 여유가 있다면 그에 맞게 설정하면 됩니다. 다만 상한선이 있으므로 화면의 안내를 따르는 것이 좋습니다.
다음 화면에서 지금 가상 하드 디스크 만들기(Create a virtual hard disk now) 옵션을 선택합니다.
이어지는 화면에서 VDI(VirtualBox Disk Image) 옵션을 고릅니다.
그다음 물리적 하드 디스크에 저장(Storage on physical hard disk) 항목에서는 동적 할당(Dynamically allocated)을 선택합니다.
Next를 누르면 파일 위치 및 크기(File location and size) 화면으로 이동합니다. VDI 파일을 저장할 경로를 입력하고, 가상 하드 디스크 크기도 지정합니다. 10GB 정도면 적당하지만, 시스템에 여유 공간이 충분하다면 더 크게 잡아도 됩니다.
만들기(Create)를 클릭하면 가상 머신 생성이 완료됩니다.
6단계: 가상 머신 구성
가상 머신을 구성하려면 왼쪽 사이드바에서 새로 만든 가상 머신을 클릭한 뒤, CBL-Mariner를 선택하고 설정(Settings), 마지막으로 저장소(Storage) 옵션으로 들어갑니다. 저장소 탭에서 광학 드라이브(Optical Drive) 아이콘을 클릭하고 앞서 만든 ISO 파일을 선택합니다.
이제 시작(Start) 버튼을 눌러 CBL-Mariner ISO 이미지로 가상 머신을 부팅할 수 있습니다.
7단계: VM에 CBL-Mariner 설치
그래픽 설치 프로그램을 사용해 ISO 파일 설치를 시작합니다. 다음 단계에 따라 설치를 진행하세요.
설치 시작 화면의 옵션 목록에서 Graphical Installer(그래픽 설치 프로그램)를 선택합니다.
이후 설치 과정은 다른 리눅스 배포판과 매우 비슷합니다.
설치 창에서 완전한 설치를 원한다면 CBL-Mariner Full 옵션을 고르세요. 사전 탑재 패키지 없이 최소 구성으로 설치하고 싶다면 Core installation(코어 설치)을 선택할 수도 있습니다. 어차피 포함된 패키지가 거의 없기 때문에 큰 차이는 없습니다.
다음 화면으로 넘어가려면 라이선스 조항에 동의합니다.
다음 설치 창에서는 하드 드라이브 파티셔닝을 요청합니다. 이 화면에서 필요에 맞게 파티션을 나눌 수 있으며, 기본 파티션으로 진행하려면 Next(다음)를 클릭하면 됩니다.
다음 화면에서 시스템의 호스트명, 사용자 이름, 비밀번호를 입력합니다. 이후 설치가 시작되며, 설치가 완료되면 가상 머신을 재부팅합니다.
앞서 지정한 사용자 이름과 비밀번호로 시스템에 로그인합니다.
축하합니다! 이제 CBL-Mariner가 여러분의 머신에 성공적으로 설치되었습니다. 아쉽게도 명령줄 모드로 부팅되기 때문에 곧바로 터미널 창에 접근하게 됩니다.
가상 머신에서 CBL-Mariner 실행하기
CBL-Mariner 설치는 결코 간단한 편이 아닙니다. 공식 ISO 파일이 제공되지 않아 설치 과정이 다소 번거로울 수 있습니다. 그럼에도 불구하고, ISO 파일만 한 번 만들어 두면 이후 설치 절차는 다른 일반적인 배포판과 매우 유사합니다.
또한 이 배포판은 매우 기본적인 구성으로 되어 있어 탑재된 패키지가 많지 않습니다. 마이크로소프트의 최신 리눅스 배포판이 궁금하다면 CBL-Mariner를 직접 경험해 보시길 추천합니다.