Business operating systems must meet a number of criteria: For example, it’s crucial for the cor­re­spond­ing system man­age­ment software to receive com­pre­hen­sive support from the developer team or vendors. This is the only way to ensure regular software im­prove­ments and make sure bugs are regularly fixed, as well as security updates to protect against new malware and close any security gaps. It is equally important for the constant operation of the business ap­pli­ca­tions that stability of the in­ter­faces is guar­an­teed between the operating system and the programs used (backwards com­pat­i­bil­i­ty). An en­ter­prise solution, which is par­tic­u­lar­ly popular and is also open source, is the Linux dis­tri­b­u­tion CentOS.

CentOS: history of the RHEL de­scen­dant

Community Enterprise Operating System, in short CentOS, is a Linux dis­tri­b­u­tion, which was released in March 2004. The open source project, developed and supported by a huge community, is based on Red Hat En­ter­prise Linux (RHEL) source packages. This is a com­mer­cial dis­tri­b­u­tion that can only be used in com­bi­na­tion with paid support contracts. Red Hat, the provider of RHEL, is obligated to make the source code publicly available to satisfy the various free licenses of the included software com­po­nents. The CentOS project enabled de­vel­op­ers to easily build on the RHEL source code when pro­gram­ming a free-to-use equiv­a­lent.

All pre­vi­ous­ly published CentOS versions are based on RHEL release versions and are also binary-com­pat­i­ble with the Red Hat product. All ap­pli­ca­tions that are available for the business system, also work without any re­stric­tions and ad­di­tion­al compilers. At the beginning of 2014, Red Hat employees and de­vel­op­ers of the (still in­de­pen­dent) CentOS project teamed up to form the so-called 'Gov­ern­ing Board'. Since then, this team has been mainly re­spon­si­ble for the dis­tri­b­u­tion’s further de­vel­op­ment and support of the various work groups (system core, support, design, etc.).

What does the CentOS dis­tri­b­u­tion do?

CentOS is a business platform, just like its pre­de­ces­sor, RHEL, and is best suited for busi­ness­es and large or­ga­ni­za­tions. In principle, the Linux dis­tri­b­u­tion can also be used in the private sector, but de­vel­op­ers don’t focus on this option as much. The Linux dis­tri­b­u­tion is already quite popular as an operating system for web­servers. According to w3techs.com (January 2017), Ubuntu and Debian are being used more fre­quent­ly. As a business dis­tri­b­u­tion, CentOS features the char­ac­ter­is­tics that make RHEL so valuable to companies:

  • Stability: CentOS is con­stant­ly evolving to provide the perfect platform for the latest software. Whether older ap­pli­ca­tions are com­pat­i­ble, is always con­sid­ered. Future de­vel­op­ment steps are always carried out in such a way that the stability of active com­po­nents is also guar­an­teed. The system is very powerful when it comes to vir­tu­al­iza­tion (on a Kernel-based Virtual Machine, KVM) and high in avail­abil­i­ty, which is why the dis­tri­b­u­tion also makes a good im­pres­sion when operating vir­tu­al­iza­tion and Cloud servers.
  • Security: The issue of security is now more important than ever, which is why CentOS as an en­ter­prise solution with RHEL back­ground is an excellent choice. Red Hat’s un­der­ly­ing source code is already at a high level (as far as security is concerned), thanks to proactive vul­ner­a­bil­i­ty detection by the security team of the American software company. In addition, security and error checks are the first priority for every CentOS update and in the in­te­gra­tion of new programs. The Linux dis­tri­b­u­tion also supports the kernel extension SELinux (Security-Enhanced Linux), an open source product that orig­i­nates from the col­lab­o­ra­tion between Red Hat and the NSA. The program im­ple­ments au­tho­riza­tion checks for the use of computer resources and thus protects against unau­tho­rized access.
  • Long main­te­nance and support cycles: since the first CentOS version, there have been both small and large releases that are tightly linked to RHEL’s cor­re­spond­ing pub­li­ca­tions. The de­vel­op­ment team estimates a period of 2 to 6 weeks (or a few hours for small updates) for the process of code adap­ta­tion. The version numbers are simply kept (e.g. RHEL 6.2 à CentOS 6.2). Since version 7, a time stamp has been added, which indicates the release of the basic code. Version 7.0-1406 indicates, for example, that the source was released in June 2014. In addition to the ver­sion­ing, CentOS has also adopted guide­lines for the follow-up period: up to 7 years for general support and up to 10 years of providing security updates (up to version 5.0, it was up to 4 and 7 years).

