Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/03135.jsonl.gz/1843

Repositories für CentOS 7: EPEL, IUS, Atomicorp, SCL und Remi¶
Wie das EPEL-Repository auf CentOS 7 oder RHEL 7 installiert wird, wissen die meisten. Aber welche anerkannten Repos gibt es noch? Was bieten diese? Wie bezieht man Software aus dem passenden Repo? Wie ersetzt man eine Basis-Software durch eine aus einem anderen Repository?
Erweiterter Umgang mit yum¶
Welche Repos sind lokal aktiv?
yum repolist
Umgang mit parallel installierten Repos
So schränkt man die Suche auf ein bestimmtes Repository ein:
yum --disablerepo="*" --enablerepo="epel" list yum --disablerepo="*" --enablerepo="epel" list installed yum --disablerepo="*" --enablerepo="epel" list available yum --disablerepo="*" --enablerepo="epel" list httpd
So installiert man nur aus einem bestimmten Repository:
yum --disablerepo="*" --enablerepo="centos-sclo-rh" install rh-php70
yum-config-manager installieren
yum -y install yum-utils
Upgrade installierter Versionen
Wer beispielsweise einen installierten Dovecot 2.2.10 (egal aus welchem Repo) durch eine neuere Version aus einem anderen Repository ersetzen will, muss dessen neuen alternativen Namen kennen und führt das hier aus:
dovecot -v yum swap dovecot dovecot22u dovecot -v
base, extras, updates¶
Das sind die bei CentOS 7 standardmässig aktivierten
Software-Repositories.
extras bietet Pakete, die nützlich sein
können, aber für den Betrieb nicht unbedingt erforderlich sind.
CentOS 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
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\*
Atomic / Atomicorp¶
Atomicorp ist der Lieferant des kostenpflichtigen „Atomic Secured Linux“ (ASL). Darüber hinaus stellen sie für Fedora, RHEL, CentOS, Amazon Linux, OpenSUSE, Debian, Ubuntu und Kali einige Pakete in dem hier vorgestellten Repo kostenlos zur Verfügung. Das Repository ist unter anderem für die Installation von OpenVAS oder OSSEC hilfreich.
wget -q -O - https://www.atomicorp.com/installers/atomic | sh
EPEL¶
Das von der Fedora-Community gepflegte „Extra Packages for Enterprise Linux“ (EPEL) ist mit Abstand eines der bekanntesten Software-Repos. Es erweitert RHEL, CentOS und Scientific Linux in den Versionen 4 bis 8 um viele dort nicht als Pakete lieferbare Anwendungen und Treiber. Aber Achtung: nicht jedes Paket wird für jedes Major-Release gepflegt - so gibt es durchaus Pakete, die beispielsweise nur für CentOS 7 verfügbar sind, wie Cinnamon.
Seit September 2014 ist das
epel-release-Paket direkt im „CentOS Extras“ Repository integriert und daher unter CentOS einfach per Yum installierbar.
EPEL liefert unter anderem Pakete für bekannte Software-Grössen wie Ceph, Drupal, Mono, Nagios, OpenVPN, Puppet, R oder Wine. Red Hat gibt auf aus dem EPEL-Repository installierte Pakete keine Garantie oder Support.
Auf der RepoView-Seite für EPEL lässt sich erkunden, welche Pakete verfügbar sind und wann sie aktualisiert wurden.
- Links
Die Installation des EPEL-Repos setzt ein aktiviertes CentOS Extras Repository voraus.
yum -y install epel-release
IUS¶
Das IUS Community Project stellt RPM-Pakete für neuere Versionen ausgewählter Software zur Verfügung. IUS bedeutet „Inline with Upstream Stable“. Es wird bevorzugt für die aktuellste Python3-Version verwendet, liefert aber auch dovecot, git, haproxy, httpd, MariaDB oder PHP in sehr aktuellen Versionen.
IUS bietet „Safe Replacement Packages“ und „Parallel Installable Packages“.
yum -y install https://centos7.iuscommunity.org/ius-release.rpm
Ist ein Paket wie beispielsweise Redis aus dem Standard- oder EPEL-Repository installiert, muss es vorher deinstalliert werden. Danach:
yum -y install redis30u
Remi¶
Remi richtet sich an alle, die einen modernen PHP-Stack benötigen. Es liefert alle aktuellen PHP-Versionen (5.6, 7+, 8+) und die dazu notwendigen Module und Tools.
Achtung: Remi verwendet die gleichen Paketnamen wie die offiziellen Repos - das kann zur Verwirrung führen, besonders, wenn im Standard-Repo PHP-Module verfügbar sind, für eine neuere PHP-Version aus dem Remi-Repo jedoch gar nicht oder nicht mehr.
Remi setzt das EPEL-Repository voraus.
yum -y install epel-release http://rpms.remirepo.net/enterprise/remi-release-7.rpm
Für eine genauere Konfiguration hilft der Wizard auf https://rpms.remirepo.net/wizard/.
Aufgrund der Namensgleichheit ist besondere Sorgfalt bei der Software-Installation empfohlen, d.h. man arbeitet mit
yum-config-manager, um die passenden Repos ein- und unpassende auszuschalten. Am Beispiel der Installation von PHP:
yum-config-manager --enable remi-php70 yum -y install php
Wer von PHP 7.0 auf 5.6 downgraden möchte:
yum remove php yum-config-manager --disable remi-php70 yum-config-manager --enable remi-php56 yum -y install php
Hersteller-Repos¶
Immer öfters bieten die Projekte eigene Repos an, wie beispielsweise Elasticsearch, Graylog, Icinga2, MariaDB oder MongoDB, aus denen die neueste Software frisch und direkt vom Hersteller bezogen werden kann.