Red Hat sistemler üzerinde, yum (Yellowdow Updater Modified) paket yöneticisi en yaygın kullanılanıdır. Sisteminiz için uygun yazılımları, bağımlılıkları (dependency) ile birlikte yüklemeye yarayan bu paket yöneticisinin kullanımı oldukça kolaydır. yum bize rpm (Red Hat Package Manager) dosyaları sağlar. Dolayısıyla istersek rpm paket dosyalarını edinip yükleyebiliriz, istersek paketleri yum ile yükleyebiliriz. Bu bölümde iki sistemi bir arada kullanmayı göreceğiz.
list ve search
Örneğin Gelişmiş Terminal Komutları bölümünde karşılaştığımız htop programını yüklemek istiyorsak, öncelikle ilgili paketin ismini arayabiliriz.
Görüleceği gibi içinde htop geçen iki paket bulundu, birisi bir php kütüphanesi olduğundan ilgimizi çekmiyor. Eğer search yerine list parametersini kullansaydık, daha dar bir sonuç elde edecektik.
[root@emre ~]# yum list htopLoadedplugins:fastestmirror,priorities,replaceLoadingmirrorspeedsfromcachedhostfile*base:mirror.rackdc.com*elrepo:mirrors.ircam.fr*epel:ftp.linux.org.tr*extras:mirror.rackdc.com*rpmforge:mir01.syntis.net*updates:mirror.rackdc.com*webtatic:uk.repo.webtatic.com1445packagesexcludedduetorepositorypriorityprotectionsAvailablePackageshtop.x86_641.0.3-1.el6.rfrpmforge
yum ile yükleyebileceğiniz bütün paketleri, list parametersini paket ismi belirtmeden görebilirsiniz. Liste çok uzun olacağı için sayfa sayfa görüntülemekte fayda var.
[root@emre ~]# yum list |more
Benzer şekilde yüklü paketleri görüntüleyebiliriz.
[root@emre ~]# yum list installed
Ancak yum ile yüklü paketleri görüntülemektense, rpm ile bu işi yapmak daha sağlıklıdır ve genellikle tercih edilir.
Eğer belirli bir programı güncellemek istersek, update parametresini kullanabiliriz.
bash
[root@emre ~]# yum update vim
Loaded plugins: fastestmirror, priorities, replace
Setting up Update Process
Loading mirror speeds from cached hostfile
* base: mirror.rackdc.com
* elrepo: mirrors.ircam.fr
* epel: ftp.linux.org.tr
* extras: mirror.rackdc.com
* rpmforge: mir01.syntis.net
* updates: mirror.rackdc.com
* webtatic: uk.repo.webtatic.com
1445 packages excluded due to repository priority protections
Resolving Dependencies
--> Running transaction check
---> Package vim-enhanced.x86_64 2:7.2.411-1.8.el6 will be updated
---> Package vim-enhanced.x86_64 2:7.4.629-5.el6 will be an update
--> Processing Dependency: vim-common = 2:7.4.629-5.el6 for package: 2:vim-enhanced-7.4.629-5.el6.x86_64
--> Running transaction check
---> Package vim-common.x86_64 2:7.2.411-1.8.el6 will be updated
---> Package vim-common.x86_64 2:7.4.629-5.el6 will be an update
--> Processing Dependency: vim-filesystem for package: 2:vim-common-7.4.629-5.el6.x86_64
--> Running transaction check
---> Package vim-filesystem.x86_64 2:7.4.629-5.el6 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
===================================================================================================================
Package Arch Version Repository Size
===================================================================================================================
Updating:
vim-enhanced x86_64 2:7.4.629-5.el6 base 1.0 M
Installing for dependencies:
vim-filesystem x86_64 2:7.4.629-5.el6 base 15 k
Updating for dependencies:
vim-common x86_64 2:7.4.629-5.el6 base 6.7 M
Transaction Summary
===================================================================================================================
Install 1 Package(s)
Upgrade 2 Package(s)
Total download size: 7.8 M
Is this ok [y/N]:
Gördüğünüz gibi vim ile birlikte gerekli paketler de güncelleniyor.
Öte yandan sistemimizdeki bütün paketlerin güncellenmesi için, paket ismi belirtmeden update komutunu kullanabilirdik.
[root@emre ~]# yum update
Eğer sadece hangi paketlerin güncellemesinin mevcut olduğunu öğrenmek istersek aşağıdaki komutu kullanabiliriz.
[root@emre ~]# yum check-update
info
Eğer bir paket hakkında bilgi edinmek istiyorsak, info parametresini kullanabiliriz.
[root@emre ~]# yum info htopLoadedplugins:fastestmirror,priorities,replaceLoadingmirrorspeedsfromcachedhostfile*base:mirror.rackdc.com*elrepo:mirrors.ircam.fr*epel:ftp.linux.org.tr*extras:mirror.rackdc.com*rpmforge:mir01.syntis.net*updates:mirror.rackdc.com*webtatic:uk.repo.webtatic.com1445packagesexcludedduetorepositorypriorityprotectionsAvailablePackagesName:htopArch:x86_64Version:1.0.3Release:1.el6.rfSize:87kRepo:rpmforgeSummary:InteractiveprocessviewerURL:http://htop.sourceforge.net/License:GPLDescription:htopisaninteractiveprocessviewerforLinux.
Benzer şekilde paket bilgisini rpm ile almak da mümkün.
Bir paket yöneticisi kullanmanın en güzel yanı, belirli dosya veya kütüphaneleri hangi paketlerin sağladığının rahatlıkla bulunabilmesidir. yum ile bu işi provides ve whatprovides parametreleri yapar. Her iki parametre de aynı işi yapar, sadece farklı isimlerdir.
Örneğin Sistemimizde /etc/httpd/conf/httpd.conf şeklinde bir dosya var ve bu dosyanın hangi paketle geldiğini öğrenmek istiyoruz,
Yukarıdaki sonuçlardan, dosyanın httpd paketi ile geldiğini görebiliyoruz.
Paket Grupları
yum ile bazı paketler gruplandırılmıştır. Örneğin sık kullanılan masaüstü uygulamaları, veya ağ uygulamaları ayrı paketlerde bulunur. Yükleyebileceğimiz paketleri listelemek için grouplist parametresi kullanılır.
[root@emre ~]# yum grouplist
Listelenen gruplardan birisi hakkında bilgi edinmek istersek groupinfo parametresini kullanabiliriz.
Fark ettiyseniz groupinfo ile gelen sonuçta Optional Packages isimli bir bölüm mevcut. Normalde groupinstall komutunu uyguladığımızda bu paketler yüklenmeyecektir. yum'un bu paketleri yüklemesini sağlamak için ayar dosyasını düzenlemek gerekir. Ayar dosyası /etc/yum.conf yolunda yer alır. Bu dosyaya aşağıdaki gibi bir satır eklemeniz, grup yüklemelerinde hangi paketlerin dikkate alınacağını belirler.