As is the case with RHEL, the in­stal­la­tion is carried out via the easy-to-use, graphic manager, Anaconda. And in terms of package man­age­ment (RPM) and software man­age­ment (yum), CentOS uses tried-and-tested Red Hat com­po­nents. But even though RHEL programs usually run on the free equiv­a­lent, they often lack the cer­ti­fi­ca­tion and support from their re­spec­tive vendors, which is why they are not always guar­an­teed to work properly with CentOS.

CentOS: which system re­quire­ments apply for the dis­tri­b­u­tion?

Depending on the re­spec­tive CentOS version, different re­quire­ments are placed on the hardware. For example, CentOS 5 comes with 512 MB of memory if you want to control it via a graphical user interface, and an eco­nom­i­cal 128 MB if operating it via the command line is suf­fi­cient. In addition, 5GB of storage space is rec­om­mend­ed (at least 1GB). Version 6 already requires 392MB for the command line variant, which is no longer available as a separate option in CentOS 7, and requires 1GB of memory on non-x86 ar­chi­tec­tures. The afore­men­tioned 7th version of the Linux dis­tri­b­u­tion requires 1GB of memory and 20GB of hard disk space (10GB minimum).

The various releases of the RHEL de­riv­a­tive are also different with regard to the supported hardware ar­chi­tec­tures. Many of the ports for version 7 were made by the 'Al­ter­na­tive Ar­chi­tec­ture Special Interest Group' (AltArch SIG) and added later. The following table gives you an overview of the possible system ar­chi­tec­tures:

Ar­chi­tec­ture CentOS 4 CentOS 5 CentOS 6 CentOS 7
i386 systems (AMD, Via, 32-bit Pentium) yes yes yes yes
x86_64 systems (AMD64/EM64T) yes yes yes yes
ia64 systems (Itanium2) yes no no no
s390/s390x systems (IBM zSeries & IBM S/390) yes no no no
ppc/ppc64 systems (IBM Power, Mac) yes no no no
SPARC systems (Sun SPARC proces­sors) yes no no no
Alpha systems (DEC Alpha proces­sors) yes no no no
Armhfp systems (arm32) no no no yes
aarch64 systems (arm64) no no no yes

The Linux operating system offers these features

The current CentOS version 7.0 (as of January 2017) is based on the Linux kernel 3.10.0 including the security en­hance­ment SELinux already im­ple­ment­ed and has GCC (GNU Compiler Col­lec­tion) im­ple­ment­ed. This col­lec­tion contains compilers for the most important pro­gram­ming languages: C, C ++, and Java. The Linux dis­tri­b­u­tion also supports hyper-threading (splitting a processor into two virtual proces­sors to increase per­for­mance), Plug and Play, Bluetooth, and version 6 of the Internet Protocol (IPv6). Com­pat­i­bil­i­ty libraries are available for the older CentOS 5 and 6 versions. The standard dis­tri­b­u­tion package also includes the following software com­po­nents:

  • Web server: httpd 2.4.6 (Apache)
  • LAN manager: Samba-4.1.x
  • Database: MariaDB 5.5.x, Post­greSQL 9.2.x
  • Scripting language: PHP 5.4, Python 2.7, Perl 5.16.3
  • Desktop interface: Gnome 3.14, KDE 4.14
  • Display server: X.org 7.7
  • E-mail client: Evolution 3.12, Thun­der­bird 45
  • Internet browser: Firefox 45
  • Office suite: Li­bre­Of­fice 4.3.7

Special Interest Groups: the project groups of the CentOS community

Further de­vel­op­ment of the Linux system was struc­tured with the founding of the governing board. Since then, different teams – con­sist­ing of members of the diverse community – have been working in different work­groups, which either aim to expand the CentOS dis­tri­b­u­tion or optimize the func­tion­al aspects of the CentOS project (in­fra­struc­ture, doc­u­men­ta­tion, etc.). The source code makes it possible to carry out changes to the system without con­sult­ing one of these Special Interest Groups (SIGs), but these may not be published under the brand 'CentOS': The in­di­vid­ual SIGs have a certain degree of autonomy and are primarily re­spon­si­ble for the de­vel­op­ment process. Before the result can be marked and published as an official CentOS product, however, the governing board’s consent is needed.

