Modern Linux ekosisteminde systemd, başlangıç sistemi (init system) olarak neredeyse tüm büyük dağıtımlarda standart haline gelmiş durumda. Ancak sistemin PID 1 (ilk süreç) sorumluluğunun çok ötesine geçerek DNS yönetiminden sistem kurulumuna kadar her alana yayılması, Unix felsefesindeki "her araç tek bir işi yapsın ve iyi yapsın" (KISS - Keep It Simple, Stupid) prensibine inanan geliştiriciler arasında uzun süredir tartışılıyor.
Bir Linux geliştiricisi, Debian Testing yüklü Thinkpad X13s cihazında systemd'yi tamamen kaldırıp yerine hafif ve geleneksel bir alternatif olan OpenRC sistemini kurma deneyimini paylaştı. İşte bu teknik geçişin detayları, karşılaşılan zorluklar ve çözümleri.
Neden OpenRC ve Systemd Rahatsızlığı?
Geliştiriciye göre systemd'nin başlangıçta sadece bir init sistemi olarak yola çıkıp, günümüzde kendi sistem yükleyicisi systemd-sysinstall gibi bağımsız projelerin görevlerini üstlenmeye başlaması bardağı taşıran son damla oldu. Bu büyüme, olası bir hatada tüm sistemin çökme riskini artırıyor. Bu merakla yola çıkan geliştirici, Debian üzerinde OpenRC ve sysvinit-core kombinasyonunu test etmeye karar verdi.
Geçiş Aşaması ve Karşılaşılan Zorluklar
Debian'da systemd hayati bir paket (essential package) olarak tanımlandığı için standart apt-get remove komutları hata vermektedir. Geliştirici bu engeli aşmak için hayati paketlerin silinmesine izin veren özel bir parametre kullanmıştır:
sudo apt purge --allow-remove-essential systemd && sudo apt install openrc sysvinit-coreKarşılaşılan Sorunlar:
- Önyükleme (Boot) Hatası: Systemd kaldırıldıktan sonra sistem ilk aşamada düzgün açılmamış ve kurtarma moduna (recovery mode) geçilmiştir. İnternet bağlantısı sağlandıktan sonra OpenRC paketlerinin eksik kurulumu giderilmiştir.
- Donanım Entegrasyonu: Başlangıçta pil durumu ve ses kartı çalışmamıştır. Qualcomm remoteproc servisleri için systemd servisleri el ile OpenRC scriptine dönüştürülmüştür.
Systemd Servisinin OpenRC Scriptine Dönüştürülmesi
Geliştirici, Qualcomm işlemcinin uzaktan yordam çağrısı (remoteproc) birimlerini başlatmak için kullanılan systemd servisini başarıyla OpenRC formatına uyarlamıştır:
Sistem Karşılaştırması: Systemd vs. OpenRC
Aşağıdaki grafik, iki init sisteminin temel tasarım yaklaşımlarını ve yapısal karmaşıklığını karşılaştırmaktadır:
Sonuç
Geliştirici, OpenRC ile yaptığı bu deneysel geçişin başarıyla sonuçlandığını ve sistemin kararlı çalıştığını belirtiyor. Linux dünyasının sunduğu en büyük özgürlüklerden biri olan "kendi sistemini dilediğin gibi inşa etme" özgürlüğü, init sistemini değiştirmek gibi kritik bir operasyonda bile OpenRC gibi alternatif projeler sayesinde korunmaya devam ediyor.
Kaynak: Hacker News (Öne Çıkanlar)
Bu habere henüz yorum yapılmadı.