Linux Program Kurmak

Windows’tan, Linux’a geçen kullanıcıların büyük çoğunluğu program yüklemekte sorun yaşarlar. Windows kullanırken, program yüklemek son derece basit bir iştir. Yükleyeceğiniz kurulum (Setup) dosyasına çift tıkladığınızda, bir ekran çıkar ve sadece İleri tuşuna basarak bir programı yükleyebilirsiniz.

Linux dünyasında işler ne yazık ki biraz daha karmaşıktır. Program kurmaya kalktığınızda, deb, apt, rpm, make, config, package vb. onlarca terim karşınıza çıkar. Karşılaşacağınız sorunlar bunlarla da bitmez; bağımlılık (dependency) ve eksik kütüphane dosyaları başınızı ağrıtır. Dağıtımınıza uygun kurulum paketlerinin olmayışı can sıkıcı bir konudur.

Neden bu kadar zor?

Bunu açıklamak için konunun başına dönmek gerekiyor. İnsanlar, Linux’u Windows XP veya Windows 2000 gibi bir işletim sistemi olarak düşünmekteler. Aslında Linux bir işletim sistemi değil; işletim sistemi çekirdeğidir. Firmalar veya şahıslar, bu çekirdeği alır ve bunu kullanarak bir dağıtım hazırlar. Yani SuSE, Ubuntu, Pardus veya Redhat yüklediğinizde, yüklediğiniz şey aslında Linux çekirdeği üzerine kurulmuş bir işletim sistemidir.

Bütün dağıtımlar, elbette ki, birbirlerine az çok benzerler ama bu onların farklı olduğu gerçeğini değiştirmez. Dünya genelinde, 300 üzerinde Linux dağıtımı ­bir başka değişle 300 üzerinde Linux tabanlı işletim sistemi­ bulunuyor. İşte sorunda buradan kaynaklanmakta. Yeni geliştirilmiş bir programın, her dağıtımda kolayca kurulup, çalışabilmesi oldukça zor bir konu. Var olan çeşitliliği düşününce, zaman zaman uyumsuzlukların olması ve sorunların çıkması gayet olağan bir durum. Windows XP için hazırlanmış bir kurulum dosyasını, Windows ME’de çalıştırmaya kalkarsanız, uyumsuzluk sorunları yine olabilir. Program yüklemenin sıkıntısı, çeşitliliğin bir sonucudur; hatayı Linux’ta aramamak lâzım

Program Derlemek…

Açık yazılım dünyasında geliştirilmiş çoğu programın, başka ortamlara taşınabilirliği yüksektir. Yazılımın kodu ortadadır ve sizin yapmanız gereken bu kodu derlemektir. Bu sayede, dağıtım bağımsız bir yapıda programı kurup, kullanma fırsatınız olur. Üstelik bunun için programlama bilmeniz gerekmez.

Her programın uyacağı belirli bir standart yok. Ancak çoğunluğun sahip olduğu, genel kurallar bulunuyor. Hemen hemen hepsinde, README ve INSTALL adında okunabilir metin (text) dosyalarını bulabilirsiniz. Bu iki dosya, programın ne olduğunu, yüklemek için nelere ihtiyacınız olduğunu içerir. Bir programı derlemek için yapacağınız ilk iş shell’de, programı açtığınız (extract) yere gelip, “./configure” yazmaktır. ./configure yazdığınızda karşınıza çıkacak ekran, gerekli programlardan hangilerinin sizde olup olmadığını yes/no ifadeleriyle gösterir.

Şayet her şey yolunda gider ve ./configure işlemi başarılı olursa, ikinci yapacağımız işlem konsolda “make” yazmaktır. Bunu yaptığınız takdirde, program yüklenmeye hazır olur. Son aşamada programı yüklemek için “make install” yazarız. Programımız yüklenir ve biz de kullanabiliriz.

tar zxvf paket-vxx.tgz
./configure
./make
./make install

NOT : Eğer programı kaldırmak isterseniz, aynı klasörde “make uninstall” yazabilirsiniz.

Programları derleyerek kurmak oldukça zahmetli bir uğraş. Açıkçası Linux’a yeni başlayanlara, bu yöntemi kesinlikle tavsiye etmem. Dosya bağımlılıkları ve derleyici sorunlarıyla boğuşmak, yorucu bir mücadele gerektiriyor. Sorunlarla boğuşmak yerine, daha önce derlenmiş ve çalıştırılmaya hazır paketleri (packages) kullanmak çok daha kolaydır.

