Bootableコンテナ時代、Linuxテーマを作り込む楽しさ
(blues.win)- 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 に反映し、失敗したら単純に再起動するだけで変更内容を削除できる
- 一般的な Linux 環境で蓄積しがちな 残りかすがほとんど生じない という利点がある
代替手法との比較
- 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 とは明らかに異なる
- 従来の定義では、ディストリビューションの意味を説明しにくくなっている
- 「見ればわかる」 程度の定性的な基準だけが唯一の定義になり得る
結論
- 単にテーマのためだけに「ディストリビューション」を作るのは 不要に見えるかもしれない
- しかしブート可能なコンテナで 一貫したデザインとアプリ構成を定義 し、
- それを自分で作って使える自由は 大きな喜びと達成感 を与えてくれる
今この文章を書いているオペレーティングシステムは、自分で作ったコンテナから起動したシステム である
数多くの開発者の仕事の上に、自分が作った創造的表現が加わった成果物であり、
この点が私に 大きな楽しさを与えてくれる
2件のコメント
bootableコンテナがまだよく理解できませんね
Hacker Newsの意見
一般的なコンテナは dotfiles のテストに非常に便利
イミュータブルな Linux とブート可能なコンテナというアイデアが好き
なぜテーマに対する情熱がもっとないのか不思議
ブート可能なコンテナのことをまったく知らなかった
Enlightenment で遊んでいた頃を思い出す
ブート可能なコンテナに興味を感じる
bootc プロジェクトは今の Linux で最も興味深いものの1つ
サムネイル画像が自分の全状態を表している
現代の OS は無限に簡単にテーマ化できるはずだと期待していたが、そうではない