# Bootable 컨테이너 시대, 리눅스 테마 꾸미기의 즐거움

> Clean Markdown view of GeekNews topic #20479. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=20479](https://news.hada.io/topic?id=20479)
- GeekNews Markdown: [https://news.hada.io/topic/20479.md](https://news.hada.io/topic/20479.md)
- Type: GN+
- Author: [xguru](https://news.hada.io/@xguru)
- Published: 2025-04-23T09:14:06+09:00
- Updated: 2025-04-23T09:14:06+09:00
- Original source: [blues.win](https://blues.win/posts/joy-of-linux-theming/)
- Points: 11
- Comments: 2

## Summary

**부팅 가능한 컨테이너**를 통해 이제 리눅스 테마 변경이 안전하고 관리 가능한 방식으로 가능해졌습니다. `/usr`를 **컨테이너로 정의하고 롤백 가능**하여 시스템을 쉽게 실험하고 되돌릴 수 있습니다. **bootc**는 Red Hat이 개발한 시스템으로, 운영체제를 컨테이너 기반으로 정의하고 배포할 수 있으며, 실패 시 **간단히 이전 상태로 복구**할 수 있습니다. **Blue95**와 같은 프로젝트는 배포판과 컨테이너의 경계가 모호해진 시대를 반영하며, 개인의 창의적 표현을 실현할 수 있는 기회를 제공합니다.

## Topic Body

- **bootc와 부팅 가능한 컨테이너** 덕분에 테마 변경이 더 안전하고 관리 가능한 방식으로 가능해짐  
- `/usr`를 **컨테이너로 정의하고 롤백 가능**하므로 시스템을 쉽게 실험하고 되돌릴 수 있음  
- `ostree admin unlock` 명령으로 재부팅 없이도 **일시적인 커스터마이징**이 가능함  
- Blue95 같은 프로젝트는 **배포판과 컨테이너의 경계가 모호해진 시대**를 반영함  
- 부팅 가능한 컨테이너를 통해 **개인의 창의적 표현**을 실현할 수 있음  
  
---  
  
### Linux 테마 커스터마이징의 즐거움  
  
- 수십 년 동안 다양한 데스크탑 환경과 테마 설정에 관심을 가졌음  
  - Xfce, LXQt, Sway 등을 설치하고 패널, 런처, 사운드, 폰트, 테마 등을 사용자화함  
  - 초기에는 쉘 스크립트를 사용하다가 Ansible 플레이북으로 발전함  
  - `/usr` 디렉터리를 수정해야 하는 시스템 전역 변경도 포함되었음  
- 하지만, 시간이 지나면서 자주 깨지거나 사라지는 패널, 작동하지 않는 런처 등의 문제로 인해 **기본 설정으로 되돌아가는 선택**을 하게 되었음  
- GNOME, KDE 같은 현대적인 데스크탑 환경은 이미 잘 만들어져 있어 기본 상태도 충분히 만족스러움  
- 그럼에도 불구하고 **커스터마이징 욕구는 사라지지 않았음**, 그러던 중 `bootc` 개념을 접하게 됨  
  
### Bootc는 테마 제작자의 놀이터  
  
- [bootc](https://github.com/bootc-dev/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](https://github.com/winblues/blue95)는 Fedora Xfce 기반의 커스터마이징된 OCI 이미지  
- Hacker News에서 소개되며 **"단순한 테마인데 배포판이 필요한가?"** 라는 질문 제기됨  
  
#### 배포판의 정의는 흐려짐  
  
- 기존에는 배포판을 만드는 일이 매우 복잡하고 시간이 많이 드는 일이었음  
- 이제는 **Containerfile + CI/CD 파이프라인**만으로 유사한 결과를 쉽게 만들 수 있음  
- Blue95는 GitHub Actions로 자동 빌드되어 OCI 레지스트리에 배포됨  
- 단순한 Fedora 베이스 컨테이너를 **배포판으로 보는 기준은 모호함**  
  
#### 기존 사례와 비교  
  
- [Bluefin](https://projectbluefin.io/), [Bazzite](https://bazzite.gg/) 같은 bootc 기반 프로젝트도 배포판으로 간주되곤 함  
- 실제 사용 경험은 기존 Fedora와는 확연히 다름  
- 기존 정의로는 배포판의 의미를 설명하기 어려워짐  
  - **"딱 보면 알지"** 정도의 정성적 기준이 유일한 정의가 될 수 있음  
  
### 결론  
  
- 단순히 테마만을 위해 "배포판"을 만든다는 것이 **불필요해 보일 수 있음**  
- 하지만 부팅 가능한 컨테이너로 **일관된 디자인과 앱 구성을 정의**하고,  
- 그것을 직접 만들고 사용할 수 있는 자유는 **커다란 기쁨과 성취감**을 줌  
> 지금 이 글을 작성하는 운영체제는 **내가 만든 컨테이너에서 부팅된 시스템**임  
> 수많은 개발자의 작업 위에 내가 만든 창의적인 표현이 더해진 결과물이며,  
> 이 점이 나에게 **큰 즐거움을 줌**

## Comments



### Comment 37690

- Author: zihado
- Created: 2025-04-23T23:00:41+09:00
- Points: 1

bootable 컨테이너가 아직은 잘 이해되지 않네요

### Comment 37552

- Author: neo
- Created: 2025-04-23T09:14:06+09:00
- Points: 1

###### [Hacker News 의견](https://news.ycombinator.com/item?id=43743784)   
* 일반적인 컨테이너는 dotfiles 테스트에 매우 유용함  
  - 몇 년 전, 시스템을 빠르게 설정하기 위해 https://github.com/nickjj/dotfiles 에 설치 스크립트를 추가했음  
  - 공식 Debian 및 Ubuntu 이미지를 사용하여 테스트했음  
  - 최근 Arch Linux를 지원하도록 리팩토링했음  
  - 전체 테스트를 약 5분 만에 완료할 수 있음  
  - 컨테이너는 1초 만에 시작되고, 나머지는 스크립트가 실행됨  
  - 시스템을 수정하지 않고도 테스트할 수 있게 해줌  
  - Docker는 지난 10년 동안 많은 좋은 것을 가능하게 했음  
  
* 불변의 Linux와 부팅 가능한 컨테이너의 아이디어를 좋아함  
  - 다음 프로젝트는 bazzite로 전환하는 것일 것임  
  - 그러나 Containerfile을 보고 공급망의 취약성에 대한 우려가 있음  
  - 20개의 다른 copr 저장소를 사용하고 있으며, 버전이 고정되지 않음  
  - Debian을 사용하면 패키지에 대한 신뢰가 높음  
  - 공급망 위험을 하나의 파일로 패키징하는 것은 위험할 수 있음  
  - 다른 사람들도 같은 우려를 가지고 있는지 궁금함  
  
* 테마에 대한 열정이 왜 더 많지 않은지 궁금함  
  - Chicago95와 Garuda의 KDE 테마를 좋아함  
  - 다양한 DE의 테마를 다운로드할 수 있는 웹사이트가 있지만, 대부분은 조금 불안정함  
  
* 부팅 가능한 컨테이너에 대해 전혀 몰랐음  
  - Blue95는 bootc 사용 맥락에서 더 이해가 됨  
  - NsCDE와 같은 예시를 참고할 수 있음  
  
* Enlightenment를 가지고 놀던 시절이 생각남  
  - X11의 가능성을 밀어붙이려 했던 시도였음  
  - 아직도 존재한다는 것이 놀라움  
  
* 부팅 가능한 컨테이너에 대해 흥미로움을 느낌  
  - NixOS의 impermanence 모듈과 유사함  
  
* bootc 프로젝트는 현재 Linux에서 가장 흥미로운 것 중 하나임  
  - Debian과 같은 프로젝트가 이를 채택하면 좋겠음  
  - 안정성 측면에서 많은 이점을 얻을 수 있음  
  
* 썸네일 이미지가 나의 전체 상태를 대변함  
  
* 현대 OS가 무한히 쉽게 테마화될 수 있을 것이라고 기대했지만, 그렇지 않음  
  - 완벽한 복고풍 테마와 독창적인 테마가 존재할 것이라고 생각했음
