Repos
General Information
Installing extra software via 3rd party software repositories.
Checklist
- Distro(s): Enterprise Linux
EPEL
Extra Packages for Enterprise Linux is maintained by the Fedora project.
Official site: https://fedoraproject.org/wiki/EPEL
EPEL: Via Built in Package
EL 6 and 7
yum install epel-release
EPEL: Direct From Fedora
Install the RPM directly from Fedora.
EL 7
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
EL 6
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
ELRepo
A community project to create a repository for Enterprise Linux packages. It focuses on hardware related packages to include file system drivers, graphics drivers, network drivers, sound drivers, webcam, and video drivers.
Official Site: http://elrepo.org/tiki/tiki-index.php
ELRepo: Install
Import the GPG key
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
EL7
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
EL6
rpm -Uvh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm
Software Collections
Software Collections is a project to package newer versions of software that will not conflict with system packages.
Official Site: https://www.softwarecollections.org/en/
Software Collections: Add Repo
To add the software collections repo (available via “extras” repo)
- CentOS 6/7
yum install centos-release-scl
Software Collections: Install Software
- Browse the software collections library: https://www.softwarecollections.org/en/scls/
- Each collection will have instructions for how to install.
Example: Python 3.3
- Install
yum install python33
- System version
[root@server1 ~]# python --version Python 2.7.5
- SCL Version
[root@server1 ~]# scl enable python33 bash [root@server1 ~]# python --version Python 3.3.2
RPM Pbone
Find many different RPMs on: rpm.pbone.net
Oracle Public Repos
If you are supporting Oracle Linux, the official repos are here: http://public-yum.oracle.com/
Custom Repo
You can create a custom repository to serve up your own RPMs or a mirrored copy of a repo.
Custom Repo: Server
- Install Apache Web Server and Create Repo packages
yum install httpd createrepo
- Start and enable the web server
- EL 6
service httpd start chkconfig httpd on
- EL 7
systemctl start httpd systemctl enable httpd
- Create the directory structure
mkdir -p /var/www/html/repos/mycustom
- Copy your RPMs to the directory
rsync -avhP *.rpm /var/www/html/repos/mycustom/
- Create the repo data
createrepo -v /var/www/html/repos/mycustom
- For future package updates/additions, run the createrepo command with the “–update” option in order to only update metadata for packages that have changed
createrepo -v --update /var/www/html/repos/mycustom
Custom Repo: Clients
On clients that will use the repo:
- Create a repo file
vim /etc/yum.repos.d/mycustomrepo.repo [mycustomrepo] name=My Custom Repo baseurl=http://server2.example.com/repos/mycustom gpgcheck=0 enabled=1
- Cleanup yum
yum clean all
- List repos
yum repolist
- Install a package from the repo to test
yum install <package-name>