[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