Ubuntu는 안정성, 다양한 그래픽 인터페이스를 갖춘 여러 플레이버, 그리고 서로 돕는 열정적인 커뮤니티를 자랑하는 인기 리눅스 배포판입니다. Ubuntu에서 화려한 부가 기능들을 모두 걷어내면 남는 것이 바로 Ubuntu Core입니다.
Ubuntu Core는 라즈베리 파이 2에서도 구동 가능한 OS로, 물론 파이 3, 4 같은 후속 모델에서도 문제없이 돌아갑니다. 두 유명 브랜드의 결합은 안정적이고 꾸준히 유지보수되며 오랫동안 지원받는 결과물을 만들어 줍니다.
지금부터 Ubuntu Core와 라즈베리 파이가 함께 만들어낼 수 있는 가능성을 살펴보겠습니다.
Ubuntu Core란 무엇인가?
Ubuntu Core는 그래픽 인터페이스가 없는 경량화된 리눅스 배포판입니다. 명령줄(CLI)만 사용할 수 있지만, 많은 리눅스 사용자에게 익숙한 APT 패키지 시스템 기반의 친숙한 생태계를 갖추고 있습니다. 또한 원한다면 Snap과 Flatpak 패키지를 활용해 원하는 소프트웨어를 설치할 수도 있습니다.
이 명령줄 중심의 리눅스 배포판은 IoT와 임베디드 환경에 특화되어 있으며, 강력한 보안과 안정적인 업데이트를 통해 업계 전문가들이 요구하는 신뢰성을 보장합니다.
준비물 및 설치 방법
Ubuntu Core를 시작하려면 다음 하드웨어가 필요합니다:
- 라즈베리 파이 2, 3, 4, 400, Zero 2 W 또는 Compute Module 4
- 4GB 이상 microSD 카드와 카드 리더기
- Wi-Fi 네트워크 또는 인터넷에 연결된 이더넷 케이블
- HDMI 인터페이스가 있는 모니터
- HDMI 케이블
- USB 키보드
필요한 하드웨어를 준비했다면 라즈베리 파이에 Ubuntu Core를 설치해야 합니다. Ubuntu Core 이미지를 다운로드한 후 Raspberry Pi Imager 도구를 사용해 손쉽게 설치할 수 있습니다. 설치 과정에서 SSH를 반드시 활성화하세요. 이렇게 해두면 필요할 때 언제든 라즈베리 파이에 원격으로 접속할 수 있습니다.
Ubuntu Core의 실용적인 활용 사례
표준 라즈베리 파이 OS 대신 Ubuntu Core를 선택하고 싶어지는 이유는 다양합니다.
IoT 및 앱 개발
최대 10년간 지원되며(보안 업데이트와 버그 패치가 자주 제공됨) 라즈베리 파이의 스마트 애플리케이션에 든든한 안정성을 더해줍니다. 각 IoT 기기는 자체 클라우드 백엔드를 통해 고유한 IoT 앱 스토어를 호스팅하고 관리할 수 있어, 나만의 생태계를 구축하고 수익화 전략도 자유롭게 설계할 수 있습니다.
수정 작업이 필요할 때 Ubuntu Core의 원격 관리 기능을 활용하면 다운타임을 최소화할 수 있습니다. 클라우드 기반 기기가 처음이라면 사물인터넷(IoT)의 세계를 먼저 탐색해 보는 것도 좋습니다.
Snap은 개발자가 여러 리눅스 배포판에 동시에 애플리케이션을 배포할 수 있는 편리한 방법을 제공합니다. 또한 Snap 패키지는 컨테이너 시스템을 사용해 애플리케이션이 필요로 하는 하드웨어만 선택적으로 활용할 수 있게 해줍니다. 다만 Snapcraft(Snap)에는 장단점이 모두 존재하므로, Snap 생태계 개발을 시작하기 전에 충분히 검토하는 것이 좋습니다.
미디어 서버
개인 애호가 입장에서 Ubuntu Core와 라즈베리 파이는 중요한 파일 저장·공유, 비디오·오디오 스트리밍, 보안 시스템 운영 등에 활용할 서버를 구축하기에 완벽한 조합입니다.
네트워크에 연결된 스토리지 시스템을 구축하면 라즈베리 파이에 중요한 파일을 저장하고 홈 네트워크 내 컴퓨터들과 손쉽게 공유할 수 있습니다. Samba는 Ubuntu Core에 기본 포함된 애플리케이션으로, 설정 가이드를 참고하면 이 스토리지 솔루션을 간단히 구성할 수 있습니다.
미디어 서버 구축 역시 라즈베리 파이에서 운영하기 좋은 선택지입니다. Plex Server를 단독 이미지로 설치하는 대신 Docker 컨테이너에 설치할 수도 있습니다. 리눅스 미디어 서버 설정 가이드를 참고해 보세요. Plex Server 설치 후에는 [라즈베리 파이 IP]:32400 주소로 접속하면 됩니다(서버 설정에서 기본 포트를 변경하지 않은 경우).
컨테이너 및 웹 서버
다음 프로젝트(또는 미디어 서버)를 위한 안전한 공간이 필요하다면 Docker 컨테이너가 훌륭한 선택입니다. 컨테이너화된 환경에 새 애플리케이션을 설치해도 호스트 시스템 전체에는 영향을 주지 않습니다. 단계별 가이드를 따르면 리눅스에 Docker를 설치하는 일은 매우 간단합니다. 웹 UI를 선호한다면 Portainer를 추가로 설치할 수도 있습니다.
또 다른 웹 UI인 Cockpit은 홈 네트워크 내 다른 브라우저에서 Ubuntu Core 시스템을 관리하기에 좋은 도구입니다. 그래픽 환경이 없는 시스템에 원격 접속할 때는 SSH가 일반적이지만, 웹 기반 인터페이스로 멀리서도 컴퓨터 상태를 모니터링할 수 있다는 점은 큰 장점입니다. Cockpit 시작 가이드를 참고해 보세요.
머신러닝
머신러닝 모델은 종종 특별한 인프라 요구 사항을 갖습니다. 경량화된 Kubernetes 버전인 MicroK8s가 바로 이러한 니즈에 대한 해결책을 제공합니다. MicroK8s는 여러 사용자에게 갑작스럽게 서비스를 제공해야 할 때(예: ChatGPT 챗봇) 특히 이상적입니다.
MicroK8s를 사용하면 복잡한 클러스터 관리 부담을 덜고 여러 머신으로 구성된 클러스터에서 고효율로 머신러닝 프로젝트를 실행할 수 있습니다. MicroK8s는 Snap으로 로컬에 설치할 수 있으며, 설치된 머신러닝 컨테이너가 네이티브하게 실행되도록 지원합니다. 덕분에 GPU 가속 프로젝트를 포함한 개발 작업을 사전 프로덕션 단계에서 훨씬 수월하게 진행할 수 있습니다.
Docker는 컨테이너 분야에서 가장 익숙한 이름이지만, 주로 컨테이너 런타임(애플리케이션 실행)에 적합합니다. Kubernetes 생태계(MicroK8s)는 초기 설정이 다소 복잡할 수 있지만, 장기적으로는 뛰어난 확장성과 불필요한 관리 작업 감소라는 이점을 누릴 수 있습니다.
게다가 MicroK8s 컨테이너는 60초 이내에 구동할 수 있습니다. 많은 전문가들이 이 솔루션을 활용하지만, 로컬 환경에서 개발하려는 개발자에게도 매우 유용합니다. Ubuntu에서 MicroK8s를 처음 설정하는 단계별 가이드를 확인해 보세요.
Ubuntu Core와 라즈베리 파이로 어디까지 갈 수 있을까?
Ubuntu Core와 라즈베리 파이로 차세대 디지털 프로젝트를 실현할 수 있는 아이디어는 무궁무진합니다. Juju나 Akri를 활용하면 머신러닝 프로젝트의 성공률을 한층 높일 수 있고, 오디오 전용 서버를 구축해 소중한 음원 컬렉션을 최대한 활용할 수도 있습니다.
무엇보다 Ubuntu Core가 소모하는 시스템 리소스가 매우 적어 라즈베리 파이 2조차 충분히 구동할 수 있다는 점이 가장 큰 매력입니다. 오래된 보드도 새로운 프로젝트의 주인공으로 되살려 보세요.