Linux Altında Paket Yönetimi

Eyl 06, 2013

Linux altında paket yönetimi, paketin kurulması, yapılandırılması, güncellenmesi, kaldırılması gibi işlemleri kapsar.

Paket kurulumu 2 şekilde gerçekleştirilebilir;

  1.  Kaynak kodunu derleyerek kurmak.
  2.  Önceden derlenerek oluşturulmuş pakedi bir paket yöneticisi ile kurmak.

İlk yöntem bazı avantajlarına rağmen fazla tercih edilmemektedir. Bir pakedi kaynak kodundan derlerken, derleyici parametrelerini değiştirip eldeki işlemciye özel, daha hızlı çalışabilir, ikili (binary) programlar oluşturulabilir veya özel isteklere göre  yapılandırılıp derlenebilir. Ancak kod derlemek, yeni başlayanlar için zor bir işlem olabilir.

İkinci yöntemde, kullanıcı hazır paketi alıp, paket yöneticisi yardımı ile derlemeden doğrudan kendi sistemine açıp, tek bir komutla kurulum yapabilmesidir.

Paket Yönetim Sistemleri:

RPM (Red Hat Package Manager)

Red Hat’ın paket yönetim programıdır.

RPM paketleri genellikle işletim sistemi platformlarına (i386, i586, i686, ia64, alpha, noarch,..) göre hazırlanmış paketlerdir. Bir Linux dağıtımı için veya bir platforma uygun hazırlanmış RPM paketi diğer bir Linux dağıtımında kurulmayacaktır. Kurulsa bile hatalı kurulacaktır. Bu nedenle RPM paketlerinin isimlerinin yanında açıklayıcı ekler bulunur.

i386 : 386,486 ve daha yukarısı işlemciler için
i586 : Pentium I ve daha yukarısı işlemciler için
i686 : Pentium II ve daha yukarısı işlemciler için
src : Kaynak kodlarını içeren halidir. Program geliştiricileri çoğunlukla kullanır.
ia64 : 64 bit işlemci mimarisine ait işlemciler için
alpha : Alpha mimarisine ait işlemciler için
noarch : Herhangi bir işlemci mimarisine bağlı olmadan kurulabilen.

gcc-c++-4.1.1-1.fc5.i386.rpm

örneğinde olduğu gibi versiyon numarasından sonraki kısım açıklayıcı bölümdür.

RPM paket yönetimi ile sistemde olan paket listesi görülebilir, paket hakkında bilgi okunabilir, güncelleme yapılabilir ve paket kaldırılabilir.

Konsol’da RPM kurulumu:

postfix-2.2.2-2.i386.rpm paketinin sisteme kuruluşu örnek olarak anlatılacaktır. 

1.Adım: rpm -qa |grep postfix ya da rpm -q postfix komutları kullanılarak paketin kurulu olup olmadığı kontrol edilir. Paket kurulu değil ise 2. adıma geçilir.

2.Adım: rpm -ivh postfix-2.2.2-2.i386.rpm komutunu yürütülerek kurulum gercekleştirilir.

Kurulum gerçekleştikten sonra tekrar 1. Adımdaki komut yürütülürse paketin makinaya kurulmuş olduğu görülebilir.

Kurulu Olan ve Kurulacak Paketler Hakkında Bilgi Alma

  1. Sistemde yüklü olan bir paket hakkında özet bilgi almak için rpm -qi paket_ismi komutu yürütülür.

   2.   Kurulmuş bir paket sisteme yüklenirken oluşturulan dosyaları görmek için rpm -ql paket_ismi  komutu çalıştırılır.

   3.   Sisteme kurulu olan paketlerin listesini görmek için rpm -qa komutu yürütülür.

Kurulu Paketi Sistemden Kaldırmak:

Bunun için –e parametresi kullanılır. rpm -e postfix komutu yürütülür.

Bu komut yürütüldükten sonra paketin sistemden kalkıp kalmadığını kontrol etmek için yine kurulum 1. adımdaki komutlar kullanılabilir.

YUM ( Yellowdog Updater Modifier )

YUM basitçe RPM paket yönetim sistemi olarak tanımlanabilir. Fedora'da gerekli olan paketleri yüklemek, kaldırmak ve güncellemek amacıyla Yum kullanılabilir. Yum’u kullanmaya başlamadan önce birkaç yapılandırma işlemine tabi tutulması ve programın güncellenmesi gerekir. Bu işlem için aşağıdaki komutları yürütmek yeterlidir.