Linux Paketler

Windows’ta program kurmak için, çoğu zaman bir şeylerin Setup.exe dosyasına tıklarsınız. Setup.exe önceden derlenmiş ve bu nedenle sizi uğraştırmayan bir yapıdır. Size sadece kurulumu yönetmek kalır.

Benzer bir imkan, Linux dağıtımlarında da bulunur. Daha önce birileri kaynak kodlardan, yazılımı derlemiş ve kullanıma hazır hâle getirmiştir. Siz programın paket dosyasını indirir ve aynı Windows’taki gibi üzerine tıklarsınız. Karşınıza bir ekran çıkar ve onay vermeniz durumunda, program kurulumu başlar. İşlem son derece basittir ve bir iki tıklamayla tamamlanır.

Şimdi yukarıda anlatınlanları kısaca özetleyecek olursak.

Linux de program 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 derleyerek kod kurmanın dezavantajlarıda vardır;

  • Kod derlemek, yeni başlayanlar için zor bir işlem olabilir.
  • Kurulum öncesi düzenleme sıkıntıları (paket.conf, conf.h vs)
  • Kurulum sonrası dosyalar ve dokümanların dağılımı (/usr, /usr/local, /opt, /bin)
  • Kaldırma problemleri
  • Her paket için farklı ayarlamalar ve kurulum yöntemleri

Linux Paket Yönetim Sistemi

İkinci yöntem olan Paket ise programın (yazılımsal araç veya uygulamaların) derlenmiş kodu olarak tanımlanabilir.

Paket Yönetim Sistemi (PMS: Packet Management System) ise, paketlenmiş uygulamaları kurma, güncelleme ve kaldırma işlemleri yönetir. Dolayısıyla her paket, kendini yönetecek PMS’in anlayacağı başlıklar taşır. Bu başlıklar sayesinde PMS paketlerin güncelik bilgisi, diğer uygulama ve bileşenlere bağımlılığı vb bilgileri denetler. PMS, uygulamaların, kurulması, kaldırılması ve güncellemesi işlemlerini ne kadar kolay ve başarılı yapabiliyor ise, o PMS kullanıcı açısından ciddi bir tercih nedeni olmaya başlar.

Linux dağıtımları genellikle rpm ve deb paket yapısını kullanmaktadırlar. Sistem entegrasyonu, yaklaşım ve ihtiyaç farklılıkları nediyle birbirinden farklı paket yönetim sistemi bulunmaktadır.

Dağıtım Paket Yönetim Sistemi Paket Tipi Komut Yönetim ve Güncelleme Aracı
Red Hat/Centos/

Fedora/Oracle

RPM rpm rpm up2date

yum

autorpm

Suse rpm Rpm Yast2
Debian (Ubuntu, Knoppix) DEB deb dpgk Apt-get

Dselect

aptitude

Gentoo EMERGE ebuild emerge Pkgtool

Swaret

Slackupdate

slapget

Slackware TGS tgz Installpkg
Pardus PiSi pisi pisi Pisi

Bir Paket Yönetim Sisteminde hangi özellikler olmalı?

  • Paketlerin doğruluk ve bütünlüğü kontrol etmeli (checksum kontrolü)
  • Paketlerin kaynağının kimlik doğrulamasını yapabilmek için sayısal imzaları destekleyebilmeli
  • Dosya arşivleme ve arşivleri çözebilme desteği bulunmalı
  • Yazılımların güncellenebilmesine olanak sağlayabilen bir yazılım deposu üzerinden yapıyor olmalı
  • Kullanıcıların basit bir şekilde kullanımı için paketleri türlerine göre gruplamalı, kategorilerine ayırabilmeli
  • Paketin, ihtiyacı olan tüm programlar ile birlikte kurulduğundan emin olmak için bağımlılık yönetimi yapmalı

RPM (Red Hat Package Manager)

