20
Paket Yönetimi BİLGİSAYAR PROGRAMCILIĞI BÖLÜMÜ AÇIK KAYNAK İŞLETİM SİSTEMİ DERSİ

Paket Yönetimi

Embed Size (px)

DESCRIPTION

BİLGİSAYAR PROGRAMCILIĞI BÖLÜMÜ AÇIK KAYNAK İŞLETİM SİSTEMİ DERSİ. Paket Yönetimi. Linux'ta, Windows'taki kurulum dosyalarına karşılık gelen bazı yapılar vardır. Bu yapıları temel olarak iki başlık altında toplayabiliriz : - PowerPoint PPT Presentation

Citation preview

Paket Yönetimi

BİLGİSAYAR PROGRAMCILIĞI BÖLÜMÜ AÇIK KAYNAK İŞLETİM SİSTEMİ DERSİ

Linux'ta, Windows'taki kurulum dosyalarına karşılık gelen bazı yapılar vardır. Bu yapıları temel olarak iki başlık altında toplayabiliriz:

Arşivlenmiş kaynak kodlarıdır. Bu kodlar en çok ‘.tar.gz’ ya da ‘.tar.bz2’ formatları ile bulunurlar. buradaki ‘.tar’ arşivleme formatıdır. .tar kullanılmasındaki amaç birçok parçadan oluşan kaynak kodlarını tek bir dosya görümüne sokmak ve arşivdeki dosyaların arşiv tarihindeki bilgilerinde en ufak bir değişiklik yapmamaktır. ‘.gz’ ve ‘.bz2’ ise ‘gzip’ ve ‘bzip2’ programlarının sıkıştırma formatlarıdır. Kaynak kodlarının fazla yer tutmaması için internete sıkıştırılarak verilir.

Hazır derlenmiş, direk çalıştırılabilir paketlerdir ki bunlar çeşitli uzantılarda olabilirler. Bunlardan '.deb' (Debian Package Manager) ve '.rpm' (Redhat Package Manager) en çok kullanılanlardır.

RPMRed Hat’ın (yeni haliyle fedora) Linux’e en önemli

katkılardan biri RPM’dir. RPM Linux programların kurulmasını kolaylaştırmış ve basitleştirmiştir. RPM’den önce Linux sistem yöneticileri yazılım kurmak için TAR dosyalarını indirip program kodlarını derlemek zorunda kalıyorlardı.

RPM - üç parçadan oluşur: Paket dosyaları RPM veri tabanı rpm komutu.

Paket dosyalarıPaket dosyaları TAR dosyaları gibi kurulacak dosyaları içermektedir. Ama bunun dışında kurulacak uygulama ya da servis hakkında bilgi içerirler. Mesela paket dosyası kurulacak program özelliklerini, gerekli kütüphaneleri ve varsa başka hangi paketlerin kurulu olması gerektiğini belirtir. Bu bilgiler dependency information adını taşır. Pakette bulunan diğer bilgiler aşağıdaki gibidir :

Paket adı ve versiyonu Kuruluş tarihi Paket tanımlaması Her içerdiği dosyanın büyuklüğü Paketi hazırlayan kişinin veya kuruluşun kimliği Dahil olduğu paket grubu

Paket dosyaları

Paket dosyasının adı özel bir yapıya sahiptir: paket-versiyon-küçük sürüm-mimari.rpm burada :

paket dosyanın içerdiği paket adı versiyon paket versiyonu küçük sürüm paket küçük sürüm numarası mimari paketin tasarlandığı bilgisayar mimarisi.

Örneğin gnorpm-0.95.1-2.62.i386.rpm dosyanın versiyonu 0.95.1, küçük sürüm 2.62 olan gnorpm adındaki paket i386 (Intel 386) için hazırlanmıştır.

RPM Veri Tabanı

Paket kurulmadan önce, hakkındaki bilgiler /var/lib/rpm’de bulunan RPM veri tabanına işlenir. Bir programı kurmak veya kaldırmak istediğinde - RPM paket dosyasını ve RPM veri tabanını kontrol eder. Böylece RPM, komutun sistemi çelişkili bir durumda bırakıp bırakmıyacağına karar verir. Eğer öyleyse RPM komutu durdurup kullanıcıya uyarı gönderir.

