Repositories

RPMforge

Instructions found on this web page indicated the following procedure for installing RPMforge on CentOS 5:

Steps to setting up RPMforge
  1. Get the repository rpm.

    wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
  2. Import key.

    sudo rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
  3. Check package with key. (Obviously this is somewhat optional.)

    rpm -K rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
  4. Install this package.

    sudo rpm -ivh rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
  5. Enjoy!

    sudo yum install xpdf hg asciidoc

EPEL - Extra Packages for Enterprise Linux

Note
I’m a thinking that for CentOS this repo is not especially necessary or useful if you’re going to use the rpmforge one. Best to leave it out of the plan if you can.

Just discovered that the R statistics package has a more complete installation from EPEL than the RPMForge. To get it working I copied this into /etc/yum.repos.d/epel.repo:

[epel]
name=Extra Packages for Enterprise Linux 5 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/5/$basearch
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=epel-5&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL

[epel-debuginfo]
name=Extra Packages for Enterprise Linux 5 - $basearch - Debug
#baseurl=http://download.fedoraproject.org/pub/epel/5/$basearch/debug
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=epel-debug-5&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL
gpgcheck=1

[epel-source]
name=Extra Packages for Enterprise Linux 5 - $basearch - Source
#baseurl=http://download.fedoraproject.org/pub/epel/5/SRPMS
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=epel-source-5&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL
gpgcheck=1

Then you have to create a /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL or it won’t believe in the validity of the repository. I did this with a command like this:

sudo wget -O /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL https://fedoraproject.org/static/217521F6.txt

Keep in mind that this actually didn’t go so great since it broke R. This repo is sketchy. Ended up yum erase R R-devel and then reinstalling it with the epel repo active and then it worked. Sometimes that’s how it goes.

I tried to install a fix for a network driver module that became non functional because of an update, but the fix didn’t work.

Google

Looks like Chrome works on CentOS 6! This is how to take advantage of it.

First create a file called /etc/yum.repos.d/google.repo containing the following:

[google64]
name=Google - x86_64
baseurl=http://dl.google.com/linux/rpm/stable/x86_64
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub

Once that’s in place install like normal:

yum install google-chrome-stable

Adobe

Instructions found on Adobe’s site describe how to get the Adobe repository installed. If you don’t already have it, search for it if Adobe’s site doesn’t make it obvious. If you have it already (check ~/src), just install it:

sudo rpm -ivh adobe-release-i386-1.0-1.noarch.rpm

Then you can start using it with something like this:

sudo yum install flash-plugin

Here’s another Adobe favorite (untested):

sudo yum install AdobeReader_enu

Put this in /etc/yum.repos.d/CentOS-Base.repo:

Where SECTION is "{updates,os,addons,extras,centosplus,contrib,}"

Java

Getting Java plugins to work in a browser can be annoying. I found that for Firefox, the following package works:

sudo yum install -y icedtea-web

This depends on something like: java-1.6.0-openjdk-1.6.0.0-1.43.1.10.6.el6_2.x86_64 This is the Java that’s normally found on CentOS 6.

Here’s a resource to troubleshoot Java browsing nonsense.

CentOS 6

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
cd /tmp
wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
rpm -ivh rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm

rpm --import https://fedoraproject.org/static/0608B895.txt
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-5.noarch.rpm
rpm -ivh epel-release-6-5.noarch.rpm

yum install yum-priorities

Edit /etc/yum.repos.d/epel.repo…

vi /etc/yum.repos.d/epel.repo
  1. and add the line priority=10 to the [epel] section:

[epel]
name=Extra Packages for Enterprise Linux 6 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
failovermethod=priority
enabled=1
priority=10
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
[...]

Then we update our existing packages on the system:

yum update

Configuration

The priority system determines which package will be used in case two systems have the same one. It is configured by editing /etc/yum/pluginconf.d/priorities.conf.

It should include this:

[main]
enabled = 1

Also /etc/yum.repos.d/CentOS-Base.repo should be edited to include this sort of thing:

[base]
priority=1
[updates]
priority=1
[addons]
priority=1
[extras]
priority=1
[centosplus]
priority=2
[contrib]
priority=2

Troubleshooting

When it hangs on "Setting up repositories" Try rpm --rebuilddb. Or maybe rpm --initdb.

Almost out of disk space?

# yum clean all

And then this to sneak in an update with limited space:

# yum check-update | sed -n "4,\$p" | awk '{print $1}' | xargs -n 1 yum -y update

I had it yum updates die with this error:

GPG key retrieval failed: [Errno 5] OSError: [Errno 2] No such
file or directory: '/etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL'

This was from a failed attempt to install EPEL and the cure was simply:

sudo rm  /etc/yum.repos.d/epel*

Does yum fail to update the "filesystem" package? This is probably because you are mounting /home over NFS and it wants to touch this directory to make sure it’s there and root squash issues prevents that. My solution was something like this:

sudo umount -l /home; sudo yum -y update; sudo mount /home

Of course if it’s a busy system with a lot of user action, this could be messy.