Linux RPM Paket Yönetimi

İnternet üzerinden indirdiğimiz Linux programları genellikle 2 formda bulunur;
1- RPM paketleri
2-Kaynak Kod Paketleri

RPM PAKETLERİ
Bir işletim sistemi ortamında çalışacak çeşitli uygulamalara ait yazılımın sistem üzerinde kurulumu ve çalıştırılması, işletim sistemi için en önemli konulardan birisidir diyebiliriz. Red Hat Linux ortamında yazılımların kurulup çalıştırılabilmesi için en yaygın kullanılan yönetemlerden birisi de RPM paket dağıtımlarıdır.

Sistemizide rpm ile yaptığımız değişiklerin listesi tutulur. Böylece rpm kullanarak kurduğumuz programlar arasında koordinasyon sağlanmış olur. Örneğin sistemimizde daha önceden kurulu olan bir programın yeni versiyonunu kurarken eskisinin silinmesi işi temiz bir şekilde yürütülür. RPM paketleri uzantası ise.rpm olarak sıkıştırılmış dosyalar içinde dağıtılırlar.
Packagemanagement.png
RPM dosyaları, bir paketin kurulabilmesi için gerekli tüm program parçalarını,kütüphaneleri ve varsa başka amaçla kullanılan dosyaları içerir ve kurulumda bunların nerelere yerleşeceği bilgisini de içinde barındırır. Ancak bu paketin kurulabilmesi için daha önceden sistemde kurulu olması gereken yani bağımlı olduğu paketler var ise öncelikle bizden bunları kurmamızı ister. Bu soruna çözüm olarak da geliştirilmiş bir paket yönetimi versiyonu YUM ortaya çıkmıştır.

RPM paketlerinin isimlendirilmesi ise aşağıdaki resimde görüldüğü gibi paket ismi,versiyon adı,hangi platformada kullanılabileceği ve uzantısı şeklindedir.

1.png
RPM ile Paket İşlemleri
RPM paketlerinin sistemimizde yüklü olup olmadığını kontrol etmek için -q parametresinin kullanabiliriz.
2.png
Eğer sistemimizde kurulu olan tüm rpm paketlerini görmek istersek;
3.png
Spesifik olarak aradığımız bir paket var ise “grep” komutu ile kullanabiliriz;
4.png
Kaynak Kod İle Derleme
Linux yazılımları her zaman rpm paketleri olarak dağıtılmaz. Bazen de paketin kaynak kod dosyalarını indirip bizim derlememiz ve ardından yüklememiz gerekebilir. Ancak bu yöntem ile kurulan dosyalar dependencies(başka bir programa bapımlılık) problemi ile karılaşılabilir. Ayrıca rpm paketlerine göre sistemden kaldırılması daha zordur. Örnek vermek gerekirse, NTP network time server paketinin configürasyon paketi “/etc/ntp/ntp.conf” dizini altında bulunur. Eğer NTP paketini kaynak koddan güncellemek istersek bu dosyanının üzerine yazılır. Manuel olarak uninstall işlemi gerçekleştirmemiz gerekebilir. Genelde de bu programalar “.tar.gz” uzantısı ile biter.

Kaynak kod ile kurulum yapacaksak internet üzerinden indirdiğimiz paketin önce “/usr/local/src dizinine yerleştirilmesi genel kabul gören bir yöntemdir.
5.png
Daha sonra ise bu dizin içinde paketi “tar -xvfz paketadı.gz” tar komutu ile açabiliriz.
6.png
Çıkan dosyaları listeleyelim;
7.png
Kurulum için yapılması gerekenler genellikle README veya INSTALL gibi dosyalarda açıklanır. README dosyasından paket hakkında bilgi alabilirken INSTALL dosyası ise derleme ve kurulum için kullanılır.
8.png
Kaynak kodların sistemimize uygun bir şekilde derlenmesini sağlamak için “./configure” komutunu kullanabiliriz. Kurmakta olduğumuz programın karakteristik özellikleriyle ilgili örneğin sistemde nereye kurulacağı veya hangi tip işlemci optimize edeceği bu komuta parametre olarak verilir. “configure” ilk olarak gcc c derleyicisi programını çalıştırır, sistemimizi tek tek kontrol eder ve uygulama dosyası içersinde “Makefile” adlı bir dosya yaratır. Eğer programı yüklenmesi için başka bir pakete ihtiyaç duyarsa hata verir.
9.png
Daha sonra ise kullanacağımız “make” komutu bu Makefile dosyası içersinde listelenen parametrelere göre programı derler. En son işlemde “make install” diyerek kurulumu gerçekleştirebiliriz.

YUM (Yellowdog Updater Modified)
RPM paket yöneticisi tek(single) dosya işlemleri için kullanışlı olsada bazı programların indirilmesi için bağımlı olduğu diğer program parçaları olabilir. Eğer RPM ile işlemlerimizi gerçekleştirmek istiyorsak bütün bu programları teker teker kullanıcı olarak bizim yapmamız gerekir. Ancak daha üst seviye bir paket yöneticisi olan YUM, red hat tabanlı işletim sistemlerinde otamatik olarak, indirilecek olan programa bağımlı olan programları repository’den gidip bulur ve sisteme indirir. Kullanıcı ayrı olarak herhangi bir işlem yapmak zorunda değildir. Repository’leri kendimiz ayrı olarak ekleyebileceğimiz gibi sistemimizde de default olarak bulunanları mevcuttur.
13.png
Oracle Linux kullandığımdan repository dosyası “/etc/yum.repos.d” altında bulunuyor. Bu dosyanın lokasyonu kullandığınız dağıtıma göre değişiklik gösterebilir. Dosyanın içini açtığımızda repository listesini görüyoruz. Ancak şu an hepsi kullanımda değil. Enable değeri 1 olanlar aktif olarak kullanılan repository’ler. Baseurl bilgisinden de yum paket yöneticisinin nereden indirme işlemlerini gerçekleştirdiğini görebiliriz.

YUM ile Paket İşlemleri
Yum ile sistemimizde yüklenmiş olan paketleri görmek için;
11.png
Yum ile indirme işlemi yapmak için;
12.png

RPM, Redhat sistemleri için geliştirilmiş bir paket yöneticisidir. Farklı Linux dağıtımları için farklı paket yöneticileri bulunur. Debian sistemleri için dpkg ve apt-get yöneticileri mevcuttur.

Yorum bırakın