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 and 8 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: the CentOS-Plus kernel (a rebuilt kernel with patches and additional drivers/features), postfix with postgresql support (the distro version only enables mysql).
CentOS-Fasttrack - FastTrack was an upstream program to release some updates on a cycle that was different from the normal point release cycle. This was deprecated upstream for the 6.9 and 7.3 release cycles upstream article. We are now using this repo as a method for releasing community based fixes for packages that will replace actual upstream content. This repository is completely optional and what goes in it will be decided by the CentOS QA Team. We are currently working on a mechanism to receive patches via git to add to this repo. We will have discussions about this repo in the #centos-devel channel on Libera.chat irc and the CentOS-Devel mailing list.
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. Having said that, it may be something you do want since it often contains security fixes from the newer point release that have been built but not yet released. The content of this repo is exactly what will be made publicly available when the ISO images have been built and tested. The idea is to provide sysadmins with the content of the new point release to use on running servers without needing to wait the extra week or two for the ISO images to be made available.
kernel - Alternative arches are not always able to use kernels from Red Hat (armhfp specifically). This repository contains the kernels built for such arches (LTS from kernel.org) and is maintained by the Altarch SIG. Since these kernels can also be useful for non-armhfp users, they are built for some other arches too. Enabled by default in armhfp, disabled on all the other arches.
experimental - Just as kernel repo, but newer, like a playground of what the kernel will be on the next minor release, sometimes there is no newer LTS, so it just stays empty until a new version is released. This repository is also maintained by the Altarch SIG. Disabled by default.
Software Collections - The SCL repository is now maintained by a CentOS SIG and thus is not strictly a CentOS repo. It contains newer versions of various programs that can be installed alongside existing older packages and invoked by using the scl command. It is installed by using yum --enablerepo=extras install centos-release-scl . At the time of writing, the repository contains packages for devtoolset 3, 4 and 6 (no idea what happened to devtoolset-5), a couple of newer git versions, httpd24 (2.4.18), newer mariadb versions, maven30 and 33, several mongodb versions, several mysql versions, nginx versions, nodejs010, some newer perl versions, php versions up to 7.0, postgresql92 and 95, several python versions, eclipse46 andLine various ruby versions. Many of these are also supplied by other repos as drop-in replacements for the distro versions and you may want to review a (relatively) unbiased comparison of how SCL differs from those other repositories here
PowerTools - Available only for CentOS8, the PowerTools repository provides most of the developer tools. Disabled by default.
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 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 --enablerepo=extras install epel-release. The epel-release package is included in the CentOS Extras repository that is enabled by default. Support available on Libera.chat in #epel, on mailing lists, and its issue tracker. If you are willing to help test EPEL updates before they are pushed to stable, you can enable the epel-testing repository on your development/testing servers. Enabling epel-testing on production systems is not a good idea.
EPEL Next - (See https://fedoraproject.org/wiki/EPEL_Next) additional repositories that allows package maintainers to build against CentOS Stream instead of RHEL. This is sometimes necessary when CentOS Stream contains an upcoming RHEL library rebase, or if an EPEL package has a minimum version build requirement that is already in CentOS Stream but not yet in RHEL. EPEL Next has its own distgit branches, koji build targets, and bodhi releases.
EPEL Playground - (See https://hackmd.io/@ssmoogen/B1p2QM-eS) additional repository for EPEL-8. It is meant to be sort of like Fedora Rawhide so that packagers can work on versions of software which are too fast moving or will have large API changes from what they are putting in the regular channel. Consumers should be aware that packages in EPEL8-playground are there without any Service Level Expectations. You may want to only cherry pick packages from there as needed, although many of the packages from EPEL-Playground end being promoted to EPEL proper.
The Community Enterprise Linux Repository (ELRepo) - (See http://elrepo.org/) focuses on kmod driver packages to enhance hardware support in EL6, EL7, and EL8 (including display, filesystem, hwmon, network, and storage 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 Libera.chat in #elrepo, on mailing lists for ELRepo users and ELRepo development and its issue tracker.
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. This repo is for CentOS 6 only. May replace base packages if the "backports" repo is enabled. A repo config is available at: http://pkgrepo.linuxtech.net/el6/release/linuxtech.repo . As of May 2nd 2018 when last checked, the main repo had no packages that had been updated in 2016 or 2017 and only two packages from the testing repo where updated after 2015 so care should be taken with this one as you may be using packages with known security vulnerabilities. Do not attempt to use this repo on CentOS 7, it will not work.
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. There is no nux-dextop repo for CentOS 8 and you should not attempt to use the CentOS 7 version on CentOS 8. If you need multimedia packages on CentOS 8 then start by looking at rpmfusion instead. Existing nux-dextop users may wish to consider migrating to rpmfusion. [Note added in 2022: this repo is retired]
IUS Repo - (See https://ius.io/ - 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. There is also a relatively unbiased comparison of the use of IUS vs SCL here
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. Again, this is not for use on CentOS 7.
GhettoForge - (see http://GhettoForge.org/) provides packages not in other third party repositories or newer versions of packages for EL7. 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 Libera.chat IRC for assistance
Psychotic Ninja - (see http://wiki.psychotic.ninja/index.php) is a provider of packages for Red Hat Enterprise Linux and respins such as CentOS Linux , Scientific Linux, Springdale, Oracle Linux and similar projects. The goal is to provide high quality packages for Enterprise Linux releases 7 that are not presently in the base EL package sets nor in other third-party repositories.
RPM Fusion Repository - (See http://rpmfusion.org/) provides "software that the Fedora Project or Red Hat doesn't want to ship" for EL and Fedora. Supported architectures are x86_64, aarch64 and ppc64le. The repository relies on EPEL for some dependencies. The policy is to not replace RHEL and EPEL packages. Mailing list for RPM Fusion users: https://lists.rpmfusion.org. Reports bugs to https://bugzilla.rpmfusion.org
Harbottle - (See https://gitlab.com/harbottle/harbottle-main) A yum repo of RPM files containing various packages not available in the standard repos. The packages are suitable for CentOS 7 and CentOS 8 (and RHEL, Oracle Linux, etc.). Also includes individual repositories for extra Perl modules, extra Python modules, extra Ruby Gems, Omnibus packages and Wine 32 bit packages.
The SerNet Samba Repository - (See http://www.sernet.de/en/samba/) German site with updated samba packages for Centos 7 and 6, along with numerous other packages. Some users have reported success with these packages but caution is advised. Be aware that only samba versions up to 4.2 are free, more recent versions require an annual subscription to access.
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.
Remi Repository - (See http://rpms.remirepo.net/) Remi Collet maintains a large collection of RPMS, including latest versions of PHP etc. He's also got an FAQ at http://blog.remirepo.net/pages/English-FAQ . Note that this is a collection of repos, and using the -safe series will ensure that nothing from the base CentOS Linux distro is overwritten or replaced. However, be aware that this repo does not play nicely with other third party repos - for example, Remi's packages contain Obsoletes: lines for packages from both IUS and Webtatic repos and thus will automatically replace them with the .remi version. This may not be the desired behaviour and you should be careful with enabling this repo for that reason.
ZFS On Linux - (See http://www.zfsonlinux.org/) The ZFS on Linux project is an implementation of OpenZFS designed to work in a Linux environment. Though highly sophisticated and popular this filesystem receives no testing or support by RedHat/CentOS, as with all other 3rd party repos use at your own risk.
Linux Forensics Tools Repository - LiFTeR - (See https://forensics.cert.org/) The CERT Linux Forensics Tools Repository provides many useful packages for cyber forensics acquisition and analysis practitioners. It also includes many of the useful packages that were provided in the past by the now obsolete RPMForge and RepoForge repositories.
0.2. 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 https://www.atomicorp.com/channels/) 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.<class="lmtxt orange" style="padding:0pt;text-align:left;">
|
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. |
City-Fan - Supplies repos for various CentOS/RHEL versions and all appear to have no regard for overwriting packages from base/updates without warning. Enabled by default, contains lots of packages that overwrite base packages. That includes various system libraries including libcurl and will break yum as soon as it's installed! Do not use.
|
Be particularly careful about the City-Fan repo as they enable their repo by default when installed. City-Fan will replace many core packages as configured when installed and those packages often have a different structure than the CentOS ones making them difficult if not impossible to remove cleanly. Even removing packages installed from this repository may leave the system in an unusable state. You've been warned. |
Jason Litka - Utter Ramblings Repository - No longer appears to be maintained.
RPMForge/RepoForge - This is a dead project. Not maintained. DO NOT USE.
Webtatic Repo - Provides updated packages with later versions of PHP, MySQL, and other packages. IUS or SCL are better alternatives.
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.