Distrobox로 모든 리눅스 배포판에서 프로그램 실행하기

Distrobox는 컴퓨터 내에서 모든 리눅스 배포판을 부팅할 수 있는 간단한 CLI 도구입니다. VirtualBox와 달리, Distrobox는 현재 시스템 위에서 다른 리눅스 배포판의 프로그램을 실행할 수 있도록 해주는 “오버레이”를 생성합니다. 여기에서는 Distrobox의 작동 원리와 설치 및 사용 방법을 살펴보겠습니다.
여러 리눅스 배포판 관리에 Distrobox를 사용하는 이유
Distrobox의 가장 큰 장점은 격리된 인스턴스를 사용하는 대신 호스트 위에서 게스트를 실행한다는 점입니다. 전통적인 VM과 비교할 때, 이는 호스트의 홈 디렉토리, 외부 장치 및 심지어 디스플레이 서버에 원활하게 접근할 수 있게 해줍니다.

게스트와 호스트 간의 이러한 긴밀한 통합 수준은 Distrobox로 독특한 작업을 수행할 수 있게 해줍니다. 예를 들어, 우분투 게스트에 GUI 애플리케이션을 설치하고 그 바로 가기를 호스트 시스템의 바탕화면으로 내보낼 수 있습니다. 기술 작가로서, 저는 다양한 앱을 테스트하고 비교할 때 이 기능이 유용하다고 생각합니다.

마지막으로, Distrobox는 매우 가벼워서 여러 VM을 실행할 자원이 없는 저사양 시스템에 이상적입니다. 제 경험에 따르면, 우분투와 페도라 게스트를 약 6시간 실행했을 때 호스트의 전체 RAM 중 약 900MB만 소모되었습니다.
Distrobox 설치 및 테스트
Distrobox는 본질적으로 Docker 및 Podman과 같은 컨테이너 데몬을 활용하여 배포판을 관리합니다. 따라서 Distrobox를 배포하는 첫 번째 단계는 머신에 Docker를 설치하는 것입니다.
Docker 데몬이 시스템에서 실행 중인지 확인하려면 버전을 확인하세요:
docker --version현재 사용자를 docker 시스템 그룹에 추가하세요:
sudo adduser $USER docker시스템의 패키지 관리자를 사용하여 Distrobox를 다운로드하고 설치하세요:
sudo apt install distrobox-h 플래그와 함께 Distrobox를 실행하여 제대로 설치되었는지 확인하세요.

첫 번째 오버레이 배포판 배포하기
Distrobox가 실행 중이면 이제 첫 번째 리눅스 배포판 오버레이를 설치할 수 있습니다. 이를 위해 개발자는 기본 설치 미디어로 Fedora 39 OCI 이미지를 제공합니다.
Distrobox를 create 서브커맨드와 함께 실행하고 새 오버레이에 원하는 이름과 호스트 이름을 입력하세요:
distrobox create --name YOUR-OVERLAY-NAME-HERE --hostname YOUR-CONTAINER-NAME-HERE“y”를 입력한 후 Enter를 눌러 새 오버레이 배포판을 가져오고 배포하세요.

참고: 시스템의 하드웨어에 따라 Distrobox에서 게스트 시스템을 완전히 설치하는 데 5~10분이 걸릴 수 있습니다.
완료되면 다음 명령어를 실행하여 새 오버레이 배포판을 부팅하고 로드하세요:
distrobox enter YOUR-OVERLAY-NAME-HERE터미널 프롬프트에서 호스트 이름을 확인하여 이제 오버레이 시스템 안에 있는지 확인하세요.
오버레이 세션을 종료하려면 게스트 터미널에서 Ctrl + D를 누르고, distrobox stop을 실행한 후 오버레이 이름을 입력하세요.
참고: DNF 패키지 관리자에 대한 포괄적인 가이드를 통해 Fedora 및 Red Hat Enterprise Linux의 기능을 탐색해 보세요.
Distrobox에서 사용자 정의 리눅스 이미지 실행하기
Fedora 39 외에도 Distrobox 내에서 Arch Linux와 같은 다른 OCI 호환 리눅스 배포판을 실행할 수 있습니다.
사용자 정의 리눅스 배포판을 설치하려면 create 서브커맨드를 -i 플래그와 함께 OCI 호환 이미지 링크를 입력하여 실행하세요. 제 경우에는 Arch Linux Toolbx 이미지를 Quay.io에서 오버레이의 기반으로 사용할 것입니다:
distrobox create --name arch-linux --hostname mte-archlinux-container --image quay.io/toolbx/arch-toolbox:latest
참고: 호환 가능한 배포판 목록과 다운로드 링크는 개발자의 Github 페이지에서 확인할 수 있습니다.
완료되면 오버레이를 부팅하고 새 Arch Linux 시스템으로 들어가세요:
distrobox enter arch-linuxFedora와 마찬가지로 터미널의 호스트 이름을 확인하여 이제 Arch Linux를 실행 중인지 확인하세요.

