IUS vs. Software Collections¶
Software Collections give you power to build, install, and use multiple versions of software on the same system, without affecting system-wide installed packages.
Here is our mission statement for the IUS Community project:
IUS is a community project that provides RPM packages for newer versions of select software for Enterprise Linux distributions.
Both projects seek to solve the same problem, but differ greatly in execution.
Types of Packages¶
- IUS provides Safe Replacement Packages and Parallel Installable Packages.
- SCL provides a unique kind of Parallel Installable Packages.
- Files from IUS packages are installed to similar locations as stock packages,
/var, and so on.
- Files from SCL packages are installed under
- Usage of IUS packages are the same or very close to stock packages.
php -v service mysqld start mysql -V python2.7 -V
- Usage of SCL packages are very different from stock packages.
scl enable php54 "php -v" service mysql55-mysqld start scl enable mysql55 "mysql -V" scl enable python27 "python -V"
IUS packages are updated in line with the upstream software project. This means that once upstream releases a new version of the corresponding release branch, we will begin building RPMs as soon as possible. It also means that once software is declared "End of Life" (EOL) by the upstream project, we remove it from our stable repositories.
The Product Life Cycle for Red Hat Software Collections (RHSCL) states that "Production Collections" are supported with security updates for three years. Major updates are grouped together and released as a new collection.
Q. On EL5 I see multiple packages that seem to be related to MySQL 5.5, such as mysql55, mysql55-server, and mysql55-mysql-server. What is the difference?
A. The IUS package for MySQL 5.5 is named mysql55, and it has several
subpackages that follow the pattern mysql55-component (mysql55-server,
mysql55-libs, etc). While RHSCL is not available for RHEL 5, Red Hat did add
their mysql55 SCL to the EL5 base channel. This is a problem because the main
SCL metapackage is also named mysql55. The SCL subpackages follow the pattern
mysql55-mysql-component (mysql55-mysql-server, mysql55-mysql-libs, etc). We
evaluated renaming our mysql55 package to mysql55u to avoid the name conflict
with the SCL metapackage, but we were not able to find a solution that provided
seamless upgrades. While our current understanding is that the SCL metapackage
is optional, it is still an unfortunate conflict with no clear solution. The
safest approach to handle this is to add the line
exclude=mysql55* to the
configuration of the repository you do not want to use. Please refer to the
RHEL 5 MySQL 5.5 migration guide for more information.