What is CentOS?
Business operating systems must meet a number of criteria: For example, it’s crucial for the corresponding system management software to receive comprehensive support from the developer team or vendors. This is the only way to ensure regular software improvements 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 applications that stability of the interfaces is guaranteed between the operating system and the programs used (backwards compatibility). An enterprise solution, which is particularly popular and is also open source, is the Linux distribution CentOS.
- CentOS: history of the RHEL descendant
- What does the CentOS distribution do?
- CentOS: which system requirements apply for the distribution?
- The Linux operating system offers these features
- Special Interest Groups: the project groups of the CentOS community
- How the CentOS installation works
- CentOS Linux – a summary
CentOS: history of the RHEL descendant
Community Enterprise Operating System, in short CentOS, is a Linux distribution, which was released in March 2004. The open source project, developed and supported by a huge community, is based on Red Hat Enterprise Linux (RHEL) source packages. This is a commercial distribution that can only be used in combination 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 components. The CentOS project enabled developers to easily build on the RHEL source code when programming a free-to-use equivalent.
All previously published CentOS versions are based on RHEL release versions and are also binary-compatible with the Red Hat product. All applications that are available for the business system, also work without any restrictions and additional compilers. At the beginning of 2014, Red Hat employees and developers of the (still independent) CentOS project teamed up to form the so-called 'Governing Board'. Since then, this team has been mainly responsible for the distribution’s further development and support of the various work groups (system core, support, design, etc.).
What does the CentOS distribution do?
CentOS is a business platform, just like its predecessor, RHEL, and is best suited for businesses and large organizations. In principle, the Linux distribution can also be used in the private sector, but developers don’t focus on this option as much. The Linux distribution is already quite popular as an operating system for webservers. According to w3techs.com (January 2017), Ubuntu and Debian are being used more frequently.
As a business distribution, CentOS features the characteristics that make RHEL so valuable to companies:
- Stability: CentOS is constantly evolving to provide the perfect platform for the latest software. Whether older applications are compatible, is always considered. Future development steps are always carried out in such a way that the stability of active components is also guaranteed. The system is very powerful when it comes to virtualization (on a Kernel-based Virtual Machine, KVM) and high in availability, which is why the distribution also makes a good impression when operating virtualization and Cloud servers.
- Security: The issue of security is now more important than ever, which is why CentOS as an enterprise solution with RHEL background is an excellent choice. Red Hat’s underlying source code is already at a high level (as far as security is concerned), thanks to proactive vulnerability 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 integration of new programs. The Linux distribution also supports the kernel extension SELinux (Security-Enhanced Linux), an open source product that originates from the collaboration between Red Hat and the NSA. The program implements authorization checks for the use of computer resources and thus protects against unauthorized access.
- Long maintenance and support cycles: since the first CentOS version, there have been both small and large releases that are tightly linked to RHEL’s corresponding publications. The development team estimates a period of 2 to 6 weeks (or a few hours for small updates) for the process of code adaptation. 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 versioning, 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 installation is carried out via the easy-to-use, graphic manager, Anaconda. And in terms of package management (RPM) and software management (yum), CentOS uses tried-and-tested Red Hat components. But even though RHEL programs usually run on the free equivalent, they often lack the certification and support from their respective vendors, which is why they are not always guaranteed to work properly with CentOS.
CentOS: which system requirements apply for the distribution?
Depending on the respective CentOS version, different requirements 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 economical 128 MB if operating it via the command line is sufficient. In addition, 5GB of storage space is recommended (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 architectures. The aforementioned 7th version of the Linux distribution requires 1GB of memory and 20GB of hard disk space (10GB minimum).
The various releases of the RHEL derivative are also different with regard to the supported hardware architectures. Many of the ports for version 7 were made by the 'Alternative Architecture Special Interest Group' (AltArch SIG) and added later. The following table gives you an overview of the possible system architectures:
|Architecture||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 processors)||yes||no||no||no|
|Alpha systems (DEC Alpha processors)||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 enhancement SELinux already implemented and has GCC (GNU Compiler Collection) implemented. This collection contains compilers for the most important programming languages: C, C ++, and Java. The Linux distribution also supports hyper-threading (splitting a processor into two virtual processors to increase performance), Plug and Play, Bluetooth, and version 6 of the Internet Protocol (IPv6). Compatibility libraries are available for the older CentOS 5 and 6 versions. The standard distribution package also includes the following software components:
- Web server: httpd 2.4.6 (Apache)
- LAN manager: Samba-4.1.x
- Database: MariaDB 5.5.x, PostgreSQL 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, Thunderbird 45
- Internet browser: Firefox 45
- Office suite: LibreOffice 4.3.7
Special Interest Groups: the project groups of the CentOS community
Further development of the Linux system was structured with the founding of the governing board. Since then, different teams – consisting of members of the diverse community – have been working in different workgroups, which either aim to expand the CentOS distribution or optimize the functional aspects of the CentOS project (infrastructure, documentation, etc.). The source code makes it possible to carry out changes to the system without consulting one of these Special Interest Groups (SIGs), but these may not be published under the brand 'CentOS': The individual SIGs have a certain degree of autonomy and are primarily responsible for the development 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 distribution. These groups must coordinate the development process to possible RHEL updates, and finally take care of the signing and releasing. In addition, they must develop guidelines for Git publishing and licensing.
2. Variant SIG: If the kernel is to be modified by CentOS versions or extended independently of the official release series, this is done in Variant SIGs. The prerequisite for projects like these is that it has to benefit the community. All additional 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 additional code written and released via the Git repository by other users for the particular variant.
3. Functional SIG: the functional SIGs have the task of creating or managing important components of the CentOS project. The purpose of these working groups is to make it as easy as possible for every interested user to participate in the further development. Furthermore, the purpose of these SIGs is to strengthen the community by distributing responsibilities and workloads among the active members according to their respective abilities.
One of the most important project groups is the aforementioned AltArch SIG, which has already published various portfolios 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 containers. Further projects, which are in the planning or development stage, include the following:
- Public CI: infrastructure for public tests
- Hardening: variant with focus on a secure, hardened system core and source codes
- Cloud Instance: distribution, which optimizes CentOS-Linux for public or private Clouds
- PaaS: Platform as a service based on CentOS
- NFV: Network Functions Virtualization provides a software stack that serves as the basic framework for distributing and verifying virtual network functions.
- Promo: project groups, which deal with the external appearance of CentOS.
How the CentOS installation works
To install the open-source operating system on your own computer or server, first download the appropriate port and variant from the official download center. In addition to the current releases, you will also find setup files as well as repositories of older CentOS versions. The images have to be transferred to a CD, DVD, or another portable storage device like a USB stick after they have been downloaded. There are three different variants available in addition to the usual full installation:
- LiveCD: This is a complete bootable computer installation and provides a runtime environment that starts directly from the storage medium without the need for installation.
- ServerCD: With this image, you have an installable variant, which is equipped with a limited package size for server installations.
- NetInstall: The NetInstall image, which is sometimes listed under 'minimal' in the download overview, allows you to perform a minimal network installation 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 installation 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 descendants, CentOS is usually not one of the options that first springs to mind. The distribution provides everything needed for its target sector in the server and enterprise 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 commercial template and does not receive certification for every software, as is also the case with the Red Hat system. Thanks to the binary compatibility. However, various applications and security features also run on the open source system, which also has the advantage that it’s completely free to use.