가상화

가상화는 쉽게 설명하자면, 호스트 컴퓨터에 소프트웨어로 구현한 가상의 컴퓨터에 OS를 깔아서 사용하는 것이라고 할 수 있습니다. 더 쉽게 말하면 컴퓨터 속의 컴퓨터입니다.

그럼 가상화는 왜 사용하는 걸까요?

공부를 진행하면서 자주 접하게 될 실행파일 포맷은 elf입니다. 해당 실행파일은 리눅스에서 실행이 가능합니다. 하지만 대부분의 경우 리눅스가 호스트 컴퓨터의 OS로 설치된 경우는 많이 없을 것입니다. 이러한 상황에서 elf 실행파일을 실행하기 위해서는 가상화를 통해 가상머신을 만들어 사용합니다.

또는 악성코드와 같은 프로그램을 동적 분석한다고 했을 때 호스트 컴퓨터에서 실행하게 된다면 어떤 일이 일어나게 될지는 명확하죠? 이러한 일을 막고자 가상화된 가상머신을 구성하여 사용하는 것처럼 호스트 컴퓨터와는 격리된 환경이 필요할 때 사용합니다.

맥에서 가상화를 위해 사용하는 방법 중 대표적인 두 가지는 UTMDocker를 이용하는 방식입니다. 하지만 지금은 해당 프로그램에 대해 자세히 알아보는 것은 괜히 머리 아플 수 있습니다.

따라서 이번에는 이런 두 가지 도구가 있고 설치하고 사용해 보자 정도로 넘어가시면 될 것 같습니다.

현재 문서에 적힌 가상화에 대한 내용은 쉽게 설명하기 위해 많은 내용이 생략되어 있습니다. 가상화에 대해서 더욱 자세히 알고 싶으시면 init.tools의 CORE의 Virtual Environment 부분을 읽어보시면 될 것 같습니다.

UTM

UTM은 설치가 간편하고 다양한 옵션이 있는 오픈소스 가상화 도구입니다.1 같은 아키텍처의 가상머신을 돌리는 가상화는 당연히 가능하고, 다른 아키텍처의 가상머신을 돌리는 에뮬레이션도 가능합니다.

UTM의 설치 방법은 아래의 명령어를 터미널에 입력하면 됩니다.

brew install --cask utm

설치가 완료되고 UTM을 실행하면 아래와 같은 창이 나오게 됩니다.

Docker

Docker는 컨테이너라는 기술을 이용해서 가상머신에 비해 상대적으로 가벼운 가상화 도구입니다. 주로 환경이 미리 세팅된 문제들을 풀 때 자주 보게 될 친구입니다.

설치 방법은 아래의 명령어를 터미널에 입력하시면 됩니다.

brew install --cask docker

⚠️ GUI 도구를 설치할 때 대부분 —cask 옵션을 이용하는 걸 잊지 마세요!! 도커의 경우 —cask 옵션을 빼고 설치하면 CLI 로만 사용이 가능한 도커가 설치 됩니다.

Docker를 설치하는 도중에 비밀번호를 입력해야하는 부분이 있습니다. 이때 본인의 맥을 잠금해제하는 비밀번호를 입력해 주시면 됩니다.

⚠️ 이때 키보드를 입력해도 반응이 없을 수 있으나 정상적으로 입력이 되고 있으니 그냥 입력하시면 됩니다. 이후에 사용할 Ubuntu에서도 같은 현상이 있으니 너무 걱정하지 않으셔도 됩니다.

Docker의 설치가 완료 되고 실행을 하면 아래 이미지와 같은 창이 나오게 됩니다.

Accept를 눌러 다음 단계로 진행하시면 됩니다.

Docker를 실행하고 초반 설정하는 부분에서는 권장 설정으로 진행하셔도 충분합니다. Finish를 눌러 설치를 마무리하시면 됩니다.

아래와 같은 경고창이 나올 수 있는데, 허용을 눌러 다음 단계로 진행하시면 됩니다.

그럼 로그인 창이 나오게 되는데, 굳이 로그인하지 않고 Skip을 눌러서 일단 로그인을 넘기고 사용할 수 있습니다.

모든 과정이 마무리 되고 Docker가 실행이 되면 아래 이미지와 같은 창이 나오게 됩니다.


이전: 5. Visual Studio Code
목차: 0. 따라만 하면 완성!! 해커 노트북 세팅 - MacOS편
다음: 7. 우분투 세팅

Footnotes

  1. 무엇보다 무료!