Available Repositories for CentOS
There are several repositories provided by CentOS and other 3rd party developers that offer software packages that are not included in the default base and updates repositories. While no list can be 100% complete, as anyone may announce an archive, it represents some major efforts and provides a summary of what each repository offers. These repositories have varying levels of stability, support and cooperation within the CentOS community.
1. About 'enabled' and 'disabled' repository configuration files
Please read man 5 yum.conf, particularly the discussion of enabled=0 versus enabled=1 . A line containing one of these options is recommended for each repository in each .conf file in the /etc/yum.repos.d/ directory. This allows the administrator to more clearly specify whether a repository is or is not used for packages. After any edits of these files, in order to clear any cached information, and to make sure the changes are immediately recognized, as root run:
# yum clean all
2. Additional CentOS Provided Repositories
CentOS Extras - In CentOS 5 and 6, packages that provide additional functionality to CentOS without breaking upstream compatibility or updating base components, but are not tested by upstream or available in the upstream product. In CentOS 7 this is an upstream repository, as well as additional CentOS packages. The CentOS development team have tested every item in this repository and they all work with CentOS. This repository is shipped with CentOS and is enabled by default.
CentOSPlus - Packages that actually replace certain base CentOS components, to provide additional functionality. This repo will change CentOS so that it is not exactly like the upstream provider's content. The CentOS development team have tested every item in this repository and they all work with CentOS. They have not been tested by the upstream provider and are not available in the upstream products. This repository is shipped with CentOS but is not enabled by default. Popular packages from this repository include: a CentOS 5 postfix with mysql and postgresql database support, the CentOS-Plus kernel (a rebuilt kernel with patches and additional drivers/features), and a CentOS 6 kernel with Xen support.
CentOS-Testing - Testing for packages on their way to CentOSPlus and CentOS Extras. They may or may not replace core CentOS packages and are not guaranteed to function properly. These packages install but are waiting for feedback from testers as to their functionality and stability. Packages in this repository will come and go during the development period, so it should not be left enabled or used on production systems. This repository is intentionally not shipped with CentOS by default, although the repository config files can be found at: CentOS 5: http://dev.centos.org/centos/5/CentOS-Testing.repo CentOS 6: http://dev.centos.org/centos/6/testing/CentOS-Testing.repo Not available for 7 at this time.
CentOS-Fasttrack - Bugfix and enhancement updates are issued from time to time between update sets that may be rolled into the next update set by the upstream provider. See this Readme file for more details. The repository config files are available here: CentOS-5, CentOS-6 and CentOS-7.
debuginfo - Packages with debugging symbols generated when the primary packages were built. No repo config is provided by default. Tools like oprofile, crash, and systemtap require debuginfo packages. Note that debuginfo packages may not be signed so must be installed with "--nogpgcheck" or using "gpgcheck=0" in the repo definition. These packages are found at http://debuginfo.centos.org/
CR - The Continuous Release repository contains packages for the next point release of CentOS. This repository only has content in the time period between an upstream release and the official CentOS release. It should be considered beta quality, and is not recommended for production servers.
Software Collections - The SCL repository contains newer versions of various programs. These packages can be installed alongside existing older packages. At the time of writing, the repository contains packages for mariadb55, mysql55, nodejs010, perl516, php54, postgres92, python27, python33 and ruby193. Note that at the time of this writing there are problems replicating the upstream SCL 1.1 packages, and using https://www.softwarecollections.org/ is advised.
Third Party Repositories
|
WARNING: These repositories are not provided nor supported by CentOS. The CentOS project has no control over these sites. Many have their own mailing lists, IRC channels, issue trackers, etc. for support issues with their packages. |
|
|
NOTE: If you are considering using a 3rd Party Repository, then you should seriously consider how to prevent unintended 'updates' from these side archives from over-writing some core part of CentOS. One approach is to only enable these archives from time to time, and generally leave them disabled. See: man yum |
|
|
Another approach is to use the exclude= and includepkgs= options on a per sub-archive basis, in the matching .conf file found in /etc/yum.repos.d/ See: man yum.conf |
|
|
The yum Priorities plug-in can prevent a 3rd party repository from replacing base packages, or prevent base/updates from replacing a 3rd party package. |
0.1. Community Approved Repositories
These repositories are frequently recommended by the community, are usually well maintained, and provide a substantial number of additional packages to CentOS. They are still not associated with CentOS, but are independent. The above warnings about updates and priorities should still be heeded!
Extra Packages for Enterprise Linux (EPEL) - (See http://fedoraproject.org/wiki/EPEL) provides rebuilds of Fedora packages for EL5, EL6 and EL7. Packages should not replace base, although there have been issues around point releases in the past. You can install EPEL by running yum install epel-release. The epel-release package is included in the CentOS Extras repository that is enabled by default. Support available on Freenode in #epel, on mailing lists, and its issue tracker.
The Community Enterprise Linux Repository (ELRepo) - (See http://elrepo.org/) focuses on kmod driver packages to enhance hardware support in EL5, EL6, and EL7 (including display, filesystem, hwmon, network, sound, webcam drivers). Newer kernels are also available. Follow the ELRepo Home Page to install the elrepo-release package and import the GPG key. Please see the site for additional details. Support available on Freenode in #elrepo, on mailing lists for ELRepo users and ELRepo development and its issue tracker.
IUS Community Repo - (See http://iuscommunity.org/ - http://lists.centos.org/pipermail/centos-docs/2009-November/003730.html ) provides the "latest upstream versions of PHP, Python, MySQL". It is sponsored by internal work at Rackspace (but officially unsupported).' See their Client Usage Guide to install the ius-release package to configure the repo. See their FAQ which frankly discusses pros and cons.
0.2. Other Third Party Repositories
These repositories are of varying quality. They may be recommended for particular packages, or more broadly, but some may overwrite base packages. Order listed should not be considered an indication of approval. It's alphabetical.
agr-free - (see http://rpm.agresearch.co.nz/) provides bioinformatics software for EL6 distributions, x86_64 architecture only. It is managed by AgResearch, New Zealand and contains a large selection of bioinformatics packages & dependencies, as used by scientists at AgResearch. It is designed to be used in combination with the EPEL repository. Full details can be found on the home page.
ATrpms - (See http://atrpms.net/) provides many bleeding-edge applications and media utilities such as myth-tv. Mailing list for atrpms users.
GhettoForge - (see http://GhettoForge.org/) provides packages not in other third party repositories or newer versions of packages for EL5 and 6. Packages that overwrite base should only be in the [gf-plus] repository. Please see the usage section of the GhettoForge wiki for information on how to maintain sanity when using the gf-plus packages. Join #ghettoforge on freenode IRC for assistance
LinuxTECH.NET Repositories - (see http://pkgrepo.linuxtech.net/el6/ ) provides Audio / Video related packages with an emphasis on wide support of codecs and as many optional features enabled as possible in all packages. Some additional packages as well. May replace base packages if the "backports" repo is enabled. A repo config is available at: http://pkgrepo.linuxtech.net/el6/release/linuxtech.repo .
nux-dextop - (see http://li.nux.ro/repos.html) provides desktop and multimedia oriented packages for EL6 and 7. It contains a lot of graphical programs such as Ardour, but also text based apps like Cone. Requires EPEL and should not overwrite base.
RPMfusion Repository - (See http://rpmfusion.org/) provides "software that the Fedora Project or Red Hat doesn't want to ship" for EL5 and 6. Known to replace base packages. Mailing list for RPMfusion users.
The SerNet Samba Repository - (See http://www.sernet.de/en/samba/) German site with updated samba 3 and 4 packages for Centos 5 and 6, along with numerous other packages. Some users have reported success with these packages but caution is advised.
Trinity Desktop Environment (TDE) - (see http://www.TrinityDesktop.org/about.php ) provides EL5, 6, and 7 packages for a KDE 3.5 style desktop environment. EL5, 6, and 7 yum repositories are available. They have their own support resources to which any Trinity questions should be directed.
0.3. Known Problem Repositories
These repositories are known to cause issues due to large scale of replacement of base packages with little or no warning. Use extreme caution if you choose to use these repositories, and consider using an alternative above.
Atomic Repo - (See http://www.atomicorp.com/downloads.html) Atomicorp has commercial products as well as free repositories with later version of PHP, MySQL and many other packages. Some additional packages that may not be available elsewhere include hunspell, snort, and zabbix. They also provide Plesk. Repository definitions are available in atomic-release packages.
|
Be particularly careful about the Atomic repo as they enable their repo by default when installed, and overwrite user changes in the configuration without notice when the release package is updated. Atomic will replace many core packages as configured when installed. Many CentOS users have had problems after enabling this repo, as a forum search will reveal. Even removing packages installed from this repository may leave the system in an unusable state. You've been warned. |
Jason Litka - Utter Ramblings Repository - (See http://www.jasonlitka.com/yum-repository/) Updated web stack and other applications for EL5 that will replace core packages. Includes apr, apr-util, freetds, httpd, libmcrypt, mhash, mod_evasive, mod_perl, mod_python, mod_security, mysql, mysqlclient10, mysqlclient14, pcre, perl-BSD-Resource, php, php-apc, php-eaccelerator, php-memcache, php-pear, php-xcache, subversion, tidy. Suggest caution if using this repo due to replacement of core packages.
Les RPM de Remi repository - (See http://rpms.famillecollet.com/) Remi Collet maintains latest version of MySQL and PHP (backports of fedora RPM). Suggest caution if using this repo due to replacement of core packages.
RPMForge/!RepoForge - Although once recommended, this repository is no longer maintained, and is not advised.
An example of what NOT to do
|
WARNING: Do NOT do this. |
A person asked in the IRC channel about some external third-party 'yum' additional repository instructions. It is a bad idea to follow some external documents. A couple of examples of incorrect repo configs:
- Use of hard-coded version and architecture: 'baseurl=http: //ftp.belnet.be/packages/dries.ulyssis.org/redhat/el4/en/i386/dries/RPMS' This hard codes both for '$releasever' and '$basearch'. Compare this, to the more proper: 'baseurl=http: //apt.sw.be/redhat/el$releasever/en/$basearch/dag'. The 'hard coded' approach limits it to only be 'correct' for CentOS 4 on an i386 platform.
- Mixing Fedora repositories with CentOS oriented repositories: Look for 'name=Fedora', vs. 'name=CentOS.(whatever)'. Fedora repositories are not likely to be compatible with CentOS. Repositories for other Enterprise Linux distros derived from the same upstream sources are more likely to be compatible, but should still be used with care.
- Using the wrong version of a repository for your version of CentOS! When installing a repo, please make sure it is for the proper version, otherwise unexpected behavior will occur.
Please do NOT follow such examples. Use a critical eye and some thought to see what is proposed before adding to (and possibly breaking) your system's 'yum' configuration.