11 puan yazan GN⁺ 2025-04-23 | 2 yorum | WhatsApp'ta paylaş
  • bootc ve boot edilebilir konteynerler sayesinde tema değişiklikleri artık daha güvenli ve yönetilebilir şekilde yapılabiliyor
  • /usr konteyner olarak tanımlanıp geri alınabilir olduğu için sistem üzerinde kolayca deneme yapıp geri dönmek mümkün
  • ostree admin unlock komutuyla yeniden başlatma olmadan da geçici özelleştirme yapılabiliyor
  • Blue95 gibi projeler, dağıtım ile konteyner arasındaki sınırın belirsizleştiği bir dönemi yansıtıyor
  • Boot edilebilir konteynerler aracılığıyla kişisel yaratıcı ifade hayata geçirilebiliyor

Linux tema özelleştirmenin keyfi

  • Onlarca yıl boyunca çeşitli masaüstü ortamları ve tema ayarlarıyla ilgilenildi
    • Xfce, LXQt, Sway gibi ortamlar kurulup panel, başlatıcı, sesler, yazı tipleri ve temalar özelleştirildi
    • İlk başta shell script'ler kullanılırken zamanla bu süreç Ansible playbook'larına evrildi
    • /usr dizininin değiştirilmesini gerektiren sistem genelindeki değişiklikler de buna dahildi
  • Ancak zamanla sık sık bozulan ya da kaybolan paneller, çalışmayan başlatıcılar gibi sorunlar nedeniyle varsayılan ayarlara geri dönme tercihi yapıldı
  • GNOME ve KDE gibi modern masaüstü ortamları zaten iyi tasarlanmış olduğundan varsayılan halleri de yeterince tatmin edici
  • Buna rağmen özelleştirme isteği ortadan kalkmadı ve bu sırada bootc kavramıyla karşılaşıldı

Bootc, tema üreticileri için bir oyun alanı

  • bootc, Red Hat tarafından geliştirilen bir boot edilebilir konteyner sistemi
  • Konteyner tabanlı olarak işletim sistemi tanımlanıp dağıtılabiliyor
    FROM quay.io/fedora/fedora-bootc:42  
    RUN dnf install -y my-custom-theme my-custom-fonts my-custom-panel  
    
  • podman ve bootc komutlarıyla imaj oluşturma ve sistem değiştirme yapılabiliyor:
    sudo podman build -f Containerfile -t my-fedora  
    sudo bootc switch --transport containers-storage localhost/my-fedora:latest  
    
    Reklam
  • /usr salt okunurdur ve konteyneri önceki duruma kolayca geri almak mümkündür
  • Yeni tema fikirlerini denemek için optimize edilmiş bir yaklaşım
  • Bir şey başarısız olursa ya da sonuç beğenilmezse kolayca önceki duruma dönülebilir

Development Mode (ostree admin unlock)

  • Yeniden başlatma olmadan /usr üzerinde geçici değişiklik yapmayı sağlayan mod
  • Başarılı olursa Containerfile'a yansıtılabilir, başarısız olursa sadece yeniden başlatarak değişiklikler kaldırılabilir
  • Tipik Linux ortamlarında zamanla biriken artıkların neredeyse hiç oluşmaması gibi bir avantaj sunar

Alternatif yöntemlerle karşılaştırma

  • Ansible veya shell script'ler: yeniden üretilebilirlik ve geri alma açısından sınırlı
  • systemd-sysext: /usr overlay imajları kullanılabiliyor ama ekosistem henüz olgun değil
  • Nix: öğrenme maliyeti çok yüksek

Sonuç olarak bootc; güvenlik, esneklik ve araç desteği açısından en güçlü yaklaşım olarak öne çıkıyor
Hatalı bir değişiklik olsa bile geri alma kolay olduğu için /usr dizinini bozma endişesi yaşanmıyor

"Dağıtım" nedir?

  • Blue95, Fedora Xfce tabanlı özelleştirilmiş bir OCI imajı
  • Hacker News'te tanıtılırken "Sadece bir tema için gerçekten bir dağıtım mı gerekiyor?" sorusu gündeme geldi