RPM, Red Hat Package Manager (Red Hat Paket Yöneticisi) anlamına gelmektedir. Red Hat tarafından geliştirildikten sonra birçok Linux dağıtımında yaygın bir kabul görmüştür. RPM, işletim sisteminizdeki paketleri yüklemek, silmek ve güncellemek için kullanabileceğiniz bir komut satırı aracıdır. RPM Linux programların kurulmasını kolaylaştırmış ve basitleştirmiştir.

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.

Linux rpm-yum-up2date-package management system 1

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 üç parçadan oluşur:

  1. rpm komutu
  2. Paket dosyaları
  3. RPM veri tabanı

rpm komutu

rpm komutunun neler yapabilir?

  • 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ı

Paket kurulumu, güncellenmesi veya kaldırılması sırasında, rpm komutu sistemin uygun durumda kalması için bir kaç kontrol yapar; Paket kurulumunda rpm şunları kontrol eder;

  • Paket kurulması için diskte yeterli yer var mıdır?
  • Paket kurulabilmesi için gerekli kütüphane ve paketler kurulu mudur?
  • Paket daha önce kurulmuş mu?
  • Kurulum sırasında dosya çakışması olacak mı?

Not : Özel durumlarda özel anahtarlarla bu kontroller aşılabilmektedir.

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üyüklüğü
  • Paketi hazırlayan kişinin veya kuruluşun kimliği
  • Dahil olduğu paket grubu

Paket dosyasının adı özel bir yapıya sahiptir:

paket-versiyon-küçük_sürüm-mimari.rpm

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.

Temel rpm komutları aşağıdaki tabloda yer almaktadır.

İşlem Kısa Parametre Uzun Parametre
Güncelleme/Kurma -U –upgrade
Kurma -i –install
Silme -e –erase
Sorgulama -q –query
Doğrulama -B –verify
İmza Kontrolü K –checksig
Tazalem, sadece kurulu ise güncelle -F –freshen
Veritabanını ilkle –initdb
Veritabanını tekrar oluştur –rebuilddb

rpm komutu ile kullanacabileceğimiz paramtreler için;

man rpm
  • Paket Ekleme
rpm -i paket_dosya_adı

Buradaki paket_dosya_adı kurmak istediğiniz paketin adıdır. Eğer bir kaç paket kurmak istiyorsanız paket ismini sıralayabilirsiniz ya da * karaktereyi kullanabilirsiniz.

rpm -i xmms-0.95.1-2.62.i386.rpm konqueror-3.45-1.i386.rpm

Not:Birçok sistem yöneticisi -v ve -h parametrelerini kullanır, Buradaki -v parametresi ile rpm kurulumunun durum bilgilerini verir, -h parametresi ile kurulumun ilerlemesini 50 tane # işareti ile izlenebilir.örneğin:

rpm -ivh xmms-0.95.1-2.62.i386.rpm konqueror-3.45-1.i386.rpm

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.

RPM’in başka olanaklarından biri paketlerin FTP sunucularından kurulabilmesidir.

Örnek olarak anonim bir FTP suncusundan paketi kurmak için çalıştırılacak komut:

rpm -ivh ftp://ftp.itu.edu.tr/redhat/i386/RedHat/RPMS/gnorpm-0.95.1-2.62.i386.rpm

Eğer anonim olmayan bir FTP sunucusuna bağlanmak gerekiyorsa:

ftp://kullanıcı:şifre@sunucu/yol

rpm -ivh ftp://test:test@ftp.itu.edu.tr/1/redhat/i386/RedHat/RPMS/gnorpm*
  • Paket Kaldırma
rpm -e paket_adı

rpm komutu, 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.

Not: Paket sistemden kaldırılırken rpm komutu kurulumdan sonra değişen konfigürasyon dosyalarını (.rpmsave uzantılı olarak) saklar.

  • Paket Güncelleme
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 eski paketi kaldırırken tüm konfigürasyon dosyalarını isimlerine .rpmsave ekleyerek saklar. Eğer paket sistemde bulunmayan bir paket ise rpm komutu bu paketi de kuracaktır. Bu nedenle bir çok sistem yöneticisi -i yerine -U kullanırlar; rpm -U paket sistemde kurulu değilse kurar, eğer mevcut ise günceller.

  • Kurulmuş Paket ile ilgili bilgi edinme
rpm -q paket_adı

