- 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
Livna is my personal favourite repo because it's fast, compatible with Fedora (Extras) and contains almost everything you'll need to get started:
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/5/freshrpms-release/\
freshrpms-release-1.1-1.fc.noarch.rpm
rpm -ihv freshrpms-release-1.1-1.fc.noarch.rpm
rm -f freshrpms-release-1.1-1.fc.noarch.rpm
exit
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 Core 5 - 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.