CSUF LogoCSUF Site Navigation
optics.csufresno.edu

F12 Setup for Installing Applications Repositories & Updates

Department of Electrical and Computer Engineering
Associate Professor Gregory R. Kriehn
Forums
Wiki
F12 Repositories & Updates

As mentioned in the web page discussing yum, updates can be readily performed with the following command:
~> sudo yum update
But what happens when a particular package or dependency cannot be found? Enter the Repository. By setting up additional repositories besides the default fedora-updates.repo repository, additional third-party software packages not included within the default Fedora installation can be easily installed using yum or yumex. This is especially useful for installing free software that may have questionable patent concerns as well as non-free software that has publicly available source code but is encumbered with "no commercial use" type restrictions.

For many years, life was unfortunately not all peachy keen in Fedora's Repositoryland. There were two groups of mutually incompatible repositories
Livna and RPMforge (which included Dag, Freshrpms, Dries, and Newrpms) — that caused severe errors in a Fedora installation if they were used together for automatic updates. Worse still, both repositories conflicted with ATrpms for a number of reasons, and both package maintainers were too stubborn to develop a system that would resolve potential conflicts between the two groups... ...until now.

With the official launch of RPM Fusion in November 2008, the following repositories have finally decided to merge:

Dribble
Freshrpms
Livna

This means that the conflicts between
Livna and Freshrpms, the two most popular Fedora repositories, have finally been resolved (I still would not mix RPM Fusion with ATrpms, however). I cannot describe how useful this alliance is, and how long I have been waiting for something like this to occur.

There are four repositories that we will setup:  adobe, google, rpmfusion, and my own (kriehn). adobe will provide a flash plugin, google will provide Google Picasa and Google Desktop, rpmfusion will provide packages relating to multimedia software, and kriehn will provide packages for some miscellaneous tools and the Enlightenment windows manager. It is important to setup the repositories now, since the rest of the HOWTO pages are almost entirely dependent upon them to one degree or another.

Adobe

NOTE:  As of right now, Adobe does not support a repository for 64-bit Linux. We will install the i386 repository file, but we are going to have to be selective in terms what is installed from Adobe's repository. The 32-bit flash plugin does not work on an x86_64 system (but they have a separate alpha release), but Adobe Acrobat Reader does. Should Adobe start offering a 64-bit Linux repository, this page will be updated to reflect those changes.

The flash download page for adobe is found at:

http://get.adobe.com/flashplayer/

In the scroll down menu, choose YUM for Linux, and click on the Agree and Install now button. This will download the adobe-release-i386-1.0-1.noarch.rpm file. Installation of the repository file adobe-linux-i386.repo to /etc/yum.repos.d/ can be performed by installing the .rpm file:
~> sudo rpm -vhi ~/Download/adobe-release-i386-1.0-1.noarch.rpm
In this case, the .rpm file also copies the adobe General Public Key (GPG key) to /etc/pki/rpm-gpg/RPM-GPG-KEY-adobe-linux but does not import it. To import the key, type:
~> sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-adobe-linux
The system is now ready to fetch rpm packages from adobe using yum. To verify this, take a look at the /etc/yum.repos.d/adobe-linux-i386.repo file that was just created. You should see something similar to the following:
[adobe-linux-i386]
name=Adobe Systems Incorporated
baseurl=http://linuxdownload.adobe.com/linux/i386/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-adobe-linux
Notice that the file contains the URL where the packages are located, whether or not the repository should be enabled, whether rpm should check downloaded packages from adobe against the GPG key, and the location of the key itself.

adobe is now ready for use (kind of).

Google


The google repository home page is found at:

http://www.google.com/linuxrepositories/rpm.html

To setup the repository, the GPG key must first be imported. Download the file, which is located at https://dl-ssl.google.com/linux/linux_signing_key.pub. Then move it to /etc/pki/rpm-gpg, and change the ownership of the file to root:
~> sudo mv ~/Download/linux_signing_key.pub /etc/pki/rpm-gpg/RPM-GPG-KEY-google
~> sudo chown root.root /etc/pki/rpm-gpg/RPM-GPG-KEY-google
Notice that I have changed the name of the file slightly. Next, import the key:
~> sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-google
Then setup the repository file by creating a /etc/yum.repos.d/google.repo file with the following information:
[google64]
name=Google - x86_64
baseurl=http://dl.google.com/linux/rpm/stable/x86_64
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-google
Once finished, save and exit. google is now ready for use.

RPM Fusion

The rpmfusion homepage is found at:

http://rpmfusion.org/

There are two .repo files that we will need to setup.  One is for "free" Open Source software that has questionable patent encumbrances  (rpmfusion-free.repo), and one is for "nonfree" software that has  public source-code available, but contains "no commercial use" type restrictions (rpmfusion-nonfree.repo).

