Uludağ
Kuluçka Dağıtım Seçimi
4 Sonuç
Yukarıdaki kriterler doğrultusunda
Uludağ GNU/Linux Dağıtımı'nın
Kuluçka Dönemini geçirmesi için en uygun dağıtım alternatiflerinin
GPL lisansı ile hayatlarına devam eden ve popüler Linux dağıtımlarından
Fedora, Mandrake, Suse, Debian ve Gentoo dağıtımları
olabileceği sonucu çıkmıştır. Bu alternatifler kendi içlerinde birbirleri
ile karşılaştırıldıklarında ortaya çıkan tablo şöyledir;
Fedora, Mandrake, Debian ve Suse Kuluçka Dağıtım olmak
için gerekli sadelikten göreceli olarak uzaktırlar. İçerdikleri paket
yöneticisi, yapılandırma araçları ve herbirinin uyguladığı özel yama
setleri sebebi ile
Kuluçka Dağıtım'dan Uludağ GNU/Linux tabanına
geçişteki gerekli emek ve iş gücü olması gerektiğinden fazladır.
Debian'ın paket yapılarının karışıklığı paket temizleme sürecinde,
geliştiricileri zorlayacak yapıya sahiptir.
Debian paketleri
içinde net olarak neler olup bittiğini görebilmek göreceli olarak
Debian tecrübesi ile orantılıdır.
Fedora, Mandrake ve
Suse'de ise sahip olunan paket yapısının yetenekleri sınırlı ve yetersizdir.
Böyle bir sistemden paket yöneticisini çıkarmak, hali hazırdaki kaynak
paketler ile çalışmak ve bu paketler üzerinde değişiklik yapmak zor
ve sorunludur.
Gentoo dışında kalan tüm dağıtımlarında aynı geliştirme araçlarına
sahip olmasına rağmen kaynak kod ile çalışma anlamında en rahat ve
özelleştirilebilir geliştirme ortamını
Gentoo sağlamaktadır.
Bunun en büyük sebebi
Gentoo dışındaki dağıtımların belli bir
paket formatına sahip olmaları ve bu paketleri binary halde dağıtmalarıdır.
Oysa kaynak kod ile çalışma zaten
Gentoo'nun doğal işleyiş
sürecidir.
Paket çeşitliliği açısından bakıldığında
Debian ve
Gentoo
dışında kalan dağıtımların resmi paket depoları yetersizdir. Güncel
paketleri sisteme kurmak kullanıcının sorumluluğuna bırakılmış ve
dağıtım tarafından kontrol altına alınmamıştır. Yeni paketler ile
çalışmak için kullanıcılara neredeyse yeni sürümü bekletme yolu seçilmiştir.
Hatta aynı paket yöneticisini kullanan dağıtımlar arasında aynı paketi
kullanmak olanaksız hale gelmiş ve paketin
Fedora, Mandrake
ve
Suse için ayrı halleri oluşmuştur.
Gentoo, Redhat ve
Debian dışında kalan diğer dağıtımlar
geçmişlerinde birbirlerini taban olarak seçmiş ve gene birbirlerinin
yaptıkları yanlışları sistematik bir şekilde tekrarlamışlardır.
Gentoo
dışında kalan her dağıtım entegrasyon problemlerini ve yazılım sorunlarını
çözmek için kendi yolunu çizmiş ve bu yollar zaman içinde birbirinden
uzaklaşmış ve dağıtıma özel olmuşlardır.
Bu dağıtımların dışında kalan
Slackware ise gelişmiş bir paket
yöneticisine sahip olmaması, paket deposunun yeterince geniş olmaması,
derleme işlemleri için yetersiz ortam sağlaması ve her paketi bağımsız
olarak ele alması, paket bağımlılıklarını çözememesi ve paketleri
özelleştirememesi sebebi ile
Kuluçka Dağıtım olarak seçilmemiştir.
Bir dağıtım kullanmak yerine
LFS çözümü uygulamak ise paketlerin
birbirleri ile olan entegrasyonu için harcanacak emeğe, özelleştirilebilir
olmaları için yapılacak değişikliklere ve bağımlılık araştırmak için
harcanacak zamanın projeye katma değer olarak geri dönmeyeceği göz
önüne alınarak seçilmemiştir.
Bu kriterler çerçevesinde aslen bir
LFS projesi olan ve bir
dağıtımdan çok meta-dağıtım olma özelliği gösteren
Gentoo aşağıdaki
nedenlerden dolayı Uludağ GNU/Linux dağıtımının bir süre üzerinde
evrimleşeceği
Kuluçka Dağıtımı olarak seçilmiştir.
-
Kuluçka olarak bir meta-dağıtım seçmek Dürtücü Teknolojilerin rahatlıkla
dağıtım ile birleştirilmesini sağlayacaktır. Gentoo bir meta-dağıtım
olarak adlandırılabilecek sadeliğe sahiptir ve gerçek anlamda bir
dağıtım değildir.
- HD'de şu an yapılmakta olan ``Uludağ
Onaylı Kaynak'' oluşturma sürecinde, kaynak kodlara ulaşımı
ve güncellemeyi kolaylaştıran Gentoo alt yapısı, yazılım derleme ve
test etme sürecini hızlandıracaktır.
- Gentoo, GPL lisanslı bir özgür yazılım projesidir
ve geliştirilme süreci özgür yazılım felsefesine uygun olarak kamuya
açık olarak yürütülmektedir. Yürütme Komitesi altında şekillenen çalışma
grupları, geliştiriciler ve katkıcılar ile uyum içinde çalışabilecek
organizasyonel kabiliyete sahiptir.
- Gentoo, dosya sistemleri hiyerarşi standartları başta
olmak üzere birçok standarta uymaya çalışmakta, barındırdığı yazılımlar
içinde standartları göz önüne almaktadır.
- Gentoo, geniş ve yeterli dökümantasyona/bilgi birikimine
sahiptir.
- Gentoo, e-posta listeleri, forum ve IRC kanalları
ile geniş bir kitleye sahiptir.
- Gentoo, diğer dağıtımlar arasında paket güncelliği
en fazla olan dağıtımdır.
- Gentoo çok geniş paket yelpazesine sahiptir ve bu
paket veritabanı her geçen gün hızla genişlemeye devam etmektedir.
- Gentoo paketleri masaüstü kullanıcısı için her türlü
ortam/yazılım/pencere yöneticisi/yardımcı yazılımı barındırmaktadır.
- Gentoo hali hazırda sahip olduğu USE bayrakları
ile her paketin işlevlerini/özelliklerini değiştirmeye yarayan bir
ortam sunmaktadır ve bu özelliği ile en özelleştirilebilir dağıtımdır.
USE bayrakları sayesinde paket temizleme sürecinde geliştiricinin
paket özelliklerini Ulusal Dağıtım'ın ihtiyaçları doğrultusunda kolaylıkla
değiştirmesine olanak verir.
- Gentoo paket işleme ve yama yapma politikası çok açık
ve nettir. Eğer bir paket bozuk/hatalı derleniyor yada entegrasyon
problemine sahipse geliştiriciler için izlenmesi gereken yol, Mandrake
ve Debian dağıtımlarının izlediği yoldur. Bu sayede
sadece Gentoo yamaları kullanılarak Debian ve Mandrake
yamalarıda bütünleşik bir halde kullanılabilir hale gelmektedir.
- Gentoo paket yönetim sistemi gelişkin ve kolay kullanılabilirdir.
Portage kararlı kullanım için yeterince olgun olmasına rağmen
Gentoo Geliştiricileri tarafından çeşitli yeni özellikler eklenmesi
için sürekli geliştirilmektedir. Portage tarafından kullanılan paket
kurma betikleri olan ebuild'ler insan diline yakın bir dil
ile yazılmıştır ve ilk bakışta göreceli olarak geliştiriciye fikir
vermektedir. ebuild'ler gerekli değişiklikler için yeterince
kolay bir altyapı ve sadece 4 sayfadan oluşan basit bir söz dizimi
kuralları içermektedir. Bu hali ile Paket Temizleme süreci için çok
uygun bir seçimdir.
- Gentoo Portage ismi verilen paket deposunun
değişik versiyonlarını sistemde bulundurabilir. Bu sayede Uludağ
GNU/Linux Tabanı olgunlaşıncaya kadar güncellenen bir Gentoo sistem
üzerinde Uludağ GNU/Linux Tabanını oluşturan paketler evrimleşebilir.
- Gentoo SLOT ismi verilen değişkeni ile bir
paketin değişik versiyonlarını ve bağımlılıklarını sistemde birbiri
ile karıştırmadan tutabilir. Örneğin geliştirici GNU C Derleyicisinin
4 farklı versiyonunu ve bunların bağımlılıklarını sisteminde tutarak
temizlenen paketin bunlar ile uygun derlenip derlenemediğini gözlemleyebilir.
- Gentoo bir paketin derlenmesi için gereken paket bağımlılıkları
ile çalışması için gereken paket bağımlılıklarını ayrı ayrı tutmaktadır.
- Gentoo paketlerinin kaynak kodları ve bu paketlere
yapılan yamalar kolayca ulaşılabilir ve kontrol edilebilir durumdadır.
Gentoo paketleri orijinal halleri ile tutmakta bu
paketlere yapılan ve boyutu 20 Kb altında olan yamaları paket
veritabanında paketin sahip oldugu dizinde files/ klasöründe,
boyutu büyük olan yamaları ise kendi yansılarında tutmaktadır. Gentoo
paket betikleri içinde hangi pakete, hangi yamanın, hangi sıra ile
yapılacağı açık ve net bir şekilde belirtilmiştir. Gentoo
paket betiklerine, bir paketi kurmak için gerekli işleyişin sadece
bir kısmını yaptıran araçlar mevcuttur. Bu özellikler sayesinde geliştirici
kaynak kod ve paket betikleri üzerinde gerekli hakimiyeti kurabilmektedir.
- Gentoo paketlerini derlerken sandbox içinde derleyebilir
ve gene sandbox içine kurulum gerçekleştirebilir. Bu özelliği
sayesinde geliştirici derle & kur süreçlerini çalıştığı sisteme zarar
vermeden gerçekleştirebilir.
- Gentoo bünyesindeki paketlerin bağımlılıkları ve birbirleri
ile olan ilişkileri çok net bir şekilde ulaşılır ve kontrol edilebilir
durumdadırlar. Hangi paketin diğer paketleri gerektirdiği, değişik
USE bayrakları ile paket özelliklerinin/bağımlılıklarının nasıl
değiştiği, birbiri ile çakışan paketlerin hangileri olduğu gibi bilgiler
kolayca takip edilebilir.
- Gentoo paket formatı kurulmuş herhangi bir yazılımı
çeşitli araçlarla yeniden paket haline getirmeye elverişlidir. QuickPkg
adı verilen araç ile sisteme kurulmuş tüm yazılımlar tek tek paket
haline dönüştürülebilir.
- Gentoo paketlerini diğer dağıtımların kullandığı paket
formatlarına dönüştürmek için çeşitli araçlar mevcuttur. RPM,
dpgk gibi araçlar Gentoo'da çalışmakta ve paket
formatları arası olabildiğince uyumlu dönüştürme işlemlerini mümkün
kılmaktadır.