CSUF LogoCSUF Site Navigation
optics.csufresno.edu

F9 Setup for Installing Applications Repositories & Updates

Department of Electrical and Computer Engineering
Assistant Professor Gregory R. Kriehn
Forums
Wiki
F9 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.

Additional repositories besides the default fedora-updates.repo repository can easily be setup. However, it is important to note that life is not all peachy keen in Repositoryland. Stanton Finley does a wonderful job in providing a special warning about the mixing of incompatible repositories — so much so, that I am going to quote him here:

We will be using the program applications Yum and Yumex described below as methods to obtain software and to update your Fedora Core installation. You will be configuring these programs by adding repositories which are groups of software created by third party packagers that we use in addition to original ... Fedora Extras repositories that come standard with your new installation.

As you continue please keep the following in mind: You should not use the livna.org repository in conjunction with the dag/freshrpms/dries/newrpms (RPMforge) collection of rpms in your configuration files for automatic updates. Use one group or the other but not both. These two groups are mutually incompatible and can cause errors in your installation if used together for automatic updates. Regardless of which group you choose you should also avoid using the ATrpms repository in your yum or apt configuration files for these reasons. Some additional information can be found here.

With this being said please note that it is nonetheless possible to obtain single RPM packaged applications from incompatible third party repositories in cases where such packages do not create errors when installed with yum. More specifically it is possible to configure other repositories with their enable flags set to "0" (off) so that the yum "--enablerepo" command must be used when one of those packages is desired...

Unfortunately, the difficulty with having to constantly perform some hand holding between the RPMforge collection of repositories and the
livna repository was enough to eventually drive Stanton off to Ubuntu. I can understand his frustration. livna provides packages to provide some key functionality for Fedora (an excellent NVidia driver, read-write NTFS support, a wrapper script to enable troublesome wireless cards by making use of the appropriate Windows driver, etc.), but the repository maintainers are too stubborn to develop a system that would resolve potential conflicts between the two groups. Up through Fedora Core 6, I subscribed to the RPMForge set of repositories (as did Stanton), only dipping into livna to get the aforementioned packages. However, as of Fedora 7, I have switched over to livna, simply because I found myself more interested in what livna offers opposed to the RPMForge alliance. Throughout my time using Fedora 7, I had no problems with livna, and I love their naming convention. They use .lvn9 in all of their packages, making it extremely easy to tell what has been installed onto your system:
~> rpm -qa | grep lvn9
There are four repositories that we will setup:  adobe, google, livna, and my own (kriehn). (If you would rather install the repositories from the RPMForge alliance (freshrpms, dries, etc.), see my Fedora Core 6 Respositories page as a basis for your setup.) adobe will provide a flash plugin, google will provide Google Picasa and Google Desktop, livna will provide packages relating to multimedia software, and kriehn will provide packages for some other tools (ivtools, xv, xosview, etc.). 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.

Note:  See below for reasons why macromedia and didier will no longer be used.

adobe

The flash download page for adobe is found at:

http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash

Installation of the repository file adobe-linux-i386.repo to /etc/yum.repos.d/ can be performed by installing the .rpm file under the Option 3: YUM section. Click on the appropriate "download .rpm file" link and install the 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=1
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 livna against the GPG key, and the location of the key itself.

adobe is now ready for use.

google


The google repository home page is found at:

http://www.google.com/linuxrepositories/index.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:
[google]
name=Google - i386
baseurl=http://dl.google.com/linux/rpm/stable/i386
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.

livna

The livna homepage is found at:

http://rpm.livna.org/rlowiki/

Installation of the repository file livna.repo to /etc/yum.repos.d/ can be performed by once again installing the appropriate .rpm file. Simply click on the "livna-release-9.rpm" link from the website to download it. Once finished, type:
~> sudo rpm -vhi ~/Download/livna-release-9.rpm
In this case, the .rpm file also copies the livna General Public Key (GPG key) to /etc/pki/rpm-gpg/RPM-GPG-KEY-livna but does not import it. To import the key, type:
~> sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-livna
The system is now ready fetch rpm packages from livna using yum. To verify this, take a look at the /etc/yum.repos.d/livna.repo file that was just created. You should see something similar to the following:
[livna]
name=Livna for Fedora Core $releasever - $basearch - Base
baseurl=
        http://rpm.livna.org/fedora/$releasever/$basearch/
        http://livna.cat.pdx.edu/fedora/$releasever/$basearch/
        http://wftp.tu-chemnitz.de/pub/linux/livna/fedora/$releasever/$basearch/
        http://ftp-stud.fht-esslingen.de/pub/Mirrors/rpm.livna.org/fedora/$rele$
        http://mirror.atrpms.net/livna/fedora/$releasever/$basearch/
        ftp://mirrors.tummy.com/pub/rpm.livna.org/fedora/$releasever/$basearch/
failovermethod=priority
#mirrorlist=http://rpm.livna.org/mirrorlist-8
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-livna
Notice that the file contains a mirrorlist, the location of the General Public Key, whether or not rpm should check downloaded packages from livna against the key, 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 livna install [package name]
livna 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-f9-repo-1.0-1.fc9.prof_k.noarch.rpm" link from the website to download it. Once finished, type:
~> sudo rpm -vhi ~/Download/kriehn-f9-repo-1.0-1.fc9.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.



But what about...

...macromedia?
The macromedia repository used to host the RPM and yum/apt repositories for the Adobe Flash Player. Because Adobe has taken over the job, macromedia is going to be shut down in the near future.  For additional information, see:

http://macromedia.mplug.org/site_uh.html

...didier?
The didier repository used to host RPMs for the
Enlightenment Windows Manager DR17 (also known as E17). Didier Casse and I have become friends over the years, and I recently received the following e-mail from him:

I have to admit that I'm fading into retirement. :( Because of my current job, I can't keep up with the repo anymore. Being postdoc in an active and dynamic group doesn't leave you much time for anything else. ...I'll pass the torch.

Before you jump down his back, please note that being in Graduate School and/or being a Post Doc is typically one of the busiest times in your life. I do not blame him for his decision, even though I am saddened by his departure.

Because of his decision to pass the torch, I am considering hosting RPM packages for E17 on my repository. I will update this page once I have reached a decision.

A Final Note about using Repositories


In closing, I would like to quote Stanton Finley once again (having cleaned up his grammar), since he provides some useful information if you are having trouble with a particular repository. I also mentioned something similar at the bottom of the yum page.

You can temporarily disable a troublesome repository with a command such as "yum -y update --disablerepo macromedia" [using sudo]. This is especially useful if you get the message "No more mirrors to try..." which occurs occasionally when the mirrors are very busy or down. To clean your repository data and get a fresh list of updates, do a "yum clean all", followed by a "yum -y update" [using sudo]. Please see the official Fedora Core 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 they 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.