-
bootc와 부팅 가능한 컨테이너 덕분에 테마 변경이 더 안전하고 관리 가능한 방식으로 가능해짐
-
/usr를 컨테이너로 정의하고 롤백 가능하므로 시스템을 쉽게 실험하고 되돌릴 수 있음
-
ostree admin unlock 명령으로 재부팅 없이도 일시적인 커스터마이징이 가능함
- Blue95 같은 프로젝트는 배포판과 컨테이너의 경계가 모호해진 시대를 반영함
- 부팅 가능한 컨테이너를 통해 개인의 창의적 표현을 실현할 수 있음
Linux 테마 커스터마이징의 즐거움
- 수십 년 동안 다양한 데스크탑 환경과 테마 설정에 관심을 가졌음
- Xfce, LXQt, Sway 등을 설치하고 패널, 런처, 사운드, 폰트, 테마 등을 사용자화함
- 초기에는 쉘 스크립트를 사용하다가 Ansible 플레이북으로 발전함
-
/usr 디렉터리를 수정해야 하는 시스템 전역 변경도 포함되었음
- 하지만, 시간이 지나면서 자주 깨지거나 사라지는 패널, 작동하지 않는 런처 등의 문제로 인해 기본 설정으로 되돌아가는 선택을 하게 되었음
- GNOME, KDE 같은 현대적인 데스크탑 환경은 이미 잘 만들어져 있어 기본 상태도 충분히 만족스러움
- 그럼에도 불구하고 커스터마이징 욕구는 사라지지 않았음, 그러던 중 bootc 개념을 접하게 됨
Bootc는 테마 제작자의 놀이터
-
bootc는 Red Hat이 개발한 부팅 가능한 컨테이너 시스템
- 컨테이너 기반으로 운영체제를 정의하고 배포할 수 있음
FROM quay.io/fedora/fedora-bootc:42
RUN dnf install -y my-custom-theme my-custom-fonts my-custom-panel
-
podman과 bootc 명령어로 이미지 빌드 및 시스템 스위칭 가능:
sudo podman build -f Containerfile -t my-fedora
sudo bootc switch --transport containers-storage localhost/my-fedora:latest
-
/usr는 읽기 전용이며, 컨테이너를 이전 상태로 쉽게 롤백 가능
- 새로운 테마 아이디어를 실험하는 데 최적화된 방식
- 실패하거나 마음에 들지 않으면 간단히 이전 상태로 복구 가능
Development Mode (ostree admin unlock)
- 재부팅 없이 /usr를 임시 수정할 수 있는 모드
- 성공 시 Containerfile에 반영, 실패 시 단순 재부팅으로 변경 내용 제거 가능
- 일반적인 리눅스 환경에서 축적되는 찌꺼기가 거의 생기지 않는 장점 존재
대체 방법들과의 비교
- Ansible이나 쉘 스크립트: 재현성과 복구에 한계 있음
-
systemd-sysext: /usr 오버레이 이미지 사용 가능하지만 생태계 미성숙
- Nix: 학습 비용이 매우 높음
결론적으로 bootc는 안전성, 유연성, 도구 지원 면에서 가장 강력한 접근법임
잘못된 변경이 있어도 롤백이 쉬워 /usr를 망가뜨릴 걱정 없음
"배포판"이란 무엇인가?
-
Blue95는 Fedora Xfce 기반의 커스터마이징된 OCI 이미지
- Hacker News에서 소개되며 "단순한 테마인데 배포판이 필요한가?" 라는 질문 제기됨
배포판의 정의는 흐려짐
- 기존에는 배포판을 만드는 일이 매우 복잡하고 시간이 많이 드는 일이었음
- 이제는 Containerfile + CI/CD 파이프라인만으로 유사한 결과를 쉽게 만들 수 있음
- Blue95는 GitHub Actions로 자동 빌드되어 OCI 레지스트리에 배포됨
- 단순한 Fedora 베이스 컨테이너를 배포판으로 보는 기준은 모호함
기존 사례와 비교
-
Bluefin, Bazzite 같은 bootc 기반 프로젝트도 배포판으로 간주되곤 함
- 실제 사용 경험은 기존 Fedora와는 확연히 다름
- 기존 정의로는 배포판의 의미를 설명하기 어려워짐
-
"딱 보면 알지" 정도의 정성적 기준이 유일한 정의가 될 수 있음
결론
- 단순히 테마만을 위해 "배포판"을 만든다는 것이 불필요해 보일 수 있음
- 하지만 부팅 가능한 컨테이너로 일관된 디자인과 앱 구성을 정의하고,
- 그것을 직접 만들고 사용할 수 있는 자유는 커다란 기쁨과 성취감을 줌
지금 이 글을 작성하는 운영체제는 내가 만든 컨테이너에서 부팅된 시스템임
수많은 개발자의 작업 위에 내가 만든 창의적인 표현이 더해진 결과물이며,
이 점이 나에게 큰 즐거움을 줌