RPM Komutu Bu kısım RPM’in çalıştırılabilen parçasıdır. rpm komutunun

uyguladığı işlemler: Paket kurulumu Paket güncellemesi Paket kaldırılması RPM veri tabanın sorgulanması Paket dosyasının sorgulanması Kaynak kodundan paket oluşturulması Paket onaylanması Paket dosyasının onaylanması

RPM Komutu Paket kurulumu, güncellenmesi veya kaldırılması sırasında,

rpm komutu sistemin uygun durumda kalması için bir kaç kontrol yapar.

Örneğin paket kurulumunda rpm şunları kontrol eder: Paket kurulması için diskte yeterli yer var mıdır? Paket kurulubilmesi için gerekli kütüphane ve

paketler kurulu mudur? Paket daha önce kurulmuş mu veya kurulum sırasında

dosya çakışması olacak mı? Özel durumlarda özel anahtarlarla bu kontroler

aşılabilmektedir.

Paket Ekleme

Paket kurmak için gerekli komut şu formundadır:rpm -i paket_dosya_adı buradaki paket_dosya_adı kurmak istediğiniz paketin adı. Eğer bir kaç paket kurmak istiyorsanız paket ismini sıralayabilirsiniz ya da * karaktereyi kullanabilirsiniz. Örneğin:rpm -i gnorpm-0.95.1-2.62.i386.rpm gnome-linuxconf-0.23-1.i386.rpmBu komutla gnorpm ve gnome-linuxconf paket kurulacaktır. İlk önce kurulun şartları kotrol edilir. Eğer bu şartlardan biri tutmaz ise komut hiçbir paketi kurmaz.

Paket Ekleme

Bir çok sistem yöneticisi -v ve -h parametrelerini kullanır, örneğin:rpm -ivh gnorpm-0.95.1-2.62.i386.rpm gnome-linuxconf-0.23-1.i386.rpm -v parametresi ile rpm kurulumunun durum bilgilerini veri -h parametresi ile kurulumun ilerlemesini 50 tane # işareti ile izlenebilir.Örnek :[root@host /root]# rpm -ivh gnorpm-0.95.1-2.62.i386.rpm gnome-linuxconf-0.23-1.i386.rpm Preparing... ########################################### [100%]1:gnorpm ########################################### [50%]2:gnome-linuxconf ########################################### [50%]Bu parametrelerin (-vh) avantajlarından birisi çok net bir şekilde paket kurulup kurulmadığını belli ederler. Örneğin birkaç paket aynı zamanda -vh parametreleri ile kurulduğunda sistem paketlerinden birisi zaten kurulu olduğunu hatasını vererek işi durdurur ise paketlerden hangileri kurulabildiğini öğrenebiliriz.

Paket Kaldırma Kurulmuş bir paketi kaldırmak için:rpm -e paket_adı şeklinde bir komut çalıştırılmalıdır, burada paket_adı kaldırılacak paketin ismidir. Bu komuttaki -e parametresi rpm komutuna paket silinmesi gerektiğini belirtir. Aynı zaman paketi kaldırmak için --uninstall seçeneği kullanılabilir.Rpm komut , rpm paketi sistemden silerken kaldırılan dosyaların başka paketler tarafından kullanılıp kullanılmadığını araştırır. Eğer kullanılıyorsa işlemi durdurup sistem yöneticisine uyarı verir. Zorunlu durumlarda bu kontrol aşılabilir, bunun için --nodeps seçeneği kullanılmalıdır.Paket sistemden kaldırılırken rpm komutu kurulumdan sonra değişen konfigürasyon dosyalarını saklar.

Güncelleme RPM ile bir paketin yeni versiyonunu kurmak için:rpm -Uvh paket_adı şekildeki komut kullanılır, burada paket_adı yeni versiyonu içeren paket ismidir.

-U bayrağı rpm komutuna kurulmuş eski versiyonunu kaldırılması ve yeni paketin kurulması gerektiğini belirtir. rpm -U paket sistemde kurulu değilse kurar, eğer mevcut ise günceller.

