RSS Logo Background

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

  • Written by adminadmin No Comments Comments
    Last Updated: Temmuz 15th, 2008

    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;

Advertisement

Leave a Comment


Hosting