Bu komutun çıkışı paket ismini, versiyonunu ve küçük sürüm numarasını verir.

  • Sistemde kurulu olan tüm paketlerin listesini ve versiyonlarını ve küçük sürüm numaralarını öğrenmek için
rpm -qa
  • Dosyanın ait olduğu paketi bulmak
rpm -qf dosya_adı

burada dosya_adı paketi belirlenecek dosyanın tam yolu içeren ismidir. Örnek olarak /etc/inittab dosyasının bulunduğu paketi belirlemek için:

# rpm -qf /etc/inittab

initscripts-5.00-1

 

  • Paket Tanımının Gösterilmesi
rpm -qi paket_adı

 

  • Paketin İçerdiği Dosyaları Listeleme
rpm -ql paket_adı

 

  • Paket İçeriğinin Doğrulanması

RPM veritabanı, sistemde kurulmuş bir paketin her dosyası için kayıt tutar. Bu kayıt dosya büyüklüğünü, sahibini, izinleri ve başka bilgileri tutar. Bu kayıtlar kullanılarak hangi dosya, eğer varsa, kurulumdan sonra değişmiştir, bunun için:

rpm -V paket_adı

Bu komutun çıktısı her bir değişen dosya için bir satır içerir. Bu satır üç alandan oluşur

  • Durum: dosyanın durumunu belirtir. Tablo’da harf kodları açıklanmıştır.
  • Konfigürasyon : konfigürasyon dosyaları satırında c bulunur.
  • Dosya Adı : dosyanın tam yolunu ve ismini içerir.

 

Kod Açıklama Kod Açıklama
. Değişiklik yok . Değişiklik yok
5 MD5 checksum değişmiştir 5 MD5 checksum değişmiştir
D Aygıt major ya da minor numarası değişmiştir D Aygıt major ya da minor numarası değişmiştir
G Sahip grup değişmiştir G Sahip grup değişmiştir
L Link yolu değişmiştir L Link yolu değişmiştir
M Dosya biçimi değişmiştir M Dosya biçimi değişmiştir
S Dosya büyüklüğü değişmiştir S Dosya büyüklüğü değişmiştir
T Değiştirilme zamanı değişmiştir T Değiştirilme zamanı değişmiştir
U Sahip kullanıcı değişmiştir U Sahip kullanıcı değişmiştir

Bazı RPM paketleri görevini yapabilmek için başka RPM paketlerine ihtiyaç duyabilir. Eğer bir RPM paketini, bu paketin ihtiyaç duyduğu diğer paketi kurmadan kurmaya kalkarsanız Bağımlılık sağlanamadı hatası alırsınız.

RPM size kurulması gereken paket ile ilgili bir öneri sunacaktır. Bu önerideki RPM paketini kurduktan sonra asıl paketinizi kurabilirsiniz.

NOT : Eğer RPM bağımlılık sağlanması için herhangi bir öneri sunmuyorsa, bağımlılık sorunu oluşturan dosyanın hangi RPM paketinde olduğunu anlamak için aşağıdaki sorguyu kullanabilirsiniz.

 

up2date

up2date RedHat’ın kendi güncelleştirme aracıdır, Windows Update programına çok benzer.

Redhat Linux’u Lisanslı aldıysanız up2date aracı ile güncelleme yapabilirsiniz. Aksi halde update işlemi sonuçlanmayacaktır.

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.

Yellowdog Updater Modified (yum), bu bağımlılık problemi nedeniyle Duke Üniversitesi fizik bölümünde Red Hat Linux sistemlerini yönetmek üzere geliştirilmiştir.yum açık kaynak kodlu (open source) komut satırı paket yönetim aracıdır.

YUM ile RPM Arasındaki Temel Farklar Nelerdir?

RPM sizin için otomatik “dependency management” yapamaz. Bir paket yüklemek istediğinizde onun bağlı olduğu başka paketler, ve onların bağlı olduğu diğer paketler olabilir. RPM bu bağlantıyı kurup ilgili tüm paketleri sizin için kuramaz. YUM bunu yapabilir. RPM aynı paketin birden fazla versiyonunu kurmanıza izin verir. YUM ise ilgili paketin zaten kurulu olduğunu söyleyecektir.

Yazılım Depoları (Software Repository / Repo)

