Was ist CentOS?
Enterprise-Betriebssysteme müssen einige wichtige Kriterien erfüllen: So ist es beispielsweise von entscheidender Bedeutung, dass die entsprechende Software zur Systemverwaltung mit einem umfassenden Support-Angebot seitens des Entwicklerteams bzw. des Anbieters verknüpft ist. Nur so sind regelmäßige Verbesserungen der Software und Fehlerbehebungen sowie Sicherheitsupdates zum Schutz vor neuer Malware und zum Schließen entdeckter Sicherheitslücken dauerhaft gewährleistet. Ebenso wichtig für den konstanten Betrieb der Unternehmensanwendungen ist es, dass die Stabilität der Schnittstellen zwischen dem Betriebssystem und den genutzten Programmen garantiert ist (Rückwärtskompatibilität). Eine Enterprise-Lösung, die insbesondere im Websektor sehr beliebt und zudem Open Source ist, ist die Linux-Distribution CentOS.
CentOS: Die Geschichte des RHEL-Abkömmlings
Community Enterprise Operating System, kurz CentOS, ist eine Linux-Distribution, die im März 2004 veröffentlicht wurde. Das Open-Source-Projekt, das von einer riesigen Community entwickelt und unterstützt wird, basiert auf den Quellpaketen von Red Hat Enterprise Linux (RHEL) – einer kommerziellen Distribution, die nur in Kombination mit kostenpflichtigen Supportverträgen genutzt werden kann. Red Hat, der Anbieter von RHEL, ist seinerseits dazu verpflichtet, den Quellcode öffentlich bereitzustellen, um den verschiedenen freien Lizenzen der eingebundenen Softwarekomponenten Genüge zu leisten. Im Rahmen des CentOS-Projekts konnten die Entwickler daher bei der Programmierung eines kostenfrei nutzbaren Äquivalents problemlos auf den Quellcode von RHEL aufbauen.
Alle bisher veröffentlichten CentOS-Versionen lehnen sich an entsprechende Release-Versionen von RHEL an und sind darüber hinaus auch binärkompatibel mit dem Red-Hat-Produkt. Alle Anwendungen, die für das kommerzielle Enterprise-System existieren, funktionieren also auch ohne zusätzliche Compiler und ohne irgendwelche Einschränkungen. Anfang 2014 schlossen sich Mitarbeiter von Red Hat und Entwickler des weiterhin unabhängigen CentOS-Projekts im sogenannten „Governing Board“ zusammen. Dieses Team ist seitdem vorrangig für die Weiterentwicklung der Distribution und die Betreuung der verschiedenen Arbeitsgruppen (Systemkern, Support, Design etc.) verantwortlich.
Das macht die CentOS-Distribution aus
Wie sein Vorbild RHEL ist CentOS eine Enterprise-Plattform, die in erster Linie für den Einsatz in Unternehmen und großen Organisationen geeignet ist. Prinzipiell kann die Linux-Distribution aber auch im privaten Sektor eingesetzt werden, wobei die Entwickler hierauf allerdings keinerlei Fokus legen. Darüber hinaus erfreut sich die Linux-Distribution großer Beliebtheit als Betriebssystem für Webserver – laut w3techs.com (Stand: Januar 2017) werden lediglich Ubuntu und Debian häufiger genutzt. Als Enterprise-Distribution zeichnen CentOS jene Eigenschaften aus, die auch schon RHEL für Unternehmen so wertvoll machen:
- Stabilität: CentOS wird stetig weiterentwickelt, um auch aktueller Software die perfekte Plattform bieten zu können. Dabei wird der Aspekt der Kompatibilität älterer Anwendungen jedoch stets bedacht. Zukunftsorientierte Entwicklungsschritte werden immer so vollzogen, dass auch die Stabilität aktiver Komponenten gewährleistet ist. Ferner überzeugt das System mit starken Leistungen in den Bereichen Virtualisierung (auf Kernel-based-Virtual-Maschine-Basis) und Hochverfügbarkeit, weshalb die Distribution auch beim Betrieb von Virtualisierungs- und Cloud-Servern eine gute Figur macht.
- Sicherheit: Das Thema Sicherheit ist heute wichtiger denn je, weshalb CentOS als Enterprise-Lösung mit RHEL-Hintergrund eine ausgezeichnete Wahl darstellt. So ist der zugrundeliegende Quellcode von Red Hat dank proaktiver Schwachstellen-Aufdeckung durch das Security-Team des amerikanischen Softwareunternehmens bereits auf einem hohen Level, was die Sicherheit betrifft. Darüber hinaus stehen bei jedem CentOS-Update und bei der Integration neuer Programme die Sicherheits- und Fehlerüberprüfung an erster Stelle. Ferner unterstützt die Linux-Distribution die Kernel-Erweiterung SELinux (Security-Enhanced Linux) – ein Open-Source-Produkt, das der Zusammenarbeit von Red Hat und der NSA entspringt. Dieses Programm implementiert Berechtigungskontrollen für die Nutzung der Computerressourcen und schützt auf diese Weise vor unautorisierten Zugriffen.
- Lange Wartungs- und Support-Zyklen: Seit der ersten CentOS-Version sind sowohl große als auch kleine Releases eng an die entsprechenden Veröffentlichungen von RHEL geknüpft. Für den mittlerweile eingespielten Prozess bei der Codeanpassung sieht das Entwicklungsteam einen Zeitraum von 2 bis 6 Wochen (bzw. wenigen Stunden bei kleinen Updates) vor. Die Versionsnummern werden dabei einfach beibehalten (z.B. RHEL 6.2 à CentOS 6.2). Seit Version 7 wird zusätzlich auch ein Zeitstempel, der auf das Release des Basiscodes hinweist, angehängt. Version 7.0-1406 weist beispielsweise auf die Veröffentlichung der Quelle im Juni 2014 hin. Neben der Versionierung hat CentOS auch die Richtlinien für den Betreuungszeitraum übernommen: Mittlerweile sind bis zu 7 Jahre für generellen Support und bis zu 10 Jahre für die Versorgung mit Sicherheitsupdates vorgesehen (bis Version 5.0 waren es bis zu 4 und 7 Jahre).
Die Installation erfolgt – wie auch bei RHEL – über den einsteigerfreundlichen, grafischen Manager Anaconda. Und auch in puncto Paketmanagement (RPM) und Softwareverwaltung (yum) bedient sich CentOS bewährter Red-Hat-Komponenten. Doch auch wenn RHEL-Programme für gewöhnlich unter dem kostenfreien Pendant laufen, fehlen ihnen oftmals die Zertifizierungen sowie der Support durch den jeweiligen Hersteller, weshalb nicht immer garantiert ist, dass sie unter CentOS einwandfrei funktionieren.
CentOS: Welche Systemvoraussetzungen gelten für die Distribution?
Abhängig von der jeweiligen CentOS-Version werden logischerweise ganz unterschiedliche Anforderungen an die Hardware gestellt. CentOS 5 kommt beispielsweise noch mit 512 MB Arbeitsspeicher aus, wenn Sie es über ein grafisches User-Interface bedienen wollen, und sparsamen 128 MB, wenn Ihnen die Bedienung via Kommandozeile genügt. Zusätzlich sind 5 GB Speicherplatz empfohlen (mindestens 1 GB). Version 6 setzt für die Kommandozeilen-Variante, die es als separate Option in CentOS 7 nicht mehr gibt, bereits 392 MB voraus und benötigt auf Nicht-x86-Architekturen 1 GB Arbeitsspeicher. Die bereits genannte 7. Version der Linux-Distribution setzt standardmäßig 1 GB Arbeitsspeicher sowie 20 GB Festplattenspeicher (mindestens 10 GB) voraus.
Auch hinsichtlich der unterstützten Hardware-Architekturen unterscheiden sich die verschiedenen Releases des RHEL-Abkömmlings. Viele der Portierungen für Version 7 wurden dabei von der Arbeitsgruppe „Alternative Architecture Special Interest Group“ (AltArch SIG) vorgenommen und nachträglich hinzugefügt. Die folgende Tabelle gibt einen Überblick über die möglichen Systemarchitekturen:
Architektur | CentOS 4 | CentOS 5 | CentOS 6 | CentOS 7 |
---|---|---|---|---|
i386-Systeme (AMD, Via, 32-bit Pentium) | ja | ja | ja | ja |
x86_64-Systeme (AMD64/EM64T) | ja | ja | ja | ja |
ia64-Systeme (Itanium2) | ja | nein | nein | nein |
s390/s390x-Systeme (IBM zSeries & IBM S/390) | ja | nein | nein | nein |
ppc/ppc64-Systeme (IBM Power, Mac) | ja | nein | nein | nein |
SPARC-Systeme (Sun SPARC-Prozessoren) | ja | nein | nein | nein |
Alpha-Systeme (DEC Alpha-Prozessoren) | ja | nein | nein | nein |
armhfp-Systeme (arm32) | nein | nein | nein | ja |
aarch64-Systeme (arm64) | nein | nein | nein | ja |
Diese Features bietet das Linux-Betriebssystem
Die aktuelle CentOS-Version 7.0 (Stand: Januar 2017) basiert auf dem Linux-Kernel 3.10.0 inklusive der bereits aufgegriffenen Sicherheitserweiterung SELinux und hat GCC (GNU Compiler Collection) implementiert. Diese Sammlung enthält Compiler für die wichtigsten Programmiersprachen: wie C, C++ und Java. Die Linux-Distribution unterstützt darüber hinaus Hyperthreading (Teilung eines Prozessors in zwei virtuelle Prozessoren zur Steigerung der Performance), Plug and Play, Bluetooth und Version 6 des Internetprotokolls (IPv6). Für die älteren Versionen CentOS 5 und 6 existieren Kompatibilitäts-Bibliotheken. Das Standard-Paket der Distribution umfasst außerdem folgende Software-Komponenten:
- Webserver: httpd 2.4.6 (Apache)
- LAN-Manager: Samba-4.1.x
- Datenbank: MariaDB 5.5.x, PostgreSQL 9.2.x
- Skriptsprachen: PHP 5.4, Python 2.7, Perl 5.16.3
- Desktop-Interface: Gnome 3.14, KDE 4.14
- Anzeigeserver: X.org 7.7
- E-Mail-Client: Evolution 3.12, Thunderbird 45
- Internetbrowser: Firefox 45
- Office-Suite: LibreOffice 4.3.7
Special Interest Groups: Die Arbeitsgruppen der CentOS-Community
Mit der Gründung des Governing Boards strukturierte man die Weiterentwicklung des Linux-Systems. Seitdem arbeiten unterschiedliche Teams – bestehend aus Mitgliedern der breitgefächerten Community – in verschiedenen Arbeitsgruppen, die entweder den Zweck haben, die CentOs-Distribution zu erweitern oder die funktionalen Aspekte des CentOS-Projekts (Infrastruktur, Dokumentation etc.) zu optimieren. Aufgrund des offenen Quellcodes ist es zwar auch möglich, Veränderungen an dem System vorzunehmen, ohne einer dieser Special Interest Groups (SIG) anzugehören, allerdings dürfen diese dann nicht unter der Brand „CentOS“ veröffentlicht werden. Die einzelnen SIGs besitzen ein gewisses Maß an Autonomie und sind hauptverantwortlich für den Entwicklungsprozess. Bevor das Ergebnis als offizielles CentOS-Produkt gekennzeichnet und veröffentlicht werden kann, ist jedoch die Zustimmung des Governing Boards von Nöten.
Die drei deklarierten Typen von Special Interest Groups sind die folgenden:
- Core SIG: Core SIGs erarbeiten Inhalte, die für die Hauptversion der Linux-Distribution relevant sind. Diese Gruppen müssen den Entwicklungsprozess auf etwaige RHEL-Updates abstimmen und sich abschließend um die Signierung und Veröffentlichung kümmern. Ferner müssen sie bei Lizenzen und Beiträgen Richtlinien für die Veröffentlichung per Git entwickeln.
- Variant SIG: Wenn der Kern von CentOS-Versionen abgewandelt oder unabhängig von der offiziellen Release-Reihe erweitert werden soll, geschieht dies in Variant SIGs. Voraussetzung für ein solches Projekt ist, dass es einen konkreten Nutzen für eine Gruppe der Community darstellt. Alle zusätzlich verwendeten Software-Pakete müssen sich den Lizenzen des CentOS-Projekts fügen und standesgemäß entpackt und ausgegeben werden können. Außerdem ist es die Aufgabe der Arbeitsgruppe, zusätzlichen Code, der von anderen Nutzern für die jeweilige Variante geschrieben und via Git-Repository veröffentlicht wurde, zu überprüfen und gegebenenfalls miteinzubeziehen.
- Functional SIG: Die Functional SIGs haben die Aufgabe, wichtige Komponenten des CentOS-Projekts zu erstellen bzw. zu verwalten. Ziel dieser Arbeitsgruppen ist es, es für jeden interessierten Nutzer so einfach wie möglich zu machen, an der Weiterentwicklung mitzuwirken. Ferner besteht der Sinn dieser SIGs darin, die Community zu stärken, indem die Verantwortung und Arbeitsbelastung gezielt und gemäß der jeweiligen Fähigkeiten unter den aktiven Mitgliedern verteilt wird.
Eine der wichtigsten Arbeitsgruppen ist die bereits erwähnte AltArch SIG, die bereits diverse Portierungen der 7. CentOS-Version veröffentlicht hat. Die erste wirkliche Variante ist jedoch die von der CentOS Atomic SIG veröffentlichte CentOS Atomic Host. Diese basiert auf dem Kernkonstrukt und ist speziell für den Einsatz von Docker-Containern designt. Weitere Projekte, die sich in der Planung oder Entwicklung befinden, sind unter anderem folgende:
- Public CI: Infrastruktur für öffentliche Tests
- Hardening: Variante mit Fokus auf einen sicheren, gehärteten Systemkern und Quellcodes
- Cloud Instance: Distribution, die CentOS-Linux für öffentliche oder private Clouds optimiert
- PaaS: Platform-as-a-Service auf Basis von CentOS
- NFV: Network Functions Virtualization stellt einen Software-Stack bereit, der als Grundgerüst für die Verteilung und Überprüfung virtueller Netzwerkfunktionen dient
- Promo: Arbeitsgruppe, die sich mit der Außendarstellung von CentOS beschäftigt
So funktioniert die CentOS-Installation
Um das Open-Source-Betriebssystem auf dem eigenen Computer bzw. Server zu installieren, laden Sie zunächst die passende Portierung und Variante im offiziellen Download-Center herunter. Neben den aktuellen Releases finden Sie dort auch Installationsdateien sowie die Repositories älterer CentOS-Versionen. Bei den offerierten Images, die Sie nach dem Download auf CD, DVD oder ein anderes portables Speichermedium wie einen USB-Stick übertragen müssen, stehen Ihnen zudem in einigen Fällen abseits der gewöhnlichen Komplettinstallation 3 verschiedene Varianten zur Verfügung:
- LiveCD: Ein solches Image ist bootfähig und stellt eine Laufzeitumgebung bereit, die direkt vom Speichermedium aus startet, ohne dass eine Installation von Nöten ist.
- ServerCD: Mit diesem Image haben Sie eine installierbare Variante in der Hand, die mit einem limitierten Paket-Umfang für Serverinstallationen ausgestattet ist.
- NetInstall: Das NetInstall-Image, das in einigen Fällen auch unter der Bezeichnung „Minimal“ in der Download-Übersicht aufgelistet ist, ermöglicht Ihnen eine minimalistische Netzwerkinstallation, die an das jeweils aktuelle Release gebunden ist. Mit der NetInstall-ISO von CentOS 6.2 können Sie also zum Beispiel nicht Version 6.3 installieren.
Haben Sie das gewünschte Boot-Medium erstellt, starten Sie die Installation von CentOS direkt von diesem aus. Wählen Sie einfach zunächst die Schaltfläche „Install CentOS“ und bestätigen Sie anschließend Ihre Auswahl mit der [Enter]-Taste. Nachfolgend werden Sie bei der minimalen NetInstall-Variante von dem grafischen Installationshelfer durch den weiteren Prozess geführt. Standardmäßig ist dabei die englische Sprach- und Tastaturausgabe eingestellt, allerdings lassen sich beide auch auf die deutsche Sprache umstellen.
CentOS Linux – ein Fazit
Bei der Aufzählung leistungsstarker Linux-Abkömmlinge zählt CentOS meist nicht zu den Vertretern, die direkt als erstes genannt werden. Dabei bringt die Distribution für ihren Zielsektor – im Server- und Enterprise-Bereich – alles Notwendige mit. Wer also auf der Suche nach einem stabilen System ist, das er über einen längeren Zeitraum nutzen kann, macht mit der RHEL-Abwandlung nicht viel falsch. CentOS kann zwar nicht den exklusiven Support der kommerziellen Vorlage bieten und erhält auch nicht für jegliche Software eine Zertifikation, wie es bei dem Red-Hat-System der Fall ist. Dank der Binärkompatibilität laufen jedoch diverse Anwendungen und Sicherheitsfeatures auch auf dem Open-Source-System – das zudem den Vorteil bietet, vollkommen kostenfrei nutzbar zu sein.