Distrobox에서 패키지 설치 및 실행하기
Distrobox의 긴밀한 통합의 장점 중 하나는 게스트 시스템이 호스트 머신에 원주율처럼 작동한다는 점입니다. 따라서 Distrobox에서 프로그램을 설치하고 실행하는 것은 일반 리눅스 설치와 유사합니다.
Distrobox 게스트에 패키지를 설치하려면 먼저 현재 오버레이 배포판 안에 있는지 확인하세요:
distrobox enter arch-linux참고: 시스템에서 사용 가능한 오버레이 목록을 보려면 distrobox ls를 실행하세요.
필요한 프로그램을 설치하기 위해 게스트 배포판의 패키지 관리자를 사용하세요. 이 경우, Arch Linux 게스트 시스템에 neofetch를 설치하기 위해 sudo pacman -S neofetch를 실행할 것입니다.

오버레이 내에서 한 번, 외부에서 한 번 새 패키지를 실행하여 테스트하세요.

Distrobox 오버레이 외부에서 프로그램을 설치할 수도 있습니다. 이를 위해 enter 서브커맨드와 -- 연산자를 사용하세요:
distrobox enter --name arch-linux -- sudo pacman -s neofetch이 기능은 게스트 시스템 외부에서 프로그램을 실행하는 데도 확장됩니다. 예를 들어, 다음 명령어는 Arch Linux 게스트에서 neofetch를 실행하고 그 출력을 우분투 호스트 시스템에 표시합니다:
distrobox enter --name arch-linux -- neofetch
알아두면 좋은 점: 다른 패키지 관리자를 사용하고 있나요? 다양한 리눅스 배포판에 대한 유용한 패키지 관리자 요약을 확인해 보세요.
오버레이 프로그램을 호스트 시스템으로 내보내기
-- 연산자는 간단한 일회성 작업에 좋지만, Distrobox “프로필”을 생성하여 호스트 리눅스 머신에서 게스트 프로그램을 직접 실행할 수도 있습니다. 이는 Distrobox 게스트 시스템 내의 프로그램에 지속적으로 접근하고 싶을 때 유용합니다.
호스트 머신으로 내보내려면 먼저 프로그램을 설치한 시스템으로 들어가세요:
distrobox enter arch-linux컨테이너 내에서 애플리케이션이 제대로 작동하는지 확인하세요. 제 경우에는 Arch Linux 내에서 Emacs 설치를 내보내고 싶습니다.

distrobox-export를 --app 플래그와 함께 실행하고 내보내고자 하는 프로그램의 이름을 입력하세요:
distrobox-export --app emacs호스트 시스템의 애플리케이션 실행기로 가서 프로그램 아이콘을 클릭하여 새로 내보낸 앱을 테스트하세요.

Distrobox로 게스트 OS를 설치하고 실행하는 것은 Docker 및 컨테이너 기술로 할 수 있는 일의 한 예일 뿐입니다. Docker 컨테이너를 실행하고 관리하는 방법에 대한 기본 가이드를 확인하여 이 프로그램의 작동 방식을 깊이 파고들어 보세요.
이미지 출처: Kari Shea via Unsplash. 모든 수정 및 스크린샷은 Ramces Red에 의해 이루어졌습니다.