**

* Copyright (c) 2004 Huzeyfe ÖNAL

*  Bu belgenin telif hakları 'GNU Free Documentation License'

* lisansı şartları altında Huzeyfe ÖNAL’a aittir.

*  Belgenin en güncel sürümüne http://www.enderunix.org/docs/yum.html

* adresinden erişebilirsiniz

* İlk baskı: 01.01.2005

* Son güncelleme:  01.01.2005

* *

 

Red Hat ve Fedora Core Linux için Gelişmiş Paket Yönetimi

                                                                   YUM (Yellow dog Updater, Modified)

 

 

 Red hat Linux ve benzer Linux dağıtımlarını  kullananlar bilir RPM(Red Hat Package Manager) oldukca kolaylık sağlayan bir paket yönetim sistemidir fakat bazen insanı çileden çıkaracak derecede uğraştırır . Bu uğraşların kaynağı genellikle sisteme kurulacak olan paketlerin bağımlılıkları yüzündendir, mesela a paketini kurmak  istersiniz a b’ye bağımlıdır bu yüzden önce b’yi kurmanızı söyler, b’yi kurmak için harekete geçtiğinizde ise b’nin de c’ye bağımlı olduğunu ve öncelikle c paketini kurmanız gerektiğini söyler, sabırla c’yi kurmaya kalkarsınız ve kurarsınız sonra attığınız adımları geri geri atarak bir paketin kurlumunu tamamlamış olursunuz, bazende talihiniz yaver gitmeyebilir ve c’nin de a’ya bağımlı olduğu uyarısını alabilirsiniz! ve işin içinden çıkamayabilirsiniz

 

 Bu durumda  yapacağınız  paketi “—nodeps” parametresi ile kurmak ve sonradan çıkabilecek hataları sabırla karşılamak diğeri ise paketi hiç kurmamak yada alternatif yükleme yolları aramak(paket isimlerini tek bir sefer yazmak

# rpm a.rpm b.rpm c.rpm şeklinde, çoğu zaman bu işe yarar).

 

 İşte bu sistem yıllardir bu şekilde işliyor oysa diğer taraftan bakıldığında Linux olarak “Debian” bu sorunu oldukca kolay ve mantıklı şekilde çözmüştü, Unix olarak Freebsd ve diğer *BSD  sistemleride port ve paket sistemini geliştirerek bu bağımlılık hatalarından kullanıcılarını korumayı başarmıştı.

 

Ve Red Hat da Fedora Core 1.0 ile beklenen atağı yaptı, yukarıda bahsettiğim yöntemlere benzer bir yöntem kullanan paket yönetim aracını bir başka dağıtımdan kendi dağıtımına aktardı.

 

Resmi olarak kendi bünyesine kattığı programın adı yum(yellowdog updater manager) aynı diğer paket yönetim sistemlerine benzer şekilde kullanıcıya sadece kurmasını istediği paketin ismini yazdırıp bağımlılık sorununu RPM başlık bilgilerini kullanarak çözüyor .

 

Diğer bir paket yönetim aracı ise Red Hat tarafından resmi olarak desteklenmesede uzun süredir oldukca fazla kullanıcı tarafından test edilen ve kullanılan apt-get4rpm’dir. Apt-get ismi debian paket yönetim sisteminden gelmektedir ve bu paket yönetim sisteminden hoşlanan Red Hat sever bir grup Red Hat’a aktarıldı(herhangi bir resmiyet ve destek yok).

 

 

http://linux.duke.edu/projects/yum/ sayfasından yum projesi ile ilgili detaylı bilgilere ulaşılabilir. Yum python programlama dili ile yazılmıştır.

 

Not: Fedora Linux 1 ve Fedora Linux 2 ile birlikte gelen yum programı ilk çalıştırıldığında sunucudan rpm başlık bilgilerini(headers) indirmeye çalıştığı için birçok arkadaş tarafından kullanımı yavaş ve zor bulunmuştu. Fedora Linux 3 ile birlikte gelen yum paketi daha önceki sürümlere oranla %40 daha performanslı çalışıyor. ( istemci ve sunucu tarafında XML metadata kullanılıyor) ve bu yazıda  bahsettiğim özelliklerin çoğu bu yum versiyonu ile çalışmaktadır.

 

 

Çeşitli Red Hat dağıtımları için yum paketleri

 

Her ne kadar artık Red Hat tarafından desteklenmesede hala Red Hat’in 7.x, 8.x,9.x sürümlerini kullananlar var. Bunlar için yum paketleri aşağıdaki adreslerden edinilebilir.

 

 

Yapılandırma

 

Yum aracını kullanmadan önce sistemdeki yum ile ilgili paketlere ve işlevlerine göz atalım. Yum paketinin kurulumu sırasında sistemimize eklenmiş dosya/dizinleri görebilmek için

 

# rpm -lq yum

komutunu çalıştırmanız yeterlidir. Bu komutun çıktısında şuan bizi ilgilendiren

/etc/yum.conf

/usr/bin/yum

/var/cache/yum

 

dosya/dizinleridir.

 

Yum aracı /etc/yum.conf ayar dosyasına göre çalışır, bu dosyaya gireceğimiz her ayar yum’un çalışmasını ve performansını etkileyecektir.

Bu dosyanın varsayılan hali aşağıdaki gibidir,

 

# cat /etc/yum.conf

 

[main]

cachedir=/var/cache/yum

debuglevel=2

logfile=/var/log/yum.log

pkgpolicy=newest

distroverpkg=fedora-release

tolerant=1

exactarch=1

 

[base]

name=Fedora Core $releasever - $basearch - Base

baseurl=http://fedora.redhat.com/releases/fedora-core-$releasever

 

[updates-released]

name=Fedora Core $releasever - $basearch - Released Updates

baseurl=http://fedora.redhat.com/updates/released/fedora-core-$releasever

 

#[updates-testing]

#name=Fedora Core $releasever - $basearch - Unreleased Updates

#baseurl=http://fedora.redhat.com/updates/testing/fedora-core-$releasever

 

Bu dosyada gelen öntanımlı değerlerle işlem yapmak sunucuların yoğunluğu sebebi ile neredeyse çoğu zaman imkansız hale gelmektedir, yapmaya çalıştığınız her yükleme ya da güncelleme işlemi sırasında bağlantı zaman aşımı gibi hatalar almanız olasıdır. Bu sebeple temel paket deposunu Fedora’nın yansılarından biri olarak belirleyebilirsiniz, mesela Türkiye için aşağıdaki adresleri kullanabilirsiniz.

 

Turkey

 

NOT: yum.conf dosyasında yapmanız gereken tek değişiklik

http://fedora.redhat.com/releases/fedora-core-$releasever  

http://fedora.redhat.com/updates/released/fedora-core-$releasever

 

adresleri  yerine yukarıda adresini verdiğim bağlantılardan birini yazmak.

 

Yum’a alternativ yapılandırma dosyası kullandırtmak istersek komut satırından aşağıdaki gibi belirleyebiliriz.

 

#yum –c /etc/yum_yeni.conf install nmap

 

 

 

Vekil(proxy) sunucu arkasından yum kullanımı

 

Kullandığınız system internet erişimini bir proxy arkasından sağlıyorsa bu ayarları yum’a anlatmazsanız yapmaya çalıştığınız her işlemde yum hata verecektir.

 

#yum update

Gathering header information file(s) from server(s)
Server: Fedora Core 3 - i386 - Base
retrygrab() failed for:
http://download.fedora.redhat.com/pub/fedora/linux/core/updates/3/i386/headers/headers/header.info
Executing failover method
failover: out of servers to try
Error getting file http://download.fedora.redhat.com/pub/fedora/linux/core/updates/3/i386/headers/headers/header.info
[Errno 4] IOError: HTTP Error 404: Not Found

 

 

Yum’un proxy arkasından sağlıklı çalışabilmesi için proxy sunucuyu tanıtmamız lazım bunu da aşağıdaki 3 komutla yapabiliriz.

 

#export http_proxy=http://proxy_adresi:port numarası

 

#export ftp_proxy=http://proxy_adresi:port numarası

 

Eğer proxy sunucunuz doğrulama istiyorsa bunu da aşağıdaki gibi aşabilirsiniz

 

#export http_proxy=http://kullanici_adi:parola@proxy_sunucu_adresi:port_numarasi

 

 

Dikkat: Kullanici_adi ve parolanizin proxy sunucuda geçerli olması gerekir.

 

Örnek:

 

#export http_proxy=http://cinali:Karinca@10.0.0.3:3128

 

Cinali=Proxy de geçerli bir kullanici adi

Karinca=Proxyde cinali kullanicisina ait geçerli bir parola

10.0.0.3 :Proxy sunucu

3128 :proxy port numarası

 

 

Paket yüklemek

 

Kullanımı;

#yum install kurulacak_paket ismi

 

Mesela hunt paketinin sistemimize kurmak istersek ,

 

# yum install hunt

Repository updates-released already added, not adding again

Repository base already added, not adding again

Setting up Install Process

Setting up Repo:  dag

repomd.xml                100% |=========================|  951 B    00:00

Setting up Repo:  base

repomd.xml                100% |=========================| 1.1 kB    00:00

Setting up Repo:  updates-released

repomd.xml                100% |=========================|  951 B    00:00

Reading repository metadata in from local files

dag       : ################################################## 1476/1476

base      : ################################################## 2622/2622

updates-re: ################################################## 408/408

Resolving Dependencies

--> Populating transaction set with selected packages. Please wait.

---> Downloading header for hunt to pack into transaction set.

hunt-1.5-0.1.fc3.rf.i386. 100% |=========================| 3.4 kB    00:00

---> Package hunt.i386 0:1.5-0.1.fc3.rf set to be installed

--> Running transaction check

 

Dependencies Resolved

Transaction Listing:

  Install: hunt.i386 0:1.5-0.1.fc3.rf

Is this ok [y/N]: y

 

Downloading Packages:

hunt-1.5-0.1.fc3.rf.i386. 100% |=========================|  93 kB    00:01

Running Transaction Test

Finished Transaction Test

Transaction Test Succeeded

Running Transaction

Installing: hunt 100 % done 1/1

 

Installed: hunt.i386 0:1.5-0.1.fc3.rf

Complete!

 

 

Hunt paketinin sistemimize kurmuş olduk, kontrol amacı ile komut satırından hunt yazalım.

 

 

NOT: yükleme işleminde “*”  karekterini joker  kullanabiliriz, mesela  secu ile başlayan tüm paketlerin kurulmasını istersek

 

#yum install secu*

Komutunu vermemiz yeterlidir.

 

Paket kaldırmak

 

Paket kaldırmada paket kurulumu kadar sorun olabiliyor. Çünkü kaldırmaya çalıştığımız pakete bağımlı bir paket varsa paketi kaldırdıktan sonra çalışmayacaktır.Bu yüzden yum kullanarak kurduğumuz paketleri yine yum kullanarak  kaldırmaya dikkat etmemiz gerekir.

 

Kullanımı;

 

#yum remove kaldirilacak_paket_ismi

 

# yum remove hunt

 

Repository updates-released already added, not adding again

Repository base already added, not adding again

Setting up Remove Process

Resolving Dependencies

--> Populating transaction set with selected packages. Please wait.

---> Package hunt.i386 0:1.5-0.1.fc3.rf set to be erased

--> Running transaction check

 

Dependencies Resolved

Transaction Listing:

  Remove: hunt.i386 0:1.5-0.1.fc3.rf

Is this ok [y/N]: y

Downloading Packages:

Running Transaction Test

Finished Transaction Test

Transaction Test Succeeded

Running Transaction

Erasing: hunt 1/1

 

Removed: hunt.i386 0:1.5-0.1.fc3.rf

Complete!

 

Bu komutla hunt paketi ve bağımlı olduğu paketler kaldırılır fakat yum’un bunu kurarken systeme indirdiği hunt paketi silinmez

/var/cache/yum/base/packages altına giderek oradan ilgili paketi silmeniz gerekir, tabi bunu yapmak zorunda değilsiniz ama diskinizde yer sıkıntısı yaşıyorsanız yapmanız kaçınılmaz olabilir, yine yum kullanarak bu temizleme işlemini otomatik yaptırabiliriz,

 

#yum clean all 

Komutu ile sistemden remove ile kaldırdığımız paketlere ait bileşenler sistemimizden silinirler.

 

 

 

Paketleri listelemek

 

Tüm paketleri listelemek istersek,

 

#yum list|more

 

Sadece yüklü paketleri listelemek

 

#yum list installed|more

 

Sistemimize daha önce kurduğumuz fakat güncellemesi çıkmış olan paketler olabilir, mesela apache 2.0.40 paketinin sistemimize kurduk. Yum’ u kullanarak zaman zaman güncellenecek paketleri listeleyerek apache paketinde herhangi bir güncelleme var mı öğrenebiliriz.

 

#yum list updates

 

Repository updates-released already added, not adding again

Repository base already added, not adding again

Setting up Repo:  dag

repomd.xml                100% |=========================|  951 B    00:00

Setting up Repo:  base

repomd.xml                100% |=========================| 1.1 kB    00:00

Setting up Repo:  updates-released

repomd.xml                100% |=========================|  951 B    00:00

Reading repository metadata in from local files

dag       : ################################################## 1476/1476

base      : ################################################## 2622/2622

updates-re: ################################################## 408/408

Updated Packages

dovecot.i386                             0.99.11-1.1.fc3.rf     dag

lftp.i386                                3.0.12-1.1.fc3.rf      dag

mtr.i386                                 2:0.65-1.1.fc3.rf      dag

nmap.i386                                2:3.75-0.1.fc3.rf      dag

planner.i386                             0.12.1-1.1.fc3.rf      dag

rhythmbox.i386                           0.8.8-2.1.fc3.rf       dag

rsync.i386                               2.6.3-1.1.fc3.rf       dag

syslinux.i386                            2.13-1.1.fc3.rf        dag

xrestop.i386                             0.3-1.1.fc3.rf         dag

 

 

komutun çıktısından da anlayabileceğimiz üzere

 

dovecot.i386                             

lftp.i386                               

mtr.i386                                

nmap.i386                               

planner.i386                            

rhythmbox.i386                          

rsync.i386                               

syslinux.i386                           

xrestop.i386 

 

paketlerinde bir güncelleme söz konusu. Bu paketleri istersek teker teker yum update paket_ismi şeklinde güncelleyebiliriz, yada kurulmuş tüm paketleri güncellemek için

 

#yum update

 

komutunu verebiliriz. Güncellemesi yapılacak paket listesi ekrana sığmayacak kadar fazla ise bir önceki komutumuza |more komutunu da ekleyerek sayfa sayfa görüntüleyebiliriz.

 

#yum list updates|more

 

 

Bazende sistemimizi biz olmadan belirli vakitlerde güncellemek isteyebiliriz fakat yum’un normal kullanımında yükleyeceği veya güncelleyeceği paketler için son bir onaylama sorar

 

Transaction Listing:

  Install: hunt.i386 0:1.5-0.1.fc3.rf

Is this ok [y/N]: y

 

Gibi. Burada y tuşuna basmazsak istediğimiz işlemi yapmaz. Bunu aşabilmek için yum’a –y parametresini veriyoruz, -y parametresi ile sisteme kuracağı paketler için önceden “yes” manasına gelen onay vermiş oluyoruz. Böylece sistemimize her gece saat 01:00 da kendisini güncellemesini söyleyebiliriz.

 

#yum –y update

 

komutunu cron(zamanlayici)’a uygun şekilde yazarak sistemin kendisini bizim onayımıza ihtiyaç duymadan güncellemesini sağlamış oluruz.

 

 

Paket grupları ile  işlemler

 

    Paket grubu  yüklemesi

 

Grop paket kavramı Fedora Core 3 ile birlikte yüklü gelen yum-2.1.11-3 programı sayesinde belirli adlar altında gruplanmış yazılımları tek seferde yüklemek ve kaldırabilmek amaclıdır. Mesela internet adlı bir grup altında 10 adet paket olsun bu paketler bir kullanıcının internet için ihtiyaç duyacağı paketler olsun. Bu paketlerin herbirini teker teker kurmak yerine gruplama özelliğini kullanarak tek bir komutla kurabiliriz

 

Öncelikle sistemimizde bulunan “grup”ların listesini alalım

 

 

 

Sistemimizde bulunan grupların listesini alabilmek için grouplist parametresini kullanabiliriz

 

# yum grouplist

 

Repository updates-released already added, not adding again

Repository base already added, not adding again

Setting up Group Process

Setting up Repo:  dag

repomd.xml                100% |=========================|  951 B    00:00

Setting up Repo:  base

repomd.xml                100% |=========================| 1.1 kB    00:00

Setting up Repo:  updates-released

repomd.xml                100% |=========================|  951 B    00:00

comps.xml                 100% |=========================| 591 kB    00:16

Installed Groups:

   Administration Tools

   Compatibility Arch Support

   DNS Name Server

   Editors

   FTP Server

   GNOME Desktop Environment

   GNOME Software Development

   Graphical Internet

   Graphics

   Legacy Network Server

   MySQL Database

   Network Servers

   Office/Productivity

   PostgreSQL Database

   Printing Support

   Server Configuration Tools

   Sound and Video

   System Tools

   Text-based Internet

   Web Server

   Windows File Server

   X Software Development

   X Window System

   XFCE

   x86 Compatibility Arch Development Support

Available Groups:

   Authoring and Publishing

   Compatibility Arch Development Support

   Development Tools

   Engineering and Scientific

   Games and Entertainment

   KDE (K Desktop Environment)

   KDE Software Development

   Legacy Software Development

   Mail Server

   News Server

   XFCE Software Development

Done

 

 

Komutun çıktısına bakarsak tüm listeyi iki ana başlık altında sunmuştur, bu başlıklar sisteme kurulmuş olan gruplar(Installed Groups:) ve kurulmayı bekleyen gruplar(Available Groups:) gözükmektedir. Kurulmamış grup listesinden herhangi bir grubu kurmak için

 

# yum groupinstall "Development Tools"

 

Şeklinde bir komut veriyoruz.

 

# yum groupinstall "Development Tools"

 

Repository updates-released already added, not adding again

Repository base already added, not adding again

Setting up Group Process

Setting up Repo:  dag

repomd.xml                100% |=========================|  951 B    00:00

Setting up Repo:  base

repomd.xml                100% |=========================| 1.1 kB    00:00

Setting up Repo:  updates-released

repomd.xml                100% |=========================|  951 B    00:00

Reading repository metadata in from local files

dag       : ################################################## 1476/1476

base      : ################################################## 2622/2622

updates-re: ################################################## 408/408

Passing package list to Install Process

Reading repository metadata in from local files

Resolving Dependencies

--> Populating transaction set with selected packages. Please wait.

---> Downloading header for boost-devel to pack into transaction set.

boost-devel-1.32.0-1.fc3. 100% |=========================| 339 kB    00:05

---> Package boost-devel.i386 0:1.32.0-1.fc3 set to be installed

--> Running transaction check

 

Dependencies Resolved

Transaction Listing:

  Install: boost-devel.i386 0:1.32.0-1.fc3

Is this ok [y/N]: y

Downloading Packages:

boost-devel-1.32.0-1.fc3. 100% |=========================| 3.2 MB    00:47

Running Transaction Test

Finished Transaction Test

Transaction Test Succeeded

Running Transaction

Installing: boost-devel 100 % done 1/1

 

Installed: boost-devel.i386 0:1.32.0-1.fc3

Complete!

 

Grup paketlerinin güncellenmesi

 

# yum groupupdate "internet"

 

 

 

Paket hakkında bilgi almak

 

Bir paketi sistemimize kurmadan o paket hakkında detaylı bilgi alabiliriz,

 

# yum info tmpwatch

 

Gathering header information file(s) from server(s)

Server: Fedora Core 1 - i386 - Base

Server: Fedora Core 1 - i386 - Released Updates

Finding updated packages

Downloading needed headers

Looking in Available Packages:

 

Looking in Installed Packages:

Name   : tmpwatch

Arch   : i386

Version: 2.9.0

Release: 2

Size   : 13.35 kB

Group  : Sistem/Temel

Repo   : Locally Installed

Summary: A utility for removing files based on when they were last accessed.

Description:

 The tmpwatch utility recursively searches through specified

directories and removes files which have not been accessed in a

specified period of time. Tmpwatch is normally used to clean up

directories that are used for temporarily holding files (for example,

/tmp). Tmpwatch ignores symlinks, will not switch filesystems, and

only removes empty directories and regular files.

 

 

NOT: Ek olarak sistemimizde kurulu olan paketler hakkındada aynı komutla bilgi alabiliriz.

 

 

 

Depoya yeni eklenen paketleri görüntülemek

 

Yum için kullandığınız depoya yeni paketleri eklenmiş olabilir , bu paketlerden haberdar olmak istiyorsanız recent seçeneğini kullanabiliriz.

 

Kullandığınız depoya/depolara  yeni eklenen yada güncellenen paketlerin listesi için

 

# yum list recent

 

Repository updates-released already added, not adding again

Repository base already added, not adding again

Setting up Repo:  dag

repomd.xml                100% |=========================|  951 B    00:00

Setting up Repo:  base

repomd.xml                100% |=========================| 1.1 kB    00:00

Setting up Repo:  updates-released

repomd.xml                100% |=========================|  951 B    00:00

Reading repository metadata in from local files

dag       : ################################################## 1476/1476

base      : ################################################## 2622/2622

updates-re: ################################################## 408/408

Recently Added Packages

airsnort.i386                            0.2.7-0.b.1.fc3.rf     dag

gnofract4d.i386                          2.5-1.1.fc3.rf         dag

multitail.i386                           3.4.3-1.1.fc3.rf       dag

nagios-plugins.i386                      1.3.1-10.1.fc3.rf      dag

radiusclient.i386                        0.3.2-0.1.fc3.rf       dag

radiusclient-devel.i386                  0.3.2-0.1.fc3.rf       dag

ttywatch.i386                            0.14-1.1.fc3.rf        dag

x11vnc.i386                              0.7-1.1.fc3.rf         dag

 

komutunu çalıştırmamız yeterlidir.

 

Paket sorgulama

 

Herhangi bir paketin ismini tam olarak bilmiyorsunuz fakat onu anımsatacak bir kelime biliyorsunuz, bu durumda anımsatıcı kelkimeyi yum search kelime seklinde yazarsanız o kelime ile ilgili tüm paketler listelenecektir ve siz bunların arasından işinize yarayan paketi kurabileceksiniz.

 

# yum search hack

 

Repository dag already added, not adding again

Searching Packages:

Setting up Repo:  dag

repomd.xml                100% |=========================|  951 B    00:00

Setting up Repo:  base

repomd.xml                100% |=========================| 1.1 kB    00:00

Setting up Repo:  updates-released

repomd.xml                100% |=========================|  951 B    00:00

Reading repository metadata in from local files

dag       : ################################################## 1476/1476

base      : ################################################## 2622/2622

updates-re: ################################################## 405/405

 

sulk.i386                                0.29-3.1.fc3.rf        dag

Matched from:

Sulk, the hackable Space Hulk

 

 

snes9x.i386                              1.43-0.1.fc3.rf        dag

Matched from:

Snes9x is a portable, freeware Super Nintendo Entertainment System (SNES)

emulator. It basically allows you to play most games designed for the SNES

and Super Famicom Nintendo game systems on your PC or Workstation.

 

Snes9x is the result of well over six years worth of part-time hacking,

coding, recoding, debugging, etc. Snes9x is coded in C++, with three assembler

CPU emulation cores on the i386 Linux, DOS and Windows ports.

 

 

radeontool.i386                          1.5-1.1.fc3.rf         dag

Matched from:

radeontool is a hack to save some battery on an ATI Radeon Mobility

graphics chip. Radeontool can turn off and on the backlight and

external video output. Radeontool requires lspci.

 

 

redir.i386                               2.2.1-1.1.fc3.rf       dag

Matched from:

http://sammy.net/~sammy/hacks/

 

 

hackedbox.i386                           0.8.4-2.1.fc3.rf       dag

Matched from:

hackedbox

Hackedbox is a stripped down version of Blackbox - The X11 Window Manager.

The toolbar and Slit have been removed. The goal of Hackedbox is to be a

small "feature-set" window manager, with no bloat. There are no plans to

add any functionality, only bugfixes and speed enhancements whenever possible.

http://scrudgeware.org/projects/Hackedbox

 

 

 

Kendisi ayrı bir paket olmayan fakat başka bir paket altında gözüken paketlerin bulunması

 

Bazende bir uygulamayı kurmaya çalışırken system sizden bir paketin eksik olduğunu ve öncelikle o paketi kurmanız gerektiğini söyler, mesela a paketini kutmak istediğinizde system libc6.1-1.so.2 paketinin kurulu olmasını istediğini belirtiyor.

 

Sizde hemen bu paketi araştırıyorsunuz ve bu isimle bir paket olmadığını görüyorsunuz bu durumda yapabileceğiniz tek şey google’a başvurmak ve uzun aramalar sonucu belki sonuca ulaşabilmek.. İşte yum buna kesin bir çözüm getirerek sorguladığınız paketin hangi ana paket adı altında dağıtıldığını söyler, tabii bunu yapabilmesi için bu paketin sizing yapılandırma dosyasında belirttiğiniz depolardan birinde bulunması gereklidir.

 

Örnek olarak libc6.1-1.so.2 paketini vermiştik yine bu paket üzerinden gidelim, bu paketin(libc6.1-1.so.2) hangi paket adı altında dağıtıldığını öğrenebilmek için aşağıdaki komutu vermemiz yeterlidir.

 

 

# yum provides libc6.1-1.so.2

 

Gathering header information file(s) from server(s)

Server: Fedora Core 1 - i386 - Base

Server: Fedora Core 1 - i386 - Released Updates

Finding updated packages

Downloading needed headers

Looking in available packages for a providing package

No packages found

Looking in installed packages for a providing package

Installed package: compat-libstdc++.i386 0:7.3-2.96.118 matches with

 libstdc++-libc6.1-1.so.2

Installed package: compat-libstdc++.i386 0:7.3-2.96.118 matches with

 libstdc++-libc6.1-1.so.2(GCC.INTERNAL)

2 results returned

 

 

Ve bu bağımlılıktan kurtulmak için

 

#yum install compat-libstdc++

 

komutu ile paketi sisteme kurmuş oluruz.

 

 

 

Kullanabileceğini güvenilir paket depoları(repository)

 

Yum için internet üzerinde kullanabileceğiniz birçok paket deposu bulabilirsiniz bunlarda bazıları kısa ömürlü bazıları uzun ömürlü olabilir, bazıları yavaş bazıları hızlı olabilir. Fedora Core 3 için kullanabileceğiniz ek paketler için aşağıdaki depo(repository) adreslerini kullanabilirsiniz.

 

Kullanımda tüm depoları aktif etmek yerine sadece paketi kurarken hangi depoları arayacağını bildirmek daha mantıklı geliyor , diğer türlü bir paketi kurmak istediğinizde yum varsayılan olarak tüm depoları araştırıp ilkinden indirme işlemine başlıyor, bu arada geçen zamanı azaltmak istiyorsanız bu depo adreslerini yapılandırma dosyasında disable edip paketi kurarken parametre olarak verebilirsiniz. Bu kadar teori yeter diyip uygulamaya geçelim.

 

 

 Paket kurulumunda sorun çıkaran “NOKEY warning” hatalarından kurtulmak

 

Fedora 3 de herhangi bir rpmi kurmaya kalkıştığınızdaNOKEY warning from RPM benzeri hatalar alıyorsanız root olarak aşağıdaki ilk komutu(red hat olan )veriniz. Eger yum vs kullanarak diğer sitelerden program kuruyorsanız kurduğunuz depoya t key'i de sisteminize yüklemeniz lazım. Aşağıda bazı popüler  depolar ve GPG keylerinin nasıl yükleneceği yazıyor.

#rpm --import /usr/share/doc/fedora-release-3/RPM-GPG-KEY*

#rpm --import http://www.fedora.us/FEDORA-GPG-KEY

#rpm --import http://rpm.livna.org/RPM-LIVNA-GPG-KEY

#rpm --import http://freshrpms.net/packages/RPM-GPG-KEY.txt

#rpm --import http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt

#rpm --import http://atrpms.net/RPM-GPG-KEY.atrpms

#rpm --import http://newrpms.sunsite.dk/gpg-pubkey-newrpms.txt

#rpm --import http://apt.sw.be/dries/RPM-GPG-KEY.dries.txt

#rpm --import http://www.jpackage.org/jpackage.asc

 

Ekleyeceğimiz depo adresleri aşağıda teker teker uygulanmıştır.

#cd /etc/yum.repos.d

#vi freshrpms.repo


[freshrpms]
name=FreshRPMS-Fresh
baseurl=http://ayo.freshrpms.net/fedora/linux/$releasever/$basearch/freshrpms
enabled=0
gpgcheck=0



#vi fedora-us.repo


[fedora-us]
name=fedora.us
baseurl=http://download.fedora.us/fedora/fedora/$releasever/$basearch/RPMS.extras/
enabled=0
gpgcheck=0



#vi livna-stable.repo

 


[livna-stable]
name=Livna Stable
baseurl=http://rpm.livna.org/fedora/3/i386/RPMS.stable/
enabled=0
gpgcheck=0



#vi livna-testing.repo

 


[livna-testing]
name=Livna Testing
baseurl=http://rpm.livna.org/fedora/3/i386/RPMS.testing/
enabled=0
gpgcheck=0



#vi livna-unstable.repo

 

 

 

[livna-unstable]
name=Livna Unstable
baseurl=http://rpm.livna.org/fedora/3/i386/RPMS.unstable
enabled=0
gpgcheck=0



#vi dag.repo

 


[dag]
name=Dag
baseurl=http://apt.sw.be/fedora/$releasever/en/$basearch/dag/
enabled=0
gpgcheck=0



#vi dries.repo

 


[dries]
name=Extra Fedora rpms dries - $releasever - $basearch
baseurl=http://apt.sw.be/dries/fedora/linux/$releasever/$basearch/dries/RPMS/
enabled=0
gpgcheck=0



#vi newsrpms.repo

 

 

[newsrpms]
name=Fedora Core 3 NewRPMS.sunsite.dk
baseurl=http://newrpms.sunsite.dk/apt/redhat/en/i386/fc3
enabled=0
gpgcheck=0



#vi atrpms-good.repo

 


[atrpms-good]
name=ATrpms for Fedora Core $releasever good
baseurl=http://apt.atrpms.net/fedora/$releasever/en/$basearch/at-good
enabled=0
gpgcheck=0



#vi atrpms-stable.repo

 


[atrpms-stable]
name=ATrpms for Fedora Core $releasever stable
baseurl=http://apt.atrpms.net/fedora/$releasever/en/$basearch/at-stable
enabled=0
gpgcheck=0



#vi atrpms-testing.repo

 


[atrpms-testing]
name=ATrpms for Fedora Core $releasever testing
baseurl=http://apt.atrpms.net/fedora/$releasever/en/$basearch/at-testing
enabled=0
gpgcheck=0



#vi atrpms-bleeding.repo

 


[atrpms-bleeding]
name=ATrpms for Fedora Core $releasever bleeding
baseurl=http://apt.atrpms.net/fedora/$releasever/en/$basearch/at-bleeding
enabled=0
gpgcheck=0



şimdide sadece freshrpms/dag/dries/newsrpms depolarını aktif ederek diğerlerini disable durumda bırakarak xmms-mp3 paketini kurmayı deneyelim.

 


yum --enablerepo=freshrpms --enablerepo=dag --enablerepo=dries  --enablerepo=newsrpms install xmms-mp3

 


Setting up Install Process

[pulled info to save space]

Dependencies Resolved
Transaction Listing:
  Install: xmms-mp3.i386 1:1.2.10-9.1.1.fc3.fr

Performing the following to resolve dependencies:
  Install: xmms.i386 1:1.2.10-9.1.1.fc3.fr
Is this ok [y/N]:

 

 

 

 

 

Is this ok [y/N]: y

[pulled info to save space]

Installed: xmms-mp3.i386 1:1.2.10-9.1.1.fc3.fr
Dependency Installed: xmms.i386 1:1.2.10-9.1.1.fc3.fr
Complete!

 

 

 

 

Red Hat arafından resmi destek verilmeyen dağıtımlar için güncelleme

 

Red Hat bir süre önce artık Red Hat 7,8,9 serisi sistemleri için desteğini bitireceğini anons etmişti ve bitirdi de artık Red hat serisi işletim sistemleri için red hat firması resmi destek, güncelleme hizmeti vermiyor. Buna Fedora da dahil  Fedora'nin Red Hat tarafından belirlenen kurallarına göre FC3(test surumu) çıktığı zaman FC1 in resmi desteği bitecekti ve bir süre önce(20 Eylül 2004) bitti, şu aşamada Fedora Linux 1 kullanıcıları sistemlerini redhat'in sitesinden ve bu siteden mirror alan yerlerden güncelleme yapamıyorlar.

Red Hat'in bu dağıtımlara desteğini kesmesi ile birlikte FedoraLegacy projesi güncelleme görevini devaraldı, yalnız burada belirtmek gerekirki FedoraLegacy projesi tüm Linux dağıtımları için güncelleme hizmeti sunmuyor ve herhangi bir resmi kimliği yok!, detaylı bilgiyi http://fedoralegacy.org/ adresinde bulabilirsiniz. Fedora Core Linux 1 dağıtımınızı güncelleyebilmek için http://fedoralegacy.org/download/fedoralegacy-mirrors.php adresinden yum destekli(yum? sütununun yes olması gerekiyor) bir sunucuyu secerek bunu aşağıdaki yaptığımız şekilde yum.conf dosyasından değiştiriniz

root haklarına erişin (su -)
 # rpm -Uvh http://download.fedoralegacy.org/fedora/1/updates/i386/gnupg-1.2.3-2.i386.rpm


yumV2 i kurmak için

# rpm -ivh http://download.fedoralegacy.org/fedora/1/updates/i386/yum-2.0.5-1.noarch.rpm


komutu gereklidir.
eski /etc/yum.conf dosyanızı

#cp /etc/yum.con /etc/yedek_yum.conf


olarak kaydedin ve yeni bir /etc/yum.conf dosyası oluşturarak aşağıdaki satırları bu dosyaya ekleyin.
----

# See the yum.conf(5) man page for information the syntax of this file,
# including failover setup.

[main]
cachedir=/var/cache/yum
debuglevel=2
logfile=/var/log/yum.log
pkgpolicy=newest
distroverpkg=redhat-release
tolerant=1
exactarch=1
exclude=kernel*

[base]
name=Fedora Core $releasever - Base
baseurl=http://download.fedoralegacy.org/fedora/$releasever/os/$basearch

[updates]
name=Fedora Core $releasever updates
baseurl=http://download.fedoralegacy.org/fedora/$releasever/updates/$basearch

[legacy-utils]
name=Fedora Legacy utilities for Fedora Core $releasever

baseurl=http://download.fedoralegacy.org/fedora/$releasever/legacy-utils/$basearch


sonra yum update komutu ile sisteminizi güncelleyebilirsiniz.


 

 

 

Ek Bilgi: Herhangi bir paketi ve hangi depoda yer aldığını aramak için http://www.fedoratracker.org/ adresini kullanabilirsiniz(yaklaşık 28321 adet paket içeriyor)

 

Ek Bilgi: Red hat’in desteğini çektiği ve artık resmi elden güncellemesi çıkmayan dağıtımlar için (Red hat X.X serisi) http://www.fedoralegacy.org/ adresini ve site içerisinde yer alan yansı listelerini yum ile kullanabilirsiniz.

 

 

Kaynaklar;

 

 

 

   Huzeyfe ÖNAL

   huzeyfe@enderunix.org