Installation of the repository files to /etc/yum.repos.d/ can be performed by installing the appropriate .rpm file. Click on the "Configuration" link from the website, followed by the first "RPM Fusion free for Fedora 10, 11, and 12" link to download the rpmfusion-free RPM file.  Then click on the  "RPM Fusion nonfree for Fedora 10, 11, and 12" link to download the rpmfusion-nonfree RPM file. Once finished, type:
~> sudo rpm -vhi ~/Download/rpmfusion-free-release-stable.noarch.rpm
~> sudo rpm -vhi ~/Download/rpmfusion-nonfree-release-stable.noarch.rpm
In this case, the .rpm files also copy the General Public Keys (GPG keys) to /etc/pki/rpm-gpg/RPM-GPG-KEY-*, but they do not import them. To import the keys, type:
~> sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-12-x86_64
~> sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-nonfree-fedora-12-x86_64
The system is now ready fetch rpm packages from rpmfusion using yum. To verify this, take a look at the /etc/yum.repos.d/rpmfusion-free.repo and /etc/yum.repos.d/rpmfusion-nonfree.repo files that were just created. You should see something similar to the following:
[rpmfusion-free]
name=RPM Fusion for Fedora $releasever - Free
#baseurl=http://download1.rpmfusion.org/free/fedora/releases/$releasever/Everyth
ing/$basearch/os/
mirrorlist=http://mirrors.rpmfusion.org/mirrorlist?repo=free-fedora-$releasever&
arch=$basearch
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-$releasever-$basearch
[rpmfusion-nonfree]
name=RPM Fusion for Fedora $releasever - Nonfree
#baseurl=http://download1.rpmfusion.org/nonfree/fedora/releases/$releasever/Ever
ything/$basearch/os/
mirrorlist=http://mirrors.rpmfusion.org/mirrorlist?repo=nonfree-fedora-$releasev
er&arch=$basearch
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-nonfree-fedora-$releasever-$basearch
Notice that the files contain a mirrorlist, the location of the General Public Keys, whether or not rpm should check downloaded packages from rpmfusion against the keys, and whether or not the repository should be enabled. Once finished, exit.

For whatever reason, if you wish to disable the repository by default, you can change the enabled=1 line to enabled=0. The repository can then be used to install/upgrade very specific packages by using the command:
~> sudo yum --enablerepo rpmfusion-free install [package name]
~> sudo yum --enablerepo rpmfusion-nonfree install [package name]
rpmfusion is now ready for use.

Kriehn

The kriehn repository is found at:

http://optics.csufresno.edu/~kriehn/fedora/repository.html

First, download the signed GPG Key (RPM-GPG-KEY-kriehn) and 
copy it to the /etc/pki/rpm-gpg directory:
~> sudo cp ~/Download/RPM-GPG-KEY-kriehn /etc/pki/rpm-gpg/.
Then import the key:
~> sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-kriehn
Installation of the repository file kriehn.repo to /etc/yum.repos.d/ can be performed by installing the appropriate .rpm file. Click on the "kriehn-f12-repo-1.0-1.fc12.prof_k.noarch.rpm" link from the website to download it. Once finished, type:
~> sudo rpm -vhi ~/Download/kriehn-f12-repo-1.0-1.fc12.prof_k.noarch.rpm
The system is now ready fetch rpm packages from kriehn using yum. To verify this, take a look at the /etc/yum.repos.d/kriehn.repo file that was just created. You should see something similar to the following:
[kriehn]
name=Professor Kriehn's Repository for Feodra $releasever - $basearch
baseurl=http://optics.csufresno.edu/fedora/$releasever/$basearch/RPMS/
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-kriehn

[kriehn-source]
name=Professor Kriehn's Source Repository for Fedora $releasever - $basearch
baseurl=http://optics.csufresno.edu/fedora/$releasever/$basearch/SRPMS/
failovermethod=priority
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-kriehn
Notice that the file contains options for both RPM packages as well as source RPMs. Installation of the source RPMs are disabled by default. If you want to install them, change the enabled=0 option to enabled=1 under [kriehn-source].

kriehn is now ready for use.

A Final Note about using Repositories


You can temporarily disable a troublesome repository with a command such as:
~> sudo yum -y update --disablerepo adobe
This is especially useful if you get the message "No more mirrors to try...", which occurs occasionally when the mirrors are down or very busy.  To clean your repository data and get a fresh list of updates, do a:
~> sudo yum clean all
followed by a:
~> sudo yum -y update
Please see the official Fedora Yum guide at

http://fedora.redhat.com/docs/yum/

for more details about yum and its configuration.

Tip:  Some users have reported better success with yum updates if they edit the repository files in the /etc/yum.repos.d directory and remove the comment mark "#" from the beginning of the "baseurl=" lines, especially if you are getting "Error: Cannot find a valid baseurl for repo:" errors.

Aside from that, installing most applications will now be a snap, especially with all of the repositories setup in advance.