| RPM Oluşturmak | ||
|---|---|---|
| Mandrake İçin RPM Oluşturmak | Sistem Hazırlığı | |
RPM Oluşturmak - 050112
![]()
Tanju Taşçılar - tanju@elektronist.com
Registered Linux User #283274
Mandrake İçin RPM Oluşturmak
Giriş
Sistem Hazırlığı
Spec Dosyası
Yöntemler
.src.rpm'den RPM
Tarball'dan RPM
Örnek 1: gerbv
Örnek 2: muhasebeci
Diğer Yöntemler
Yamalar
Test ve Sonrası
Kaynaklar
Giriş
|
Bu yazıda esas olarak RPM kurulumu değil RPM paketlerinin oluşturulması üzerinde durulacaktır. Bu yazı RPM hazırlamanın kullanım kılavuzu olarak düşünülmemelidir, RPM hazırlamayı örneklerle anlatan ve bunu yaparken de özel olarak da Mandrake Linux için RPM hazırlamanın diğerlerinden farkını belirten bir yazıdır. |
Linux'ta program kurmanın klasik yöntemi programı kaynak kodundan derleyerek kurmaktır. Genel olarak C dilinde olmakla beraber Linux'ta derleyicisi bulunan herhangi bir dilde yazılmış program veya program paketleri make programı aracılığı ve çeşitli scripter desteği ile her Linux kullanıcısının eninde sonunda öğreneceği;
./configure make make install |
işlem sırası ile kurulur. Ancak... Linux, diğer başka işletim sistemleri gibi monolithic - tek parça bir işletim sistemi olmadığı ve her kullanıcının isteği veya ihtiyacı doğrultusunda bileşenlere sahip olduğu için kurulacak olan program veya program paketinin bağımlı olduğu ve kurulması veya kullanılabilmesi için sistemde olması gereken paketler olmaktadır. Bir paketi sistemine kuran herkes bu bağımlılıkları halletmek zorundadır ve bu her zaman kolay olmamaktadır. Ayrıca bir programı her kullanıcının bilgisayarına kurması için aynı işlemi uygulamak zorunda olması en azından zaman ve enerji kaybına yol açmaktadır. İşte bu olumsuzlukları aşmak için Slackware dağıtımını temel alarak kendi dağıtımını geliştiren RedHat, Redhat Package Management - RPM adı ile kendi paket sistemini geliştirdi ve bu sistem gelişerek günümüzde birçok dağıtımın temel yazılım kurma sistemi haline geldi.
RPM sisteminin temelinde derlenmiş ve belirli bir sistemde çalıştırılmış olan dosyaların benzeri sisteme yüklenmesi gibi basit bir düşünce yatmakta iken, esnek ve kullanışlı yapısı nedeniyle yapabilecekleri çok daha fazladır. Bir RPM paketi kurulurken yalnızca belirli dosyaları belirli yerlere yerleştirmekle kalmaz aynı zamanda çeşitli programları da çalıştırarak gerekli düzenlemeleri de yapar.
RPM sistemini kullanan dağıtımlar hızla gelişen Linux'un gelişme süreci içinde yetersiz yanları ortaya çıkan bu sistemi daha da geliştirerek kullanma yoluna gitmişlerdir. Mandrake Linux RPM sistemini paket bilgilerini 'havuz'larda toplayarak RedHat'in günümüze kadar pek değiştirmeden kullandığı sistemi özellikle bağımlılıklar açısından düzelterek geliştiren URPM (User RPM) sistemini kullanmaktadır. Bu sayede kurulacak olan paketin bağımlı olduğu paket sistemde kayıtlı havuzda bulunuyorsa oradan alıp kullanarak program kurulumunu büyük ölçüde rahatlatmıştır. Mandrake Linux'un bu işlem için Program Kur ve Program Kaldır yardımcıları ile program kaynaklarının düzenlenmesi için yardımcıları bulunmaktadır. Bu işlemler grafik kullanıcı arabirimleri aracılğı ile olduğu kadar urpmi, urpme gibi konsol komutları ile de kolaylıkla yapılabilmektedir.
Mandrake Linux kullanıcılarının urpm sisteminden en iyi şekilde yararlanabilmeleri için paket kurulumunu RedHat veya diğer RPM kullanan dağıtımlardaki gibi değil Mandrake usulü yapmaları gerekir. Mandrake Linux kullanıcılarının kurulum yapacakları RPM'leri arayıp bulacakları Mandrake'nin kendi kaynaklarını kullanmaları gerekir. Mandrake Linux GPL lisansına bağlıdır ve paketli versiyonlarında bulunan ve sadece GPL lisanslı olmadıkları için herkese açık olmayan bazı paketler dışında yaklaşık 60.000 kadar paket Mandrake'nin FTP sitelerinde bütün kullanıcılara açıktır.
RPM paketlerinin kurulumu ister klasik yöntemle ister grafik arabirimle yapılsın oldukça kolay bir işlemdir. Sıradan Linux kullanıcıları RPM paketlerini kurma ve kaldırma işlemlerini daha başta öğrenirler. Oysa bu kadar kolaylık sağlayan paketlerin hazırlanması ne yazık ki kullanılmaları kadar basit ve kolay değildir. Hatta bazen çok zahmetli bir iş halini alabilir. Her ne kadar RPM paketlerinde derlemesi yapılmadan kullanılabilecek dosyaların veya programların da kullanılabilmesi mümkün ise de büyük bir çoğunlukla program paketlerinin kaynak kodlarını içeren ve derlenmesi gereken .tar.gz veya .tar.bz2 dosyaları kullanılmaktadır ve bunların büyük çoğunluğu da C dilinde kaynak kodları içermektedir. Bu nedenle RPM yapılacak bir paketin öncelikle klasik ./configure - make - make install ile kurulup denenmesi ve sorunsuz olarak çalışıyor olması gerekmektedir. RPM oluşturacak birinin pek de kolay olmayan bu klasik işte yeterince 'pişmiş' olması gerekir. Çünkü ilerde göreceğimiz gibi, klasik yöntem kullanılarak yapılan kurulumda sorun çıkarmayan bazı durumlar, RPM oluşturulması sırasında problem olabilecektir. Bunları düzeltmek de RPM paketleyicisine düşmektedir. Daha da ileri gidersek Mandrake Linux için RPM oluşturmanın gereklerini yerine getirecek şekilde 'yama'lar da uygulamak zorunda kalacaksınız. Bu yamalar konfigürasyon dosyalarında yapılabilecek ufak-tefek değişiklerden program kodlarında utf-8 kodlamasına uyumluluk sağlamak gibi oldukça ileri seviyede işlemlere kadar uzanabilecektir.
| Ön sayfa | Sistem Hazırlığı | |
| Mandrake İçin RPM Oluşturmak |
Bu ve ilişkilendirilmiş yazılar GPL lisansına göre yayınlanmaktadır. Bütün hakları yazarına aittir. Yazarının ismi belirtilerek serbestçe dağıtılabilir ve kullanılabilir. Ancak bunların hiçbiri, hiçbir şekilde ve şartta GPL lisansı haricinde kullanılamaz. Burada yer alanları bulundurmaktan, kullanmaktan veya alıntı yapmaktan dolayı hiçbir sunucu, servis veya protokol, yazı veya içeriği üzerinde hak iddia edemez. info@elektronist.com