Red Hat ve Fedora ekosisteminin güçlü bileşeni olan Fedora Image Builder (osbuild / osbuild-composer), bu ihtiyacı modern deklaratif yaklaşımlarla çözüme kavuşturan resmi ve gelişmiş bir araçtır.
Fedora Image Builder Nedir?
Image Builder, Blueprint (mavi kopya) adı verilen basit TOML yapılandırma dosyalarını okuyarak, belirtilen paketleri, kullanıcıları, servis durumlarını ve dosya sistemlerini içeren işletim sistemi imajlarını otomatik olarak derleyen bir altyapıdır.
Geleneksel, zahmetli Kickstart betikleri veya manuel ISO düzenleme yöntemlerinin yerine modern bir API ve CLI mimarisi sunar.
Desteklenen Çıktı Formatları:
Kurulum ve Canlı Medyalar: Canlı çalışan Live ISO, bare-metal yükleme ISO dosyaları.
Sanal Diskler: QEMU/KVM için QCOW2, VirtualBox/VMware için VMDK veya VHDX.
Bulut Dağıtımları: AWS (AMI), Microsoft Azure, Google Cloud Platform ve OpenStack uyumlu imajlar.
Konteyner ve Gömülü Sistemler: Konteyner taban imajları ve IoT odaklı hafif disk kalıpları.
Sistem Mimarisi ve Temel Bileşenler
Image Builder altyapısı temel olarak birbirini tamamlayan servislerden oluşur:
osbuild-composer: İmaj oluşturma kuyruğunu, bağımlılık depolarını ve çıktı süreçlerini koordine eden ana arka plan servisidir (systemd servisi olarak çalışır).
osbuild: Gerçek imaj inşasını izole bir chroot/namespace ortamında aşama aşama gerçekleştiren çekirdek motor.
composer-cli: Kullanıcıların terminal üzerinden Blueprint yüklemesini, düzenlemesini ve imaj derleme işlemlerini başlatmasını sağlayan komut satırı aracı.
Cockpit Entegrasyonu (cockpit-composer): Grafiksel arayüz tercih eden yöneticiler için web tarayıcısı üzerinden tek tıkla Blueprint oluşturma ve imaj inşa etme modülü.
Adım Adım İmaj İnşa Süreci
1. Servislerin Kurulumu ve Başlatılması
Fedora ortamında gerekli paketlerin yüklenmesi ve servisin devreye alınması için:
Bash
Kodu indir
Kodu kopyala
sudo dnf install osbuild-composer composer-cli
sudo systemctl enable –now osbuild-composer.socket
Kullanıcı hesabınızın sudo yetkisi olmadan oluşturma komutlarını çalıştırabilmesi için yerel gruba eklenmesi önerilir:
Bash
Kodu indir
Kodu kopyala
sudo usermod -aG welders $USER
2. Blueprint (Tasarım Dosyası) Tanımlama
Sisteme hangi paketlerin dahil edileceği, hangi kullanıcıların oluşturulacağı ve hangi ayarların geçerli olacağı TOML formatında bir dosyada tanımlanır.
Örnek bir sunucu-sablon.toml dosyası:
Ini, TOML
Kodu indir
Kodu kopyala
name = “ozel-sunucu”
description = “Kurumsal Sunucu Temel Sablonu”
version = “1.0.0”
modules = []
groups = []
[[packages]]
name = “cockpit”
version = “*”
[[packages]]
name = “podman”
version = “*”
[[packages]]
name = “htop”
version = “*”
[[customizations.user]]
name = “sistemci”
description = “Sistem Yoneticisi”
groups = [“wheel”]
key = “ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI… yonetici@yerel”
[customizations.services]
enabled = [“cockpit.socket”, “sshd”]
3. Blueprint Yükleme ve Doğrulama
Oluşturulan dosya composer veritabanına aktarılır:
Bash
Kodu indir
Kodu kopyala
composer-cli blueprints push sunucu-sablon.toml
composer-cli blueprints check ozel-sunucu
4. İmaj Derleme İşleminin Başlatılması
Örneğin KVM/QEMU ortamında çalışacak bir qcow2 imajı üretmek için:
Bash
Kodu indir
Kodu kopyala
composer-cli compose start ozel-sunucu qcow2
Süreç arka planda çalışır. İşlemin anlık durumu takip edilebilir:
Bash
Kodu indir
Kodu kopyala
composer-cli compose status
İşlem tamamlandığında (FINISHED durumuna geldiğinde), oluşturulan disk kalıbı doğrudan sisteme indirilir:
Bash
Kodu indir
Kodu kopyala
composer-cli compose image
Temel Avantajlar
Özellik
Geleneksel Yöntemler
Fedora Image Builder
Yapılandırma
Karmaşık scriptler, Kickstart dosyaları
Sade, okunabilir TOML sözdizimi
Çoklu Platform
Her platform için ayrı yöntem
Tek bir Blueprint ile QCOW2, ISO, AMI çıktısı
Yönetim Arayüzü
Yalnızca CLI / manuel adımlar
Hem CLI (composer-cli) hem Web (Cockpit)
İzolasyon
Sistemi kirletme riski yüksek
İzole ve temiz aşamalı derleme motoru
Diğer seçenekler
Kurumsal Kullanım Senaryoları
Özelleştirilmiş Masaüstü ve Canlı Ortamlar: Önceden tanımlı masaüstü ortamları (örneğin MATE arayüzü), ekran okuyucular (Orca) ve yerelleştirilmiş paketler ile hazır sistem dağıtımları oluşturmak.
Edge ve Sunucu Standardizasyonu: Sahaya kurulacak yüzlerce sunucu veya uç cihaz için kurulum sonrası komut çalıştırma ihtiyacını ortadan kaldırıp, ilk açılışta kullanıma hazır sistemler sağlamak.
Bulut Göçleri: Yerel ağda test edilen bir mimariyi hiçbir paket farkı olmaksızın doğrudan AWS, Azure veya OpenStack ortamına göndermek.
Fedora Image Builder; modern altyapılarda tutarlılığı garanti altına alan, insan hatasını minimize eden ve imaj yönetimini kod olarak yönetilebilir kılan güçlü bir standarttır.