CentOS ist eine Linux-Distribution, auf der auch Programme für Red Hat Enterprise Linux laufen und ist eine Linux-Distribution, die vorwiegend im Serverumfeld zum Einsatz kommt. Die freie Linux-Distribution CentOS ist binärkompatibel zu Red Hat Enterprise Linux. Das heißt, dass Programme auf beiden Betriebssystemen ausgeführt werden können und nicht extra neu kompiliert werden müssen.
Vor allem im betrieblichen Umfeld kann man auf diese Weise viel Geld sparen, indem man nicht so viele Lizenzen für das kommerzielle Red Hat Enterprise Linux erwerben muss. So erhält man zwar keinen Support, für viele operative Aufgaben ist das aber völlig ausreichend.
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 SoftwareundFehlerbehebungen 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.
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.
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.
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.
Die aktuelle CentOS-Version 7.0 (Stand: Januar 2017) basiert auf dem Linux-Kernel3.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
btw - dieses Forum läuft auf einem Webserver unter CentOS