**
* 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.
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