• 4 min read
  • There are many third party RPM repositores available for Fedora and/or RedHat based repos such as Livna, FreshRPMs, Dries (RPMForge) and Dribble. Soon many of these will merge into one repo called RPMFusion, but until then this guide will show you how to install these third party repos without giving you headaches.

    Before we start...

    Q: What in the world is a repository?
    A:
    A repository (often called a 'repo') in terms of Yum (Yellow dog Updater, Modified) is a location which Yum can use to download packages from. Fedora offers Core and Extras as the official repositories, however many third-party repos are available that allow for the installation of various codecs such as mp3/DVD/WMV playback or for packages that are not allowed to be packaged in the Core and Extras due to legal reasons.

     

    Q: I can't install anything! I'm getting transaction errors like this:

    error: can't create transaction lock on /var/lib/rpm/__db.000

     A: This is because to install packages, you have to become the root user which is the only user which should have access to your package database. To do so, run this command before you start any of the commands below:

    su -

    (That's su followed by a space and a dash)
    You'll only need to execute this command once before anything mentioned below, as you will stay as root until you close the terminal or type the exit command.

     

    Livna

    Installing Livna is one command:

     

    Dribble

    The beauty of the Dribble repo is that one command will work for all Fedora versions. Make sure you have livna installed and run:

    rpm -ivh http://dribble.org.uk/repo/dribble-release-5-3.noarch.rpm

     

    FreshRPMs

    To install FreshRPMs, run:

    wget http://ftp.freshrpms.net/pub/freshrpms/fedora/linux/7/freshrpms-release/\
    freshrpms-release-1.1-1.fc.noarch.rpm

    rpm -Uhv freshrpms-release-1.1-1.fc.noarch.rpm
    rm -f freshrpms-release-1.1-1.fc.noarch.rpm

     

    RPMForge (Dries)

    Currently there is no release RPM for Dries (RPMForge) and as a result it must be manually configured. Below is a generic configuration that should work, however if it doesn't work properly, please see the Dries configuration page for more information. Place a the following contents into the /etc/yum.repos.d/rpmforge.repo file:

    # Name: RPMforge RPM Repository for Fedora Core $releasever - $basearch
    # URL: http://rpmforge.net/
    [rpmforge]
    name = Fedora 7 - i386 - RPMForge - Dries
    baseurl = http://apt.sw.be/dries/fedora/fc$releasever/$basearch/dries/RPMS
    enabled = 1
    #gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dries
    gpgcheck = 0

    Common Questions

    Concerning repos and Fedora development

    If you are using rawhide (aka Fedora Development), follow the instructions like normal and if a specific version is required as in the case of Livna, use the latest version possible. To enable the development repo, look in the /etc/yum.repos.d folder and you should find name.repo file and a name-devel.repo file. Edit the name.repo file and change:

    enabled=1 

    to:

    enabled=0

    Now, in the name-devel.repo file, change:

    enabled=0

     to:

    enabled=1

    This will disable the regular repository and enable the development repository so that the packages are compatible with the Fedora's development repository(ies).

     

     A note of warning

    Please remember that until RpmFusion is completed, repositories such as FreshRPMs and ATRPMs have packages that conflict with packages from Livna and/or Fedora Core|Extras. If you would like to avoid these conflicts, it is recommended that you set the incompatible repos to the disabled state. Just as shown above, simply edit the respective .repo file and change

    enabled=1

    to

    enabled=0 

    Refer to the table below to find the location of the various .repo files:

    Name of repository
    Location of .repo file
    FreshRPMs/etc/yum.repos.d/freshrpms.repo
    ATrpms/etc/yum.repos.d/atrpms.repo
    RPMForge (Dries)/etc/yum.repos.d/rpmforge.repo 
    Dribble/etc/yum.repos.d/dribble.repo
    Livna /etc/yum.repos.d/livna.repo

     

     

     

     

     

     

    Q: I would like to use a repo, but you recommended I disable it - What's the point!?
    A:
    Even if a repository is disabled, this does not mean Yum cannot use it - You can temporairily enable a repository by using the --enablerepo=name option with Yum or in Yumex by selecting the repositories for the run. For example:

    yum --enablerepo=freshrpms install package_from_freshrpms

    Will temporarily enable freshrpms and install package_from_freshrpms. Once yum has finished it's work, the FreshRPMs repo returns to it's normal disabled state.