SCL
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
Homepage: http://softwarecollections.org
Suchmaschine über verfügbare SCL-Pakete: https://www.softwarecollections.org/en/scls
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 2024-11-18