# CentOS

CentOS (Community Enterprise Operating System) ist eine Linux-Distribution, die auf Red Hat Enterprise Linux (RHEL) des Unternehmens Red Hat aufbaut. Die Distribution wird von einer offenen Gruppe von freiwilligen Entwicklern betreut, gepflegt und weiterentwickelt.
CentOS ist 2021 laut W$^3$Techs hinter Ubuntu und Debian die am dritthäufigsten verwendete Linux-Distribution für Web-Server.

## Hintergrund

Die kommerzielle Linux-Distribution RHEL kann nur im Zusammenhang mit Supportverträgen erworben werden. Die Firma Red Hat stellt aber alle Quellpakete von RHEL im Internet bereit, um die Anforderungen unterschiedlicher Lizenzen von in RHEL enthaltener freier Software zu erfüllen. Das ermöglicht es, eine zu RHEL binärkompatible Linux-Distribution zu entwickeln. Durch die Binärkompatibilität ermöglicht CentOS, Computer mit einer RHEL-kompatiblen Linux-Distribution zu nutzen, ohne einen Supportvertrag mit Red Hat abschließen zu müssen. Auch ergibt sich, neben finanziellen Ersparnissen, der Vorteil, dass alle Software, die für RHEL angeboten wird, auch direkt und ohne Einschränkungen unter CentOS genutzt werden kann.
Am 7. Januar 2014 gaben Red Hat und das CentOS-Projekt bekannt, dass man sich zusammenschließe. Red Hat stellte vier der CentOS-Entwickler ein, und ein neues „CentOS Governing Board“ – dem sowohl Mitarbeiter von Red Hat als auch Community-Mitglieder angehören – soll die zukünftige Entwicklung von CentOS führen.
Seit September 2019 wird zwischen CentOS Linux und CentOS Stream unterschieden. CentOS Stream stellt das Entwicklungsstadium der nächsten Unterversion von RHEL dar.
Im Dezember 2020 wurde CentOS 8 vorzeitig zum Ende des Jahres 2021 abgekündigt und Fokussierung auf CentOS Stream verkündet.
Red Hat kündigte am 21. Juni 2023 an, den Quellcode für RHEL nicht mehr frei im Web verfügbar zu machen. Lediglich RHEL 7 ist davon ausgenommen, dies wird allerdings nur noch bis 2024 unterstützt. Stattdessen werde man nur noch CentOS Stream als einzige öffentliche Quelle behalten. Zahlende Kunden, die RHEL zusammen mit einem Abonnement erworben haben, können über ihren Zugang weiterhin auf den Sourcecode zugreifen.

## Zweck von CentOS

Der Zweck von CentOS ist, eine vollständig zu Red Hat Enterprise Linux binärkompatible Linux-Distribution zur Verfügung zu stellen. Hinzu kommt eine angestrebte schnelle Reaktionszeit in Bezug auf das Bereitstellen von Updates und die Möglichkeit, zusätzlich Support zu CentOS zu erwerben.

### Enterprise-Betriebssystem

CentOS ist binärkompatibel zu RHEL und daher ebenfalls ein Enterprise-Betriebssystem, also ein Betriebssystem, das auf die Bedürfnisse großer Unternehmen und staatlicher Organisationen ausgerichtet ist. Als Enterprise-Betriebssystem ist es deshalb auf Stabilität und lange Wartungszyklen ausgelegt. Man kann CentOS bis zu zehn Jahre nutzen, ohne Pakete bzw. Softwareversionen migrieren zu müssen, weshalb es für den kommerziellen Einsatz geeignet ist. Für RHEL bieten große Softwarehäuser wie Oracle oder SAP Zertifikate an, die garantieren, dass deren Software auf RHEL problemlos funktioniert, was analog für große Hardwarehersteller gilt. Enterprise-Betriebssysteme findet man daher meist auf Workstations und Servern, wo ein extrem stabiler Betrieb verlangt wird, z. B. in der Wissenschaft und Forschung, an der Börse, beim Militär oder in der Raumfahrt. Im Gegensatz zu RHEL gibt es für CentOS von den meisten Software- und Hardwareherstellern weder Zertifikate noch Support. Aufgrund der Binärkompatibilität zu RHEL kann es aber oft von den Voraussetzungen, die für RHEL geschaffen werden, direkt profitieren.

## Unterstützte Architekturen