Dağıtım tanımı bulanıklaşıyor

  • Eskiden bir dağıtım oluşturmak son derece karmaşık ve zaman alan bir işti
  • Artık yalnızca Containerfile + CI/CD pipeline'ı ile benzer bir sonucu kolayca üretmek mümkün
  • Blue95, GitHub Actions ile otomatik olarak build edilip OCI registry'ye dağıtılıyor
  • Sadece Fedora tabanlı bir konteyneri dağıtım olarak görmenin ölçütü artık belirsiz
Reklam

Mevcut örneklerle karşılaştırma

  • Bluefin ve Bazzite gibi bootc tabanlı projeler de çoğu zaman dağıtım olarak kabul ediliyor
  • Gerçek kullanım deneyimi, klasik Fedora'dan belirgin biçimde farklı
  • Eski tanımlarla artık dağıtımın ne anlama geldiğini açıklamak zorlaşıyor
    • "Görünce anlarsın" türü niteliksel bir ölçüt tek tanım olarak kalabilir

Sonuç

  • Sadece tema için bir "dağıtım" yapmak gereksiz gibi görünebilir
  • Ancak boot edilebilir konteynerlerle tutarlı bir tasarım ve uygulama düzeni tanımlamak ve
  • bunu doğrudan üretip kullanabilme özgürlüğü, büyük bir keyif ve başarı hissi veriyor

Bu yazının yazıldığı işletim sistemi, benim yaptığım konteynerden boot edilmiş bir sistem
Sayısız geliştiricinin emeğinin üzerine benim yaratıcılığımın eklenmesiyle ortaya çıkan bir ürün ve
tam da bu, bana büyük bir keyif veriyor

2 yorum

 
zihado 2025-04-23

bootable container'ı hâlâ pek anlayamıyorum

 
GN⁺ 2025-04-23
Hacker News görüşleri
  • Genel amaçlı konteynerler dotfiles testleri için çok kullanışlı

    • Birkaç yıl önce, sistemi hızlıca kurmak için https://github.com/nickjj/dotfiles içine kurulum betikleri ekledim
    • Resmî Debian ve Ubuntu imajlarıyla test ettim
    • Yakın zamanda Arch Linux desteği verecek şekilde yeniden düzenledim
    • Tüm testi yaklaşık 5 dakikada tamamlayabiliyorum
    • Konteynerler 1 saniyede açılıyor, geri kalan sürede betikler çalışıyor
    • Sistemi değiştirmeden test yapmayı mümkün kılıyor
    • Docker son 10 yılda pek çok iyi şeyi mümkün kıldı
  • Değişmez Linux ve önyüklenebilir konteyner fikrini seviyorum

    • Sıradaki projem muhtemelen bazzite'a geçmek olacak
    • Ancak Containerfile'a bakınca tedarik zinciri zafiyetleri konusunda endişelerim var
    • 20 farklı copr deposu kullanılıyor ve sürümler sabitlenmemiş
    • Debian kullanınca paketlere daha fazla güven duyuyorum
    • Tedarik zinciri riskini tek bir dosyada paketlemek riskli olabilir
    • Başkalarının da aynı endişeyi taşıyıp taşımadığını merak ediyorum
  • Temalara neden daha fazla ilgi olmadığını merak ediyorum

    • Chicago95 ile Garuda'nın KDE temasını seviyorum
    • Çeşitli DE'ler için tema indirilebilen siteler var ama çoğu biraz tekinsiz görünüyor
  • Önyüklenebilir konteynerler hakkında hiçbir şey bilmiyordum

    • Blue95, bootc kullanım bağlamında daha anlamlı geliyor
    • NsCDE gibi örneklere bakılabilir
  • Enlightenment ile oynadığım günleri hatırlattı

    • X11'in sınırlarını zorlamaya çalışan bir girişimdi
    • Hâlâ var olması şaşırtıcı
  • Önyüklenebilir konteynerler ilgimi çekiyor

    • NixOS'taki impermanence modülüne benziyor
  • bootc projesi şu anda Linux'taki en ilginç şeylerden biri

    • Debian gibi projelerin bunu benimsemesi güzel olurdu
    • Kararlılık açısından çok fayda sağlayabilir
  • Küçük görsel benim tüm ruh hâlimi yansıtıyor

  • Modern işletim sistemlerinin sınırsız derecede kolay tema uygulanabilir olmasını bekliyordum ama öyle değil

    • Mükemmel retro temaların ve özgün temaların var olacağını düşünmüştüm