- bootc ve boot edilebilir konteynerler sayesinde tema değişiklikleri artık daha güvenli ve yönetilebilir şekilde yapılabiliyor
/usrkonteyner olarak tanımlanıp geri alınabilir olduğu için sistem üzerinde kolayca deneme yapıp geri dönmek mümkünostree admin unlockkomutuyla 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
/usrdizininin 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
bootckavramı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 podmanvebootckomutları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/usrsalt 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:/usroverlay 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
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
bootable container'ı hâlâ pek anlayamıyorum
Hacker News görüşleri
Genel amaçlı konteynerler
dotfilestestleri için çok kullanışlıDeğişmez Linux ve önyüklenebilir konteyner fikrini seviyorum
Temalara neden daha fazla ilgi olmadığını merak ediyorum
Önyüklenebilir konteynerler hakkında hiçbir şey bilmiyordum
Enlightenment ile oynadığım günleri hatırlattı
Önyüklenebilir konteynerler ilgimi çekiyor
impermanencemodülüne benziyorbootcprojesi şu anda Linux'taki en ilginç şeylerden biriKüçü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