CentOS unterstützt nahezu alle Architekturen, für die auch Red Hat Enterprise Linux zur Verfügung steht.
In der neusten Version (7) werden folgende Architekturen uneingeschränkt unterstützt:
* x64 „x86_64“ (64-Bit-x86: sowohl AMD64 als auch Intel 64) und IA-32 „i386“ (32-Bit-x86) (ab CentOS 7.1-1503)
Die folgenden Architekturen werden von älteren CentOS-Versionen unterstützt:
* POWER und PowerPC (32-/64-Bit, u. a. Apple Power Mac, IBM iSeries und pSeries): nur CentOS 4.6 beta
* SPARC (32-/64-Bit): nur CentOS 4.6 beta
* Alpha (64-Bit): nur CentOS 4.6
* Itanium (IA-64; 64-Bit): CentOS 3.1 bis 4.6
* IBM Mainframe (32-/64-Bit, IBM S/390 und IBM zSeries): CentOS 3.1 bis 4.6
* x86 32-Bit (IA-32, i386-kompatibel): bis CentOS 5, erneut ab CentOS 7.1
Ein Live-CD-Image von CentOS ist auf der Homepage des Projekts verfügbar. Dieses Image kann auf eine CD-ROM gebrannt werden oder mit dem Befehl dd oder UNetbootin auf einen USB-Stick übertragen und danach gebootet werden.
Möglicherweise entstehen innerhalb des CentOS-Projekts sogenannte Special Interest Groups (SIG), die eine Portierung auf weitere Architekturen vornehmen werden. An einer i686-Variante von CentOS 7 wurde im Januar 2014 gearbeitet. Fertiggestellt und veröffentlicht wurde diese 32-Bit-Variante im Oktober 2015. Seit Dezember 2015 wird auch die Arm-Architektur unterstützt.

## Software-Management

Wie bei RHEL wird CentOS mit einem grafischen Installer mit dem Namen Anaconda installiert, der auch für Einsteiger leicht bedienbar ist. Bei der Softwareverwaltung setzt CentOS auf den Paketmanager RPM und die Software-Verwaltung yum. System-Komponenten sowie Anwendungen werden dabei online auf einem Repository-Server gesucht, von dort als RPM-Package heruntergeladen und installiert.

### Software-Repositories anderer Hersteller

Repositories anderer Hersteller verfolgen meist andere Ziele oder eine andere Lizenzpolitik als CentOS. Nennenswert sind hier Dag Wieers, RPM Fusion, RPMForge und atrpms. Die Quellen sind nicht immer zueinander kompatibel. Darüber hinaus stellen immer mehr Softwareprojekte und Firmen, wie das GStreamer-Projekt, Skype, Adobe Inc. und das Mono-Projekt, eigene Repositories zur Verfügung.

#### EPEL

EPEL (Extra Packages for Enterprise Linux) ist ein vom Fedora-Projekt gepflegtes Repository, das portierte Pakete bereitstellt, die in Fedora selbst enthalten sind, aber nicht in RHEL, CentOS oder Scientific Linux. Weil diese Enterprise-Distributionen auf der Basis von Fedora entwickelt werden, sind meist nur sehr kleine Anpassungen an den Paketen notwendig. EPEL erweitert somit die Enterprise-Distributionen um viele dort nicht enthaltene Anwendungen und Treiber. Da EPEL allein vom Einsatz der Community abhängt, gibt Red Hat oder das Fedora Projekt für EPEL-Pakete keine Garantien, Support oder Zertifizierungen, wie dies für Pakete im offiziellen RHEL-Repository üblich ist.

### Upstream-Updates

Normalerweise können Upstream-Updates immer sehr zeitnah (praktisch binnen Ein-Tages-Frist) zur Verfügung gestellt werden. Nur bei den etwa halbjährigen „Point-Releases“ von RHEL ist man einige Wochen (bisher schlimmstenfalls ein bis zwei Monate) davon abgeschnitten, da das Freiwilligen-Team von CentOS dann deutlich mehr zu tun hat. Während der Fertigstellung von CentOS 6.0 und 6.1 kam es zu einer sieben- respektive fünfmonatigen Verzögerung, weil sich das CentOS-Projekt zu jenem Zeitpunkt gerade neu organisierte.

### CentOS-Nachfolger

