리눅스 환경에 노출된 경험이 많지 않았던 나는 리눅스 한 학기 살기 프로젝트를 하면서 많이 배우게 되었다. 원래 개발 메인 PC가 맥북 프로 였어서 리눅스 관련 명령어 자체를 그렇게 어색하거나 하지 않았지만 윈도우 / 맥OS 말고 다른 운영체제로 개발해본 경험이 없었다. 그래서 개발자의 운영체제인 리눅스를 직접 체험해보면서 리눅스와 많이 친해진 것 같다.
사실상 이번 프로젝트에서 여러 프로그램을 깔면서 힘들었던 것은 리눅스 여서가 아니라 M1 이어서였다. M1 프로세서는 Arm 64 아키텍처를 사용한다. 리눅스 운영체제를 지원하는 SW는 생각외로 많았다. Beta 버전인 것이 많긴 했지만 이제 윈도우나 맥만 쓸 필요는 없는 것 같다. UTM 의 가상머신을 활용하여 리눅스를 사용한 것은 정말 큰 실수였다.. 몇몇 소프트웨어는 리눅스에서 ARM 아키텍쳐를 전혀 지원하지 않았다.
UTM은 QEMU 하이퍼바이저를 이용하여 iOS와 macOS에서 x86을 비롯한 여러 환경의 가상화, 에뮬레이션을 가능하게 하는 오픈소스 소프트웨어이다. 원래는 iOS용 앱이었으나, M1이 탑재된 Mac이 출시된 이후로는 macOS용 빌드도 개발되고 있다.
기본적으로 iOS에서 구동이 되기 때문에 엄청난 싱글코어 성능으로 빠르게 VM 구동이 가능하다. 같은 QEMU를 기반으로 한 안드로이드 진영의 Limbo PC Emulator와 속도비교를 하면 엄청난 차이가 나고, 일반적인 PC에서 돌렸을 때 성능과 비슷한 퍼포먼스를 보여준다.
너무 멋있어요