SCL

Siehe auch

SCL stammt aus dem CentOS-Projekt und steht für „Software CoLlections“. SCL ermöglicht es, mehrere Versionen einer Software auf einem System zu bauen, zu installieren und zu verwenden, ohne systemweit installierte Pakete zu tangieren. Die einzelnen Software-Versionen werden je „Collection“ genannt und sind per Namens-Präfix zu einer Gruppe von RPM-Dateien zusammengefasst. Über das Kommando scl enable <collection-name> bash wird die virtuelle Umgebung für das gewünschte Paket gestartet.

SCL sollte dann verwendet werden, wenn man beispielsweise PHP 5.4 und PHP 7.2 auf einer Maschine parallel fahren und jederzeit umschalten möchte. Kann darauf verzichtet werden, wählt man die Installation aus einem Repo, welches in dem Fall PHP systemweit ersetzt.

Die enthaltenen Pakete sind (inzwischen) recht aktuell; zusätzlich gibt es einige Software-Kollektionen als Docker Formatted Container.

Stand 2020-09 stehen im SCL unter anderem Versionen folgender Softwarepakete zur Verfügung:

  • Apache httpd 2.4.34+

  • HAProxy 1.8

  • MariaDB 10.3

  • Maven 3.5

  • MongoDB 3.4

  • nginx 1.14

  • NodeJS 10

  • PHP 7.2

  • PostgreSQL 9.6

  • Python 3.6

Hinweis

Die Red Hat Software Collections bildeten das ab, was ab CentOS 8 das „Application Stream“-Repo ist.

Links

Installation und Konfiguration

Auf CentOS:

yum -y install centos-release-scl

Auf RHEL:

yum-config-manager --enable rhel-server-rhscl-7-rpms

Verwendung

Beispiel anhand von Python:

yum install rh-python36
# runs bash instance with rh-python36 Software Collections enabled
scl enable rh-python36 bash
python --version
exit
python --version

Beispiel für PHP 7.1:

yum install rh-php71 rh-php71-php-devel
scl enable rh-php71 bash
php my-app.php

Anschauen, was SCL für Python liefert:

yum list rh-python36\*

Built on 2022-06-03