Seit dem Jahr 2019 existiert die Linux-Distribution „CentOS Stream“. Es handelt sich dabei um eine Art Beta-Version mit täglichen Updates („Rolling-Releases“), die aktueller als die entsprechende RHEL-Version ist. Somit gehen deren Änderungen in die nächsten Minor Releases von RHEL ein.
Zukünftig wird das CentOS-Projekt den Schwerpunkt auf CentOS Stream legen. CentOS 8 wird Ende 2021 auslaufen, CentOS 7 mit dem Ende des Lebenszyklus von RHEL 7. Benutzer, die CentOS 8 einsetzen, können auf CentOS 8 Stream umsteigen. Benutzern, die diese Version in einer Produktivumgebung einsetzen, wird angeraten, „Red Hat zu kontaktieren“. Damit ist das Ende von CentOS als freier Alternative zu RHEL eingeläutet. Statt auf CentOS Stream, kann auch auf AlmaLinux oder Rocky Linux umgestiegen werden. Diese sind die inoffiziellen Nachfolger von CentOS und bleiben binärkompatibel zu RHEL. Mögliche weitere Alternativen (neben RHEL) für den Betrieb auf Servern sind etwa Ubuntu und Oracle Linux.
CentOS-Gründer Gregory Kurtzer und weitere Mitglieder des Projektes sind für das Rocky-Linux-Projekt verantwortlich, welches auch weiterhin als freier Nachbau von RHEL dienen soll. Bereits 48 Stunden nach Ankündigung des Projektes erklärten sich über 650 potentielle Helfer bereit, Kurtzer bei der Entwicklung zu unterstützen.
Cloud Linux ist für den zweiten CentOS-Nachfolger verantwortlich. Dieser wurde am 30. März 2021 unter dem Namen AlmaLinux veröffentlicht.

## Versionen

