Business operating systems must meet a number of criteria: For example, it’s crucial for the cor­res­pond­ing system man­age­ment software to receive com­pre­hens­ive 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­plic­a­tions that stability of the in­ter­faces is guar­an­teed between the operating system and the programs used (backwards com­pat­ib­il­ity). An en­ter­prise solution, which is par­tic­u­larly popular and is also open source, is the Linux dis­tri­bu­tion CentOS.

CentOS: history of the RHEL des­cend­ant

Community Enterprise Operating System, in short CentOS, is a Linux dis­tri­bu­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­bu­tion that can only be used in com­bin­a­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­pon­ents. The CentOS project enabled de­velopers to easily build on the RHEL source code when pro­gram­ming a free-to-use equi­val­ent.

All pre­vi­ously published CentOS versions are based on RHEL release versions and are also binary-com­pat­ible with the Red Hat product. All ap­plic­a­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­velopers of the (still in­de­pend­ent) CentOS project teamed up to form the so-called 'Gov­ern­ing Board'. Since then, this team has been mainly re­spons­ible for the dis­tri­bu­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­bu­tion do?

CentOS is a business platform, just like its pre­de­cessor, RHEL, and is best suited for busi­nesses and large or­gan­isa­tions. In principle, the Linux dis­tri­bu­tion can also be used in the private sector, but de­velopers don’t focus on this option as much. The Linux dis­tri­bu­tion is already quite popular as an operating system for web­serv­ers. According to w3techs.com (January 2017), Ubuntu and Debian are being used more fre­quently. As a business dis­tri­bu­tion, CentOS features the char­ac­ter­ist­ics that make RHEL so valuable to companies:

  • Stability: CentOS is con­stantly evolving to provide the perfect platform for the latest software. Whether older ap­plic­a­tions are com­pat­ible, is always con­sidered. Future de­vel­op­ment steps are always carried out in such a way that the stability of active com­pon­ents is also guar­an­teed. The system is very powerful when it comes to vir­tu­al­isa­tion (on a Kernel-based Virtual Machine, KVM) and high in avail­ab­il­ity, which is why the dis­tri­bu­tion also makes a good im­pres­sion when operating vir­tu­al­isa­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­ab­il­ity 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­teg­ra­tion of new programs. The Linux dis­tri­bu­tion also supports the kernel extension SELinux (Security-Enhanced Linux), an open source product that ori­gin­ates from the col­lab­or­a­tion between Red Hat and the NSA. The program im­ple­ments au­thor­isa­tion checks for the use of computer resources and thus protects against un­au­thor­ised access.
  • Long main­ten­ance and support cycles: since the first CentOS version, there have been both small and large releases that are tightly linked to RHEL’s cor­res­pond­ing pub­lic­a­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 ad­apt­a­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 guidelines 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­stall­a­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­pon­ents. But even though RHEL programs usually run on the free equi­val­ent, they often lack the cer­ti­fic­a­tion and support from their re­spect­ive 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­bu­tion?

Depending on the re­spect­ive 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­ic­al 128 MB if operating it via the command line is suf­fi­cient. In addition, 5GB of storage space is re­com­men­ded (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­bu­tion requires 1GB of memory and 20GB of hard disk space (10GB minimum).

The various releases of the RHEL de­riv­at­ive 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­tern­at­ive 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 pro­cessors) yes no no no
Alpha systems (DEC Alpha pro­cessors) 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­men­ted and has GCC (GNU Compiler Col­lec­tion) im­ple­men­ted. This col­lec­tion contains compilers for the most important pro­gram­ming languages: C, C ++, and Java. The Linux dis­tri­bu­tion also supports hyper-threading (splitting a processor into two virtual pro­cessors to increase per­form­ance), Plug and Play, Bluetooth, and version 6 of the Internet Protocol (IPv6). Com­pat­ib­il­ity libraries are available for the older CentOS 5 and 6 versions. The standard dis­tri­bu­tion package also includes the following software com­pon­ents:

  • Web server: httpd 2.4.6 (Apache)
  • LAN manager: Samba-4.1.x
  • Database: MariaDB 5.5.x, Post­gr­eSQL 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: Lib­reOf­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­bu­tion or optimise the func­tion­al aspects of the CentOS project (in­fra­struc­ture, doc­u­ment­a­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­vidu­al SIGs have a certain degree of autonomy and are primarily re­spons­ible 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­bu­tion. These groups must co­ordin­ate the de­vel­op­ment process to possible RHEL updates, and finally take care of the signing and releasing. In addition, they must develop guidelines for Git pub­lish­ing and licensing.

2. Variant SIG: If the kernel is to be modified by CentOS versions or extended in­de­pend­ently of the official release series, this is done in Variant SIGs. The pre­requis­ite 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 re­pos­it­ory 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­pon­ents of the CentOS project. The purpose of these working groups is to make it as easy as possible for every in­ter­ested user to par­ti­cip­ate in the further de­vel­op­ment. Fur­ther­more, the purpose of these SIGs is to strengthen the community by dis­trib­ut­ing re­spons­ib­il­it­ies and workloads among the active members according to their re­spect­ive abilities.

One of the most important project groups is the afore­men­tioned AltArch SIG, which has already published various port­fo­li­os 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­bu­tion, which optimises CentOS-Linux for public or private Clouds 
  • PaaS: Platform as a service based on CentOS
  • NFV: Network Functions Vir­tu­al­isa­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­stall­a­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 centre. In addition to the current releases, you will also find setup files as well as re­pos­it­or­ies 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­stall­a­tion:

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

If you have created the desired boot media, you can start the CentOS in­stall­a­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 Net­In­stall variant.

CentOS Linux – a summary

In the list of powerful Linux des­cend­ants, CentOS is usually not one of the options that first springs to mind. The dis­tri­bu­tion provides everything 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­fic­a­tion for every software, as is also the case with the Red Hat system. Thanks to the binary com­pat­ib­il­ity. However, various ap­plic­a­tions and security features also run on the open source system, which also has the advantage that it’s com­pletely free to use.

Go to Main Menu