The three declared types of special interest groups are the following:

1. Core SIG: Core SIGs develop content that is relevant to the main version of the Linux dis­tri­b­u­tion. These groups must co­or­di­nate the de­vel­op­ment process to possible RHEL updates, and finally take care of the signing and releasing. In addition, they must develop guide­lines for Git pub­lish­ing and licensing.

2. Variant SIG: If the kernel is to be modified by CentOS versions or extended in­de­pen­dent­ly of the official release series, this is done in Variant SIGs. The pre­req­ui­site for projects like these is that it has to benefit the community. All ad­di­tion­al software packages must be able to be added to the CentOS project licenses and be unpacked and issued as required. In addition, the task of the project group is to review and, if necessary, include ad­di­tion­al code written and released via the Git repos­i­to­ry by other users for the par­tic­u­lar variant.

3. Func­tion­al SIG: the func­tion­al SIGs have the task of creating or managing important com­po­nents of the CentOS project. The purpose of these working groups is to make it as easy as possible for every in­ter­est­ed user to par­tic­i­pate in the further de­vel­op­ment. Fur­ther­more, the purpose of these SIGs is to strength­en the community by dis­trib­ut­ing re­spon­si­bil­i­ties and workloads among the active members according to their re­spec­tive abilities.

One of the most important project groups is the afore­men­tioned AltArch SIG, which has already published various port­fo­lios of the 7th CentOS version. The first real variant, however, is the CentOS Atomic Host published by CentOS Atomic SIG. This is based on the core design and is specially designed for the use of Docker con­tain­ers. Further projects, which are in the planning or de­vel­op­ment stage, include the following:

  • Public CI: in­fra­struc­ture for public tests
  • Hardening: variant with focus on a secure, hardened system core and source codes 
  • Cloud Instance: dis­tri­b­u­tion, which optimizes CentOS-Linux for public or private Clouds 
  • PaaS: Platform as a service based on CentOS
  • NFV: Network Functions Vir­tu­al­iza­tion provides a software stack that serves as the basic framework for dis­trib­ut­ing and verifying virtual network functions.
  • Promo: project groups, which deal with the external ap­pear­ance of CentOS.

How the CentOS in­stal­la­tion works

To install the open-source operating system on your own computer or server, first download the ap­pro­pri­ate port and variant from the official download center. In addition to the current releases, you will also find setup files as well as repos­i­to­ries of older CentOS versions. The images have to be trans­ferred to a CD, DVD, or another portable storage device like a USB stick after they have been down­loaded. There are three different variants available in addition to the usual full in­stal­la­tion:

  • LiveCD: This is a complete bootable computer in­stal­la­tion and provides a runtime en­vi­ron­ment that starts directly from the storage medium without the need for in­stal­la­tion.
  • ServerCD: With this image, you have an in­stal­lable variant, which is equipped with a limited package size for server in­stal­la­tions.
  • NetInstall: The NetInstall image, which is sometimes listed under 'minimal' in the download overview, allows you to perform a minimal network in­stal­la­tion that is linked to the current release. You can’t install version 6.3 with the NetInstall ISO of CentOS 6.2, for example.

If you have created the desired boot media, you can start the CentOS in­stal­la­tion directly from it. Simply select the 'install CentOS' button and confirm with the [Enter] key. The graphical installer will then guide you through the rest of the process with the minimal NetInstall variant.

CentOS Linux – a summary

In the list of powerful Linux de­scen­dants, CentOS is usually not one of the options that first springs to mind. The dis­tri­b­u­tion provides every­thing needed for its target sector in the server and en­ter­prise area. If you’re looking for a stable system that you can use over a longer time, the RHEL variation is a good option. CentOS can’t offer the exclusive support of the com­mer­cial template and does not receive cer­ti­fi­ca­tion for every software, as is also the case with the Red Hat system. Thanks to the binary com­pat­i­bil­i­ty. However, various ap­pli­ca­tions and security features also run on the open source system, which also has the advantage that it’s com­plete­ly free to use.

Go to Main Menu