| Version | RHEL-Version | Linux-Kernel-Version | Veröffentlichung | Unterstützung bis |
| Ältere Version; nicht mehr unterstützt: 2.0 | 2.1 AS | | 14. Mai 2000 | 31. Mai 2009 |
| Ältere Version; nicht mehr unterstützt: 3.0 | 3.0 | | Ende 2003 | 31. Okt. 2010 |
| Ältere Version; nicht mehr unterstützt: 3.9 | 3.9 | 2.4.21-50 | 28. Juli 2007 | 31. Okt. 2010 |
| Ältere Version; nicht mehr unterstützt: 4.0 | 4.0 | 2.6.9 | 1. März 2005 | 28. Feb. 2012 |
| Ältere Version; nicht mehr unterstützt: 4.6 | 4.6 | 2.6.9-67 | 16. Dez. 2007 | 28. Feb. 2012 |
| Ältere Version; nicht mehr unterstützt: 4.7 | 4.7 | 2.6.9-78 | 13. Sep. 2008 | 28. Feb. 2012 |
| Ältere Version; nicht mehr unterstützt: 4.8 | 4.8 | 2.6.9-89 | 22. Aug. 2009 | 28. Feb. 2012 |
| Ältere Version; nicht mehr unterstützt: 4.9 | 4.9 | 2.6.9-89 | 3. März 2011 | 28. Feb. 2012 |
| Ältere Version; nicht mehr unterstützt: 5.0 | 5.0 | 2.6.18-8 | 12. Apr. 2007 | 31. März 2017 |
| Ältere Version; nicht mehr unterstützt: 5.1 | 5.1 | 2.6.18-53 | 2. Dez. 2007 | 31. März 2017 |
| Ältere Version; nicht mehr unterstützt: 5.2 | 5.2 | 2.6.18-92 | 24. Juni 2008 | 31. März 2017 |
| Ältere Version; nicht mehr unterstützt: 5.3 | 5.3 | 2.6.18-128 | 1. Apr. 2009 | 31. März 2017 |
| Ältere Version; nicht mehr unterstützt: 5.4 | 5.4 | 2.6.18-164 | 21. Okt. 2009 | 31. März 2017 |
| Ältere Version; nicht mehr unterstützt: 5.5 | 5.5 | 2.6.18-194 | 14. Mai 2010 | 31. März 2017 |
| Ältere Version; nicht mehr unterstützt: 5.6 | 5.6 | 2.6.18-238 | 8. Apr. 2011 | 31. März 2017 |
| Ältere Version; nicht mehr unterstützt: 5.7 | 5.7 | 2.6.18-274 | 13. Sep. 2011 | 31. März 2017 |
| Ältere Version; nicht mehr unterstützt: 5.8 | 5.8 | 2.6.18-308 | 8. März 2012 | 31. März 2017 |
| Ältere Version; nicht mehr unterstützt: 5.9 | 5.9 | 2.6.18-348 | 17. Jan. 2013 | 31. März 2017 |
| Ältere Version; nicht mehr unterstützt: 5.10 | 5.10 | 2.6.18-371 | 22. Okt. 2013 | 31. März 2017 |
| Ältere Version; nicht mehr unterstützt: 5.11 | 5.11 | 2.6.18-398 | 30. Sep. 2014 | 31. März 2017 |
| Ältere Version; nicht mehr unterstützt: 6.0 | 6.0 | 2.6.32-71 | 10. Juli 2011 | 30. Nov. 2020 |
| Ältere Version; nicht mehr unterstützt: 6.1 | 6.1 | 2.6.32-131 | 9. Dez. 2011 | 30. Nov. 2020 |
| Ältere Version; nicht mehr unterstützt: 6.2 | 6.2 | 2.6.32-220 | 20. Dez. 2011 | 30. Nov. 2020 |
| Ältere Version; nicht mehr unterstützt: 6.3 | 6.3 | 2.6.32-279 | 9. Juli 2012 | 30. Nov. 2020 |
| Ältere Version; nicht mehr unterstützt: 6.4 | 6.4 | 2.6.32-358 | 9. März 2013 | 30. Nov. 2020 |
| Ältere Version; nicht mehr unterstützt: 6.5 | 6.5 | 2.6.32-431 | 1. Dez. 2013 | 30. Nov. 2020 |
| Ältere Version; nicht mehr unterstützt: 6.6 | 6.6 | 2.6.32-504 | 28. Okt. 2014 | 30. Nov. 2020 |
| Ältere Version; nicht mehr unterstützt: 6.7 | 6.7 | 2.6.32-573 | 7. Aug. 2015 | 30. Nov. 2020 |
| Ältere Version; nicht mehr unterstützt: 6.8 | 6.8 | 2.6.32-642 | 25. Mai 2016 | 30. Nov. 2020 |
| Ältere Version; nicht mehr unterstützt: 6.9 | 6.9 | 2.6.32-696 | 5. Apr. 2017 | 30. Nov. 2020 |
| Ältere Version; nicht mehr unterstützt: 6.10 | 6.10 | 2.6.32-754 | 3. Juli 2018 | 30. Nov. 2020 |
| Ältere Version; nicht mehr unterstützt: 7.0-1406 | 7.0 | 3.10.0-123 | 7. Juli 2014 | 30. Juni 2024 |
| Ältere Version; nicht mehr unterstützt: 7.1-1503 | 7.1 | 3.10.0-229 | 31. März 2015 | 30. Juni 2024 |
| Ältere Version; nicht mehr unterstützt: 7.2-1511 | 7.2 | 3.10.0-327 | 14. Dez. 2015 | 30. Juni 2024 |
| Ältere Version; nicht mehr unterstützt: 7.3-1611 | 7.3 | 3.10.0-514 | 12. Dez. 2016 | 30. Juni 2024 |
| Ältere Version; nicht mehr unterstützt: 7.4-1708 | 7.4 | 3.10.0-693 | 13. Sep. 2017 | 30. Juni 2024 |
| Ältere Version; nicht mehr unterstützt: 7.5-1804 | 7.5 | 3.10.0-862 | 10. Mai 2018 | 30. Juni 2024 |
| Ältere Version; nicht mehr unterstützt: 7.6-1810 | 7.6 | 3.10.0-957 | 3. Dez. 2018 | 30. Juni 2024 |
| Ältere Version; nicht mehr unterstützt: 7.7-1908 | 7.7 | 3.10.0-1062 | 17. Sep. 2019 | 30. Juni 2024 |
| Ältere Version; nicht mehr unterstützt: 7.8-2003 | 7.8 | 3.10.0-1127 | 27. Apr. 2020 | 30. Juni 2024 |
| Ältere Version; nicht mehr unterstützt: 7.9-2009 | 7.9 | 3.10.0-1160 | 12. Nov. 2020 | 30. Juni 2024 |
| Ältere Version; nicht mehr unterstützt: 8.0-1905 | 8.0 | 4.18.0-80 | 24. Sep. 2019 | 31. Dez. 2021 |
| Ältere Version; nicht mehr unterstützt: 8.1-1911 | 8.1 | 4.18.0-147 | 15. Jan. 2020 | 31. Dez. 2021 |
| Ältere Version; nicht mehr unterstützt: 8.2-2004 | 8.2 | 4.18.0-193 | 15. Juni 2020 | 31. Dez. 2021 |
| Ältere Version; nicht mehr unterstützt: 8.3-2011 | 8.3 | 4.18.0-240 | 7. Dez. 2020 | 31. Dez. 2021 |
| Ältere Version; nicht mehr unterstützt: 8.4-2105 | 8.4 | 4.18.0-305 | 3. Juni 2021 | 31. Dez. 2021 |
| Ältere Version; nicht mehr unterstützt: 8.5-2111 | 8.5 | 4.18.0-348 | 23. Nov. 2021 | 31. Dez. 2021 |