누구나 한 번쯤 겪어본 일입니다. 어렵게 앱을 찾았는데 정작 내 OS와 호환되지 않는 경우 말이죠. 리눅스 배포판은 종류가 매우 다양하며, 패키지가 모든 배포판에서 항상 호환되는 것은 아닙니다.
가상 머신(Virtual Machine)을 사용하는 것이 논리적인 선택처럼 보일 수 있지만, 설정하는 과정이 번거롭습니다. 이때 등장하는 것이 바로 Distrobox입니다. 이 도구를 사용하면 컨테이너화된 환경 내에서 거의 모든 리눅스 배포판을 실행할 수 있습니다.
특히 .deb 및 .rpm 형식의 파일을 실행하려 할 때 매우 유용한 도구입니다.
관련 기사
작동 원리
컨테이너의 마법
간단히 말해, Distrobox는 사용자가 컨테이너화된 환경 내에서 다른 배포판의 앱을 실행할 수 있게 해주는 소프트웨어 키트입니다. 컨테이너 내부의 앱은 호스트 시스템의 디렉터리에 접근할 수 있어 호스트와 긴밀하게 통합됩니다.
흥미롭게도 Distrobox는 자체적으로 컨테이너를 관리하지는 않습니다. 이를 위해 Podman이나 Docker를 함께 사용해야 합니다.
물론 컨테이너와 호스트 간의 긴밀한 통합으로 인해 Distrobox로 실행 중인 프로그램을 완전히 격리하는 것은 불가능하지만, 어느 정도의 분리는 가능합니다.
그럼에도 불구하고, 이 소프트웨어는 오늘날까지도 꾸준히 업데이트되는 놀라운 도구입니다. Distrobox에서 앱을 실행할 때 성능 저하가 거의 없다는 점은 더욱 매력적입니다.
설치 및 실행
주요 배포판에서 지원되는 Distrobox
Arch Linux에서 Distrobox를 구성하고 설치하는 것은 놀라울 정도로 쉬웠습니다. 저는 AUR을 사용하여 Distrobox와 Podman 패키지를 모두 설치하는 것으로 시작했고, 이어서 RPM 파일을 다운로드했습니다.
CODEBLOCK_0_ENDBLOCK RPM 파일은 Fedora 전용이므로 Fedora 프로그램을 위한 컨테이너를 생성해야 했습니다. 이 과정 역시 설정하기가 놀라울 정도로 쉬웠지만, 전체 프로세스가 완료되기까지(Fedora 이미지 다운로드 포함) 약간의 시간이 걸렸습니다. 다운로드를 확인하려면 Y/Enter를 누르세요.
CODEBLOCK_1_ENDBLOCK Fedora 컨테이너가 준비되면 가상 환경으로 들어가서 필요한 RPM 파일이 있는 다운로드 폴더로 cd 명령어를 통해 이동할 수 있습니다. 초기 설정에 시간이 좀 걸렸기 때문에 잠시 기다려야 했습니다.
CODEBLOCK_2_ENDBLOCK 다운로드 폴더에 들어간 후, “sudo dnf install” 뒤에 RPM 파일 이름을 입력하여 실행하기만 하면 됩니다. Distrobox는 컨테이너 내에서 사용자에게 비밀번호 없는 sudo 권한을 제공하므로 여기서는 sudo가 필수는 아닙니다. 몇 분 후, 제 Arch Linux 시스템에서 Fedora 앱을 실행할 수 있었습니다.
CODEBLOCK_3_ENDBLOCK 이 과정에서 여러 종속성이 함께 설치됩니다. 여유 공간이 충분한지 확인하세요!
특징 및 불편한 점
그래도 네이티브 패키지가 최고입니다
Distrobox는 사용법이 매우 간단함에도 불구하고 전적으로 명령줄 인터페이스(CLI)에서 실행됩니다. 이 때문에 GUI가 있는 프로그램보다 접근성이 훨씬 떨어집니다.
이때 BoxBuddy를 사용해 보세요. Distrobox 컨테이너를 더 쉽게 실행하고 관리할 수 있도록 돕는 친숙한 프로그램입니다. (네이티브 빌드나 Flatpak을 통해) 설치하고 나면 컨테이너 재시작이나 삭제와 같은 기본 및 고급 기능을 제공하는 메뉴가 나타납니다.
어떤 면에서 BoxBuddy는 Distrobox를 훨씬 더 잘 관리할 수 있게 해주는 빠진 고리처럼 느껴집니다.
불행히도 네이티브 패키지를 능가하는 것은 없습니다. 무언가를 작동시키기 위해 여러 단계를 거쳐야 하는 것은 이상적이지 않으며, Distrobox 컨테이너는 예상보다 훨씬 많은 공간을 차지합니다.
네이티브 앱을 사용할 수 있다면, Distrobox로 전환하기 전에 먼저 네이티브 앱을 사용하는 것을 고려하세요.
여전히 살펴볼 가치가 있습니다
Distrobox가 완벽한 해결책은 아닐지 몰라도, 매우 근접한 수준입니다. 프로그램을 위해 전용 가상 머신을 실행하고(그 자체로 골치 아픈 일인 파일 접근 권한을 관리하는 것보다) 훨씬 나으며, 차이를 느끼기 어려울 정도로 성능이 뛰어납니다.
물론 실행하려는 앱에 따라 결과는 확실히 다를 수 있지만, 저는 Distrobox가 그만한 가치가 있다고 생각합니다. 시스템을 망가뜨릴 걱정 없이 다양한 리눅스 배포판 패키지를 자유롭게 실험할 수 있게 해주며, 강력히 추천할 만한 도구입니다.
##### Distrobox
Distrobox는 사용자가 호스트 시스템에서 다른 리눅스 배포판의 호환되지 않는 앱을 실행할 수 있게 해줍니다. 터미널 중심이며 긴밀한 통합을 통해 네이티브에 가까운 호환성을 제공합니다.