Paket güncelleme ile ilgili başka bir parametre -F parametresidir, bu bayrak sadece sistemde kurulu olan paketlerin güncellenmesini sağlar. Bu parametre ile sistemi hep güncel tutmak çok kolaylaşmıştır. Örneğin bir FTP sunucusunda bir çok paketi yeni sürümleri bulunsun,sunucuda bulunan paketlerin listesi verilerek rpm -F komutu çalıştırılır ise sistem sadece kurulu olan paketleri günceller.Örnek:rpm -Fvh gnorpm-0.95.1-2.62.i386.rpm

Kurulmuş Paketlerin Yenilenmesi

RPM, kurulu paketin versiyonunu ve küçük sürümunu öğrenmek için kullanılabilir, bunun için:rpm -q paket_adı şeklinde komut çalıştırlmalıdır. Burada paket_adı kurulmuş paketin ismi. Bu komutun çıkışı paket ismini, versiyonunu ve küçük sürüm numarasını verir.Örnek:# rpm -q gnorpm gnorpm-0.95.1-2.62Sistemde kurulu olan tüm paketlerin listesini ve versiyonlarını ve küçük sürüm numaralarını öğrenmek içinrpm -qa komutu çalıştırılmalıdır.

ÖzetKomut satırında rpm: – Sorgulama: -q – Kurma: -i – Güncelleme: -U -F – Silme: -e – Doğrulama: -vGenel sorgulama seçenekleri: – Bütün paketler: -qa – Bir gruptaki paketler: -qg – Bir dosyanın hangi pakette olduğu: -qfPaket Sorgulama – Bir paketin genel bilgileri: -qi – Bir paketin dosya listesi: -ql – Bir paketin nelere gereksinim duyduğu: -q --requires – Bir paketin neleri sağladığı: -q --provides – Bir kaynağı hangi paketin sağladığı: -q --whatprovides – Bir kaynağa hangi paketlerin gerek duyduğu: -q –whatrequires – Kurulmamış paketleri sorgulamak için: -qp

Paket Kurma/Silme ● Kurulmak istenen paket sistemde zaten varsa -i ile

kurulamaz. ● Yeni paketin numarası sistemde var olandan küçükse güncellenemez -U ile güncellemede paket yoksa kurulur -F ile güncellemede paket yoksa kurulmaz

● Seçenekler – Hangi paketi işlediğini göster: -v – İlerlemeyi diyez işaretiyle göster: -h – Bağımlılıklara bakma: --nodeps – Sorun olsa bile işlemi yap: --force

YUM(Yellowdog Updater Modified)

Yum Nedir?Yum Paket yönetim aracı, kullanıcının kurmak istedigi

RPM paketinin başlık bilgilerini kullanarak bağımlılık sorunlarını, gereken tüm paketleri kurarak çözer

YUM paket yönetim aracı, yum RPM paketi ile gelir[root@gulshat~]#rpm –q yumyum-2.4.1-1.fc4

YUM İstemci yapılandırması Yum’un genel yapılandırma dosyası /etc/yum.conf’dur. Diğer

yapılandırma dosyaları /etc/yum.repos.d/ dizini altındaki .repo uzantılı dosyalardır. Bu dosyalarda main ve repository olmak üzere iki bölüm bulunur. Main bölümünde tüm global yapılandırma seçenekleri vardır. Repository bölümünde ise her depo icin geçerli yapılandırma seçenekleri mevcuttur.

YUM

Paket Yüklemek

Komut : yum install paket_adı[root@fedora etc]# yum install xmms

Paket Kaldırmak

Komut : yum remove paket_adı[root@fedora etc]# yum remove xmms

YUM

Paket Güncellemek

Komut : yum update paket_adı[root@fedora etc]# yum update kernel

Paket Arama

Komut : yum search paket_adı[root@fedora etc]# yum search gftp

YUM

Diğer Yum Komutları

yum list avaible : Tüm kullanılabilir paketleri listeler

yum update : Kurulmuş tüm paketleri günceller.

yum check-update : Güncel paketleri listeler.

yum list installed : Yüklenmiş paketleri listeler

Kaynaklar

Ders Notları: Mustafa Sarıöz Ders Notları: Gulshat Kulzhabayeva