CentOS is the Linux server distribution of choice for many businesses and hosting companies. It’s a stable and powerful operating system, but one of the perennial annoyances for CentOS system administrators is the limited selection of packages in the official repositories.
Fortunately, there are a large number of semi-official and community repositories that were created to solve exactly this problem. These repositories tend to be specialized and serve different functions — some change parts of the core CentOS installation, some just add extra applications, and some provide access to more up-to-date software than is available in the official repos.
While adding new repositories is a useful way of customizing your installation and avoiding the hassle of compiling applications and their dependencies (and their dependencies ad nauseum), some care should be taken to exercise discretion when it comes to picking repos to add. Be careful you don’t add repos that will leave your installation in an inconsistent state; it’s generally best to avoid repos that will alter the core applications that come with CentOS because it can lead to clashes when you run updates from the upstream CentOS servers.
Repositories You Might Want To Add
Extra Packages for Enterprise Linux is a repository that curates a set of applications that are useful for enterprise servers. The packages it contains are based on packages from Fedora, the free distribution that servers as a testing ground for RHEL. Among the packages EPEL provides are sysadmin must-haves like Puppet and Nagios, and a range of networking tools.
RepoForge used to be known as RPMForge and is a repository of over 5000 packages for Red Hat type distros. Some of them aren’t very useful for servers, like the media applications, but there are a lot of up-to-date development tools and libraries as well.
We’ll use EPEL as an example of how to add a repository to your installation. EPEL provides an RPM that will do most of the work for you.
Head on over to the EPEL site and find the package that is suitable for your version of CentOS. You can download it with your browser or grab it with wget:
Then, install it with RPM:
rpm -Uvh epel-release-6-8.noarch.rpm
Replace the package name with the one you downloaded. You’ll see a warning about the key, which you can ignore. Next update your yum index:
And you’re good to go.
There is a list of available extra repositories on the CentOS site, but the third-party repos it lists are very out of date, so stick the CentOS provided repos like CentOSPlus. These are, for the most part, already included in CentOS repo files, and to activate them all you need to do is edit those files. The CentOS site has full instructions on installing CentOS-provided additional repos.
What are your must-have repos? Any particular repos you think should come bundled with InterWorx?