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

Salı, Temmuz 15, 2008 20:55
Posted in category linux

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 :P roxy 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.

  • Red Hat:

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

  • fedora.us:

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

  • rpm.livna.org:

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

  • FreshRPMs:

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

  • DAG:

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

  • ATrpms:

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

  • NewRPMs:

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

  • Dries:

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

  • JPackage:

#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;

You can leave a response, or trackback from your own site.

Leave a Reply