#pragma section-numbers 2
The Software Collections ( SCL ) Repository
Contents
Purpose
Enterprise Linux distributions are designed to be around for a long time. They are also designed to maintain ABI/API compatibility over the lifetime of the distribution, so that you can create your own custom programs on day 1 of the release and have them work as long as the distribution is supported. For CentOS that is currently 10 years. This means, however, that by the end of the lifetime of a distribution, the programming language or database versions (think php, python, perl or mysql, postgresql) included are getting very old compared to those that are available in "cutting edge" Linux distributions.
For many enterprise users, that is OK ... Think a major retailer who spent $10 Million to create an inventory solution using the default languages available and they want to leverage that solution securely for the entire 10 year lifespan to get a return on their programming investment. But many enterprises also want to be able to create software with newer programs as well. They want both stability AND newer software. They want it to work alongside the other system software so they can choose slow and steady or newer software for development.
Enter Software Collections, also known as SCLs. As an example, SCLs allow you to run the default python that comes with CentOS (so yum and other system tools in CentOS work), while also allowing a newer version of python to be installed alongside the default python for use creating and running software with newer requirements.
Gaining Access to SCLs
In order to gain access to SCLs for CentOS 6, you need to install the CentOS Linux Software Collections release file. It is part of the CentOS Extras repository (x86_64 only) and can be installed with this command:
yum install centos-release-SCL
Available Collections
Currently, the following collections are available for CentOS 6.5 and later (package name in parenthesis):
- Ruby 1.9.3 (ruby193)
- Python 2.7 (python27)
- Python 3.3 (python33)
- PHP 5.4 (php54)
- Perl 5.16.3 (perl516)
- Node.js 0.10 (nodejs010)
- MariaDB 5.5 (mariadb55)
- MySQL 5.5 (mysql55)
- PostgreSQL 9.2 (postgresql92)
Installing Software Collections
The following documentation explains the usage of Red Hat Software Collections:
The source code used in the upstream SCLs is rebuilt by the CentOS Project and the documentation on usage is similar between the CentOS SCLs and the upstream software, although any information about RHN, subscription management is not applicable ... see Gaining Access above for that.
Bugs for CentOS SCLs should be reported to CentOS Bugs and not the upstream bugzilla listed in the upstream documentation unless you also have the upstream SCL installed and can verify the bug exists in both collections.
Other technical steps in the upstream documentation should be applicable to CentOS software collections, like how to upgrade database versions or how to enable SCLs, etc.
You can use the Forums, Mailing Lists, or IRC Channels to get help with software collections.