İnternet ortamında birçok yazılım paketini üzerinde bulunduran yazılım depoları bulunmaktadır.Birçok organizasyon ve üniversite bu tür özgür yazılımları depolarında tutar ve kullanıcıların hizmetine ücretsiz olarak sunar. YUM/APT gibi otomatik paket kuran ve güncelleyen programlar, kendilerine tanımlı olan yazılım depolarına sırayla bakarak, kullanıcının o an kurmak veya güncellemek istediği yazılımı arar.

Centos ve Fedora dağıtımlarının repository leri tamamı açık durumdadır. Red Hat ve Oracle dağıtımlarının repository leri ise Red Hat Network ve UnbreakableLinux Network dir. Bunlarda kayıt olunması gerekmektedir.

NOT : Repository illaki internet ortamında olması gerekmiyor ihtiyaç halinde sunucumuza disk, dvd vb aygıtları bir dizine bağlayıp local repository’de oluşturabiliriz.

Repository (kısaca repo) ayarları Red Hat tabanlı sistemlerde /etc/yum.repos.d dizini altındaki dosyalarda saklanır.

Linux rpm-yum-up2date-package management system 2

YUM Repository Konfigurasyon dosyasında kullanılabilecek parametreler;

  • Repository ID – Tek kelimelik benzersiz bir kelime (Örnek: [ol6_latest])
  • Name – Reponun ismi (Örnek: name=Oracle Linux $releasever Latest ($basearch))
  • Baseurl – repodata dizininin URL’si. repository local’de ise file://path (Örneğin: file:///Oracle) veya network üzerinden ftp://link, http://link, https://link, kimlik doğrulama isterse ise http://user:password@www.repo1.com/repo1 (Örnek: baseurl=http://mirror.cisp.com/CentOS/6/os/i386/)
  • Enabled – Güncellemeleri ve yüklemeleri gerçekleştirirken depoyu etkinleştir (Örnek: enabled=1)
  • Gpgcheck – GPG imza denetimini etkinleştirme/devre dışı bırakma (Örnek: gpgcheck=1)
  • Gpgkey – GPG anahtarının URL’si (Örnek: gpgkey=http://mirror.cisp.com/CentOS/6/os/i386/RPM-GPG-KEY-CentOS-6)
  • Exclude – Hariç tutulacak paketlerin listesi (Örnek: exclude=httpd,mod_ssl)
  • Includepkgs – Eklenecek paketlerin listesi (Örnek: include=kernel)

YUM repository konfigurasyon dosyasında zoraki olması gereken parametreler aşağıdaki gibidir.

  • Repository ID
  • Name
  • Baseurl
  • Enabled
[examplerepo]
name=Example Repository
baseurl=http://mirror.cisp.com/CentOS/6/os/i386/
enabled=1
gpgcheck=1
gpgkey=http://mirror.cisp.com/CentOS/6/os/i386/RPM-GPG-KEY-CentOS-6

NOT : EPEL (Extra Packages for Enterprice Linux) repoları, resmen Redhat/CentOS parçası olmamakla birlikte, Linux kullanıcıları topluluğunun sağladığı pek çok pakedi barındırır.

EPEL reposunu sistemimize eklediğimizde, daha önce erişemediğimiz pek çok pakete (örneğin redis) erişebiliriz. EPEL reposunu sistemimize eklemek için, wget ile rpm dosyasını edinmek, arından bu rpm dosyasını sistemimize yüklemek gerekir.

## RHEL/CentOS 6 64-Bit ##
[root@emre ~]# wget http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
[root@emre ~]# rpm -ivh epel-release-6-8.noarch.rpm

Örnek Linux Local Repository Yapılandırması

  • Dvd rom ‘a dvd’mi taktım. Belli bir dosyaya mount etmek için öncelikle /oracle adına bir dosya oluşturuyorum.
  • Dvd rom umu oluşturduğum dosyaya mount ediyorum.
  • Şimdi /etc/yum.repos.d dizini altında local.repo adında konfigürasyon dosyamı oluşturuyorum.
  • yum clean all komutu ile cache temizlenir.
  • yum repo list komutu ile de oluşturduğumuz repository’i görebiliriz.
[root@weblogic ~]# mkdir /oracle
[root@weblogic ~]#
[root@weblogic ~]# mount /dev/cdrom /oracle/
mount: block device /dev/sr0 is write-protected, mounting read-only
[root@weblogic ~]#
[root@weblogic ~]# cat /etc/yum.repos.d/local.repo
[ol6_latest]
name=Oracle Local Linux Repository $releasever  ($basearch)
baseurl=file:///oracle
gpgkey=file:///oracle/RPM-GPG-KEY-oracle
gpgcheck=1
enabled=1
[root@weblogic ~]#
[root@weblogic ~]# yum clean all
Loaded plugins: refresh-packagekit, security
Cleaning repos: ol6_latest
Cleaning up Everything
[root@weblogic ~]#
[root@weblogic ~]# yum repo list
Loaded plugins: refresh-packagekit, security
No such command: repo. Please use /usr/bin/yum --help
[root@weblogic ~]#

yum komutu ile neler yapılabilir?

Dikkat : Yum ilk çalıştırıldığında sisteminizde kurulu paketler ile orantılı olarak yaklaşık 14-20 MB *.hdr dosyaları indirir. Bunlar paketlerin bağımlılık bilgilerini içerir.

  • Yum ile sistem Güncelleme
yum update

yum ile tüm sistemi güncellemek yerine yalnızca seçtiğiniz bir paketi de güncelleyebilirsiniz. Örneğin firefox’un daha yeni bir sürümü çıkmış ise güncellemek isterseniz;

yum update firefox
  • Yum ile paket kurmak
yum install net-snmp-utils

Tam ismi bilmiyor isek ve bu isimle başlayan bütün paketleri kursun istersek * opsiyonunu kullanabiliriz.

yum install net-snmp-uti*

paket kurma komutunu çalıştırdığımızda her paket için bize kurulumu onaylayıp onaylamadığımızı sorar bu kısmı önonaylı olarak sormadan halletmek için -y parametresini kullanabiliriz.

yum install net-snmp-uti* -y

aynı anda birden fazla isimde paketin isminide veerbiliriz.

yum install net-snmp-uti* vlc* -y
  • Yum ile paket listesini görmek
yum list php*

yazınca kurulabilir durumdaki php ile ilgili paketler ve kurulmuş olan php ile ilgili paketler görüntülenir.

  • Mevcut yazılımların listesini görmek için
yum list available
  • Yeni güncellemeleri görmek için
yum check-update
  • Paket silmek için
yum remove php* -y
  • Paket aramak için
yum search php
  • Paket hakkında bilgi almak
yum info abrt
  • Paket ve meta dataları cacheden temizlemek için
yum clean all
  • Repository leri listelemek için
yum repolist

Paket Grupları

Aynı amaca yönelik paketler aynı Grup ID’si altında gruplanmışlardır. Böylece tek komutla birbiriyle ilgili bütün paketler kurulabilir.

  • Bütün grupların listesini çıkartmak için:
yum grouplist –v
  • Bir paket grubunu yüklemek için:
yum groupinstall kde-desktop
  • Aynı işi yapan install komutu:
yum install @kde-desktop

Geçmiş Hareketler

history parametresi yum ile yapılan hareketleri görmenizi sağlar.

  • En son hareketleri listelemek için:
yum history list
  • Bütün hareketleri görmek için:
yum history list all
  • Verilen aralıktaki hareketleri görmek için:
yum history list start_id..end_id
  • Yeni bir geçmiş başlatmak için:
yum history new

Linux rpm-yum-up2date-package management system 3
Linux rpm-yum-up2date-package management system 4
http://www.cagataycebi.com/linux/package_install/package_install.html
https://www.ibm.com/developerworks/library/l-lpic1-102-5/index.html
http://www.bilisimonline.net/index.php/2017/07/25/linux-isletim-sistemi-paket-ve-yazilim-yonetim-sistemleri/
https://access.redhat.com/sites/default/files/attachments/rh_yum_cheatsheet_1214_jcs_print-1.pdf
http://big.info/2017/10/yum-rpm-difference.html
https://bidb.itu.edu.tr/eskiler/seyirdefteri/blog/2013/09/06/linux-altinda-paket-yonetimi
http://muhendisler.org/t/yum-nedir-rpm-nedir-yum-ile-rpm-arasindaki-fark-nedir/154

İyi Çalışmalar…
Mustafa Bektaş Tepe

628 total views, 6 views today