[Gelistirici] alternatives sistemi

Fatih Aşıcı fatih at pardus.org.tr
29 Ağu 2010 Paz 17:59:19 EEST


Selamlar,

Birbirine alternatif durumda olan sun-java, openjdk vs. gibi paketler için 
kullanabileceğimiz mevcut dağıtımlardaki sistemleri inceledim. Bu sistem ilk 
olarak Debian tarafından geliştirilmiş. dpkg ile gelen bir perl betiği bu 
sistemi yönetiyor. Mandriva ve Suse de bu altyapıyı yamalayarak kullanıyorlar. 

ALT Linux, zamanında bash betikleri ile daha kapsamlı bir proje başlatmış[1] 
ancak devam etmemiş.

Fedora, Debian'ın yazdığı betiği perl bağımlılığından kurtulmak için C ile 
tekrar yazmış. Tek bir .c dosyasından ibaret olan proje yine Fedora'nın 
bakımını yaptığı chkconfig projesi ile beraber geliyor. Debian'ın yazdığı 
betiğe ekl olarak --initscript adında bir parametre ile servisleri de 
yönetebiliyor. Tabi bu kısım chkconfig bağımlı.

Fedora'nın yazdığını kullanmak bana daha mantıklı göründü ve playground'umda 
alternatives adında bir paket hazırladım[2]. --initscript parametresini yama 
ile atarak bizim kullanmadığımız chkconfig bağımlılığını da attım.

Kullanımı hakkında detaylı bilgi alternatives(8) man sayfasında bulunuyor. 
Basitçe göstermek gerekirse:

    alternatives --install /usr/bin/editor editor /usr/bin/nano 50

şeklinde önceliği 50 olacak şekilde nano'yu alternatif editör olarak 
ekleyebilir,

    alternatives --remove editor /usr/bin/nano

şeklinde de alternatives sisteminden nano'yu çıkartabiliriz. Bu işlemler 
paketlerin postInstall ve preRemove aşamalarında gerçekleştirilecek.

Kapalı kodlu sürücülerin etkinleştirilmesi için de bu sistemi kullanmayı 
düşünüyorum. Sistem, sembolik linkleri /etc/alternatives altında tuttuğu için 
live cd'de nvidia sürücüsüne geçebilmek gibi avantajlarımız da olacak.

Ne dersiniz? Bu altyapıya geçelim mi?

[1] http://alternatives.sourceforge.net
[2] https://svn.pardus.org.tr/pardus/playground/fatih/alternatives



Gelistirici mesaj listesiyle ilgili daha fazla bilgi