Kurulum:

   1.   Paket yüklemek için yum install paket_adı komutu kullanılır.

   2.   Paket güncellemek için yum update paket_adı komutu kullanılır.

   3.  Paket kaldırmak için yum remove paket_adı komutu kullanılır.

   4.   Paket aramak için yum search paket_adı komutu kullanılır.

   5.   Yeni güncellemeleri görmek için yum check-update komutu yürütülür.


    
Sıkıştırılmış Arşivlerden Program Kurulumu: tar.gz

İnternet'te birçok sayfadan RPM dosyasi ile birlikte tar.gz formatında sıkıştırılmış arşiv dosyası da edinilebilir. Bu dosyalar programın kaynak kodlarını içermektedir. Genelde kaynak kodlarının bulunduğu arşiv dosyasını bir dizin içerisinde kurulur. Arşivlenmiş dosyaları açarken belli bir strateji izlenmelidir. Genelde kurulacak paketler  /usr/local dizinin içine açılır ve bu dizin içersinde kurulur. Paketlerin bazıları açıldıklarında kendilerine bir dizin yaratarak o dizin içerisine kurulurlar; fakat bu bir genelleme değildir. Bu yüzden paketi açmadan önce kaynak arşiv dosyasını /usr/src dizini içersine taşımak gerekir. Bunun için;

mv dosya-adi.tar.gz /usr/local

komutu ile paketin çekildiği dizinden /usr/local dizinine paketin aktarımı gerçekleştirilir. Bu aşamadan sonra aşağıdaki komut ile

tar -ztvf paket-adı

arşiv dosyasının bir dizin yaratıp yaratmadığı kontrol edilir. Kontrolden sonra eğer dizin yaratılmıyorsa, mkdir komutu ile bir dizin yaratılarak kaynak kodları bu dizin içersine açılır. Kaynak kodlarının bir dizin içersine koyulduğu tespit ediliyorsa artık arşiv güvenle açılabilir. Aksi taktirde paket, yaratılan dizine taşındıktan sonra kaynak kodun açılmasını sağlanır. Arşivi açmak için;

tar -xvfz paket-adı

komutu kullanılır. Buradaki tar komutundan sonraki x parametresi dosyaları çıkarmak için, v parametresi dosyalar çıkartılırken yol isimlerini görüntülemek için, f parametresi direk işlem yapılması için kullanilır. Ayrıca bu parametrelere bir z parametresi de eklenerek açma ve çıkarma işlemleri tek bir tar komutunda birleştirilebilir. Ayrıca eğer dosyanın uzantısı tar.gz değil de tar.z ise parametre olarak -Zvf girilmelidir.

Yazılımın derlenmesi

Kaynak kodlarının açıldığı dizin içersinde genel olarak README veya INSTALL şeklinde bir dosya mevcuttur. Bu dosyalar içersinde paketin kurulumu sırasında izlenecek yollar tarif edilmiştir. Genelde bu kurulum notlarının bulunduğu dizinde "configure" adında bir program mevcuttur. Bu program makinenin konfigurasyonu hakkında bilgi toplayarak bu bilgilere göre bir makefile oluşturur. Oluşturulan bu "makefile", programın makineye gore kurulumunu sağlar. Örneğin; bazı makinelerde C derleyicisi olarak gcc yerine cc kullanılmaktadır. "configure" programcığı makinenin kendine has özelliklerine göre bir makefile oluşturur. configure programcığı;

./configure

komutu ile çalıştırılır. Program çalıştıktan sonra o dizinde makefile dosyası oluşur. Bu dosyayı;

make

komutu ile derlemek üzere kurulum başlatılır. Bu komut ile birlikte o dizindeki kurulumla ilgili dosyalar bir düzene sokulur bir liste oluşturulur. make komutu ile makefile dosyasındaki yapıya göre kurulum dosyaları hazırlanır. Bu noktadan sonra hazırlanan kurulum dosyalrının bilgisayarda gerekli yerlere kurulması kısmının gerçekleştirilmesi için

make install

komutu yürütülür. Programın kurulacağı dizinlerin ve kurulum dosyalarının gönderileceği dizinlerin değişimi isteniyorsa, makefile dosyasını düzenleyerek bu amaca kolayca ulaşılabilir. Bu komuttaki kurulumun gerçekleştirilmesini sağlayan install script (kurulum komut dosyası) ‘inde kurulum işlemini adım adım gerçekleştirecek olan komutlar yer almaktadır. Bu şekilde program makinenin konfigürasyon bilgilerine göre, programın kaynak kodlarından kurulmuş olur.