CentOS vs. Ubuntu
Introduction to CentOS
CentOS is a distribution of Linux that facilitates a free and community-supported computing environment functionally compatible with the upstream source (Red Hat Enterprise Linux).
CentOS published an official joining with Red Hat during staying independent through RHEL upon a new governing board of CentOS.
The first release of CentOS was in 2004 May that was known as version 2 CentOS.
- It was forked through version 2.1AS of RHEL. Officially, CentOS supports the POWER8, ARM64, and x86-64 architectures since the 8 versions.
- Also, releases up to 6 versions supported the architecture of IA-32. CentOS AltArch releases are available for the Power ISA, IA-32 architecture, and AArch64 and ARMv7hl variants of the architecture of ARM as of December 2015.
- Version 8 of CentOS was published in 2019, 24 September.
- Unilaterally, Red Hat terminated the development of CentOS in December 2020.
- However, Red Hat would continue for supporting the corresponding distro of rolling-release (CentOS Stream).
- Gregory Kurtzer (founder of CentOS) made a Rocky Linux project to the actual CentOS mission as a successor.
- Cloud Linux (CloudLinux OS makers) published a newer RHEL derivative which is known as AlmaLinux 2021, on March 30.
History of CentOS
In 2002, CentOS created as the CAOS Linux build that is RPM-based distribution of Linux begun by Gregory Kurtzer. Innfiscale defined its GravityOS as the small footprint of Caos, representing a certain influence level through the discontinued distribution.
The main Tao Linux developer (David Parsley) announced Tao Linux retirement and its rolling inside the development of CentOS in June 2006. The users of Tao migrated the release of CentOS by yum update.
CentOS ignored Debian for becoming the most famous distribution of Linux for several web servers in July 2010 along with 30% of every web server of Linux using it. After that, in January 2012, Debian takes back the lead.
The employee of Red Hat and governing board representative of CentOS announced that the community of CentOS will be "shift focus" through classic Linux to CentOS Stream in 2020 December 8.
Starting community's reply to this announcement was negative overwhelmingly.
Soon thereafter, the founder of CentOS (Gregory Kurtzer) announced a newer project for continuing the actual focus of CentOS which became called Rocky Linux. CloudLinux OS makers (Cloud Linux) published the 8 clones AlmaLinux of CentOS in 2021 on March 30.
Interest Groups of CentOS
Special Interest groups are organized parts of the community of CentOS that open several paths to build specialized CentOS variants which fulfill a particular set of needs.
SIGs contain the freedom for modifying and enhancing CentOS in several ways including concatenating much cutting-edge software, giving alternative desktop platforms, recreating exiting packages based on the needs, or enabling CentOS available on unsupported architectures otherwise.
Architectures of CentOS
CentOS completely supports 64-bit ARM, POWER8, and x86-64 architectures as of 8 versions while the below architectures aren't supported:
- IA-32 version without Physical Address Extension (short for PAE), not supported since version 6 of CentOS
- IA-32 in each variant, not supported since version 7 of CentOS
- IA-64 (stands for Intel Itanium architecture) was supported within the version 3 and 4 of CentOS
- The beta support of 32-bit PowerPC (PowerPC and Apple Macintosh executing the G4 or G3 PowerPC processor) existed in version 4 of CentOS
- IBM Mainframe (S/390 and eServer zSeries) has not been supported since version 5 of CentOS.
- The support of Alpha existed in version 4 of CentOS
- The beta support of SPARC was available in version 4 of CentOS
CentOS AltArch releases are available for the AArch64 and ARMv7hl variants of the architecture of ARM and plans available to support various other versions of the ARM architecture as of December 2015.
The support of ARM is an effort of community which is coordinated by the AltArch SIG.
CentOS AltArch releases are also available for the Power ISA (POWER8 and POWER7 chips) and IA-32 architecture.
CentOS Live CD version is available on the mirror.centos.org website. Manually, CentOS bootable Live USM image can be made or using UNetbootin.
The images of CentOS are available on the EC2 cloud of Amazon in the mode of prebuilt and published Amazon Machine Images (short for AMIs).
Design of CentOS
RHEL is existed only for development use and by a paid subscription service in a non-production platform which gives access to various varying levels and software updates of technical support.
Largely, the project is composed of several packages of software share under the source code and free software licenses for the packages are made social by Red Hat.
- The developers of CentOS use the source code of Red Hat for creating an end product very same as RHEL.
- The logos and bracing of Red Hat are modified because Red Hat doesn't permit them to be redistributed.
- Primarily, technical support is officially given by a community via mailing lists, chat rooms, and web forums.
- The project is related to Red Hat but pursued to be more inclusive, open, and public.
- Red Hat applies to most of the head developers of CentOS.
- The CentOS project relies upon many donations from organizational sponsors and users.
The version numbers of CentOS for releases that are older than 7.0 contain two parts:
- Minor version
- Major version
Where the minor version is related to the major version and Red Hat Enterprise Linux (RHEL) update set used for building a specific CentOS release.
Beginning with the 7.0 version, the version numbers of CentOS also contain a third party that represents the source code's monthstamp.
- Beginning with version 4.4 of RHEL and since mid-2006 which is called Red Hat Enterprise Linux 4.0 update 4 formally.
- Red Hat has taken the convention of a version-naming identical to that applied by CentOS (for example, RHEL 6.5 or RHEL 4.5).
- CentOS deferred the work of CentOS 8.1 version for the 7.7 version of CentOS since the 7.x version CentOS was in generation and the 8.x version of CentOS was not in a generation on 10 September 2019.
- Once the 7.7 version was published resources returned to the 8.0 version of CentOS.
- Officially, CentOS published the 8.0 version of CentOS on 24 September 2019.
Repositories of CentOS
There are three main repositories of CentOS which are called channels. These repositories are containing various packages of software that make up the primary distribution of CentOS. These repositories are listed and explained below:
- Base: This repository includes packages that design the releases of point and gets updated if the original release of a point is made available within the form of ISO images formally.
- Updates: This repository contains various packages that operate as enhancement, bugfix, security updates, issued among regular sets of updates for release of point. Enhancement and bugfix updates published in this form are just unsuitable to be published by the CentOS-Fasttrack repository defined as follows.
- Addons: It provides several packages needed to build the packages that create the primary distribution of CentOS. However, these are not facilitated by the upstream.
The project of CentOS gives many other repositories that include software packages not given by the updates and base repositories. Those repositories contain the below:
- CentOS Extras: It includes packages that facilitate other functionalities to CentOS without harming updating the components of base or upstream compatibility.
- CentOSPlus: It includes the packages that upgrade various components of base CentOS, modifying CentOS hence that it's not exactly like the content of upstream provider.
- CentOS-Testing: It serves as a valid ground for many packages on their path to CentOS Extras and CentOSPlus. Offered packages might or might not replace the core packages for CentOS, and aren't guaranteed to work accurately.
- CentOS-Fasttrack: It includes enhancement and bug fix updates issued regularly among the regular sets of updates for many point releases. Various packages published this from Sir as the close candidates for the addition into the upcoming pointless release. It doesn't give security updates and doesn't include packages unsuitable for uncertain addition into the releases of point.
- CR (Continuous Release): Generally, it makes existed packages that would occur inside the next CentOS point release. The packages have existed on the hotfix and testing basis until the original point release is published in the ISO images form.
- debuginfo: It includes packages by debugging symbols produced during the primary packages were created.
- contrib: It includes packages contributed by the users of CentOS that don't overlap with the packages of the core distribution.
- Software Collections: It gives software versions that are newer than those given by the distribution of the base.
It can be defined as a Linux distribution midstream of rolling release among the development of upstream within Fedora and the development of downstream for RHEL.
Introduction to Ubuntu
Ubuntu is the Linux distribution that is based on Debian. Mostly, it is composed of open source and free software. Officially, Ubuntu is published in three essential editions which are as follows:
- Core for robots and internet of things devices
Each of these additions can execute in a virtual machine or on the computer alone. Ubuntu is a famous OS for cloud computing along with OpenStack support. The default desktop of Ubuntu has been GNOME since the 17.10 version.
Ubuntu is published every six months along with LTS releases every two years. The latest LTS release is Focal Fossa (20.04) as of 2020 22 October. The current standard publication is Groovy Gorilla (20.10). It is supported for nine months.
This line distribution is designed by canonical and a group of other developers. It is based on a meritocratic governance model. Canonical gives support and security updates for all releases of Ubuntu, starting through the publication date and until the publication reaches it's developed end of life date. Canonical produces revenue using the premium services of sale associated with Ubuntu.
Features of Ubuntu
1. Default Installation: Ubuntu's default installation contains a huge range of software that contains Firefox, Transmission, Thunderbird, LibreOffice, and various games (lightweight) like chess and Sudoku.
2. Packages: Several additional packages of software can be accessible using the Ubuntu software (built-in) and other tools of APT-based package management.
Several additional packages of software that are by default no longer installed like Synaptic, GIMP, Pidgin, and Evolution, are authorized within the repositories and also installable using the primary tool or any other tool of APT-based package management.
3. Flatpaks and snap packages: Cross-distribution flatpaks and snap packages also exist. These both packages permit installing software, like some of the software of Microsoft, in most of the big Linux operating system.
GNOME file is the file manager (default) which is formerly called Nautilus.
4. Cost: By default, each application software installed is free software. Ubuntu redistributes a few hardware drivers also that exist in binary format only, however, these types of packages are openly marked inside the restrained component.
Variants of Ubuntu
Officially, the Ubuntu desktop is the variant suggested for most of the users. It is simply known as Ubuntu and formally known as Ubuntu Desktop Edition.
It is developed for laptop PCs and desktops and supported by Canonical officially. From Ubuntu version 17.10, the GNOME shell is the desktop environment (default).
From Ubuntu version 11.04 to Ubuntu version 17.04, the default was the Unity desktop interface. Several other variants are differentiated by simply providing a distinct desktop environment.
Xfce and LXqt are often suggested for applying with earlier PCs that might have less processing power and memory available.
Many flavors and editions of Ubuntu simply install a distinct collection of default packages than the standard Ubuntu desktop. Because they distribute similar package repositories, each of the similar software is exist for all of them.
The Core of Ubuntu is a sole exception because it has only access to the packages within the Snap store.
Some of the major distributions and their description are discussed below:
- Lubuntu: This distribution is a flavor of Ubuntu that is more energy-efficient, less resource-hungry, and lighter. It uses the LXqt desktop environment (applied LXDE before version 18.10).
- Kubuntu: It is a flavor of Ubuntu that is using a KDE interface rather than Unity interfaces and GNOME applied by Ubuntu desktop.
- Ubuntu Core: It is an edition of Ubuntu concentrated on embedded and IoT systems. It doesn't apply the package manager of traditional apt unlike various other variants but entirely relies on the Snap packages.
- Xubuntu: It is a flavor of Ubuntu using Xfce. This flavor is intended to apply on less strong systems or those who explore the highly capable desktop environment on the faster systems and also applies GTK+ applications mostly.
- Ubuntu Budgie: It is a flavor of Ubuntu using Budgie.
- Ubuntu Kylin: It is a flavor of Ubuntu focused on the Chinese market.
- Ubuntu MATE: It is another flavor of Ubuntu using MATE which is a desktop platform forked through the code base of the now-defunct GNOME 2. It focuses on the desktop metaphor.
- Ubuntu Server: Ubuntu includes a server edition that applies similar APT repositories to the Ubuntu Desktop Edition. Primary differences among them are the X Window environment's absence in the default installation of a server edition (however, one can be installed easily including KDE, GNOME, Xfce, or Unity) and a few alterations to the process of installation.
- Ubuntu Studio: Ubuntu Studio is based on Ubuntu. It is facilitating various open-source applications for the creation of multimedia aimed at graphics, video, and audio editors.
Differences between CentOS and Ubuntu
||It is based on Red Hat.
||It is based on Debian.
||The update cycle of CentOS is infrequent deliberately.
||The update cycle of Ubuntu is often.
||The security provided by CentOS is very strong.
||The security provided by Ubuntu is good but needs additional configuration.
||CentOS has good documentation. However, this documentation is small but it supports an active user community.
||Ubuntu has an excellent support community and documentation as well.
||Platform Focal Point
||The platform focal point is preferred by various larger corporations and geared to the server market.
||The platform focal point is geared to the desktop user.
||It has challenging manageability.
||It has moderate manageability.
||It used a basic folder/file structure. However, the system services will differ in location.
||It used a basic folder/file structure. However, the system services will differ in location.
||It uses YUM packages.
||It uses apt-get aptitude packages.
||It uses CloudStack, OpenNebula, and OpenStack cloud interfaces.
||It uses OpenStack cloud interfaces.
||It provides native KVM support for virtualization.
||It provides Xen, KVM for virtualization.
||Ease of use
||It is difficult to use.
||It is easy to use.
||It has an excellent speed (depends on the usage of HW).
||It has an excellent speed as well (depends on the usage of HW).
||Hosting Market Share
||It has a 17.3% hosting market share.
||It has a 37.8% hosting market share.
||It has infrequent updates (only as needed).
||It has frequent updates.
||CentOS contain high stability.
||Ubuntu contains good stability.
||It has a smaller developer and user community.
||It has a larger developer and user community.
||There is lesser guidance of help available for CentOS.
||There is greater guidance of help available for Ubuntu in the form of free guides and tutorials.
Some more comparisons
Some more comparisons between CentOS and Ubuntu are as follows:
1. Support Comparison
Ubuntu operating system is developed by Canonical. It means we can purchase support contracts.
Officially, CentOS has no backing. However, there is a third party that provides support for CentOS like OpenLogic. Both of these operating systems are free of cost. Besides, the support is an additional service that could be bought.
2. Server Comparison
CentOS operating systems are widely used for servers around the Internet. Even Linux of Amazon is based on RHEL/CentOS. Besides, Ubuntu is more frequently used for many desktops.
3. Security Comparison
CentOS operating system is frequently updated. Usually, it updates with bug fixes and security for all major versions.
All major versions are supported for 10 years through the release date (based on the schedule of RHEL). It is because of the comprehensive testing in all releases.
Ubuntu operating system is frequently updated every six months.
The support of Ubuntu is provided for a variant for five years. Due to this, software contributes to be more recent along with new software. However, this software will be less stable.
4. Packaging Comparison
CentOS distribution uses the format of the RPM package. A program known as rpm is used for managing packages. A front-end resource known as yum was developed for managing network dependencies, repositories, and other action combinations.
Ubuntu uses the format of the DEB package. It uses a resource known as apt for managing DEB packages similarly like dnf/yum is layered over the rpm top.,Both of these resources/tools manage the interactions among packages and permitting us to just apply the one tool for doing necessary things.
Also, there may be differences in package availability for all distributions. A few vendors may just facilitate a package for CentOS/RHEL or Ubuntu. The software might be called different and differently managed. Different distributions might use different packaging methods and tools for managing software with naming conventions.
Apache is known as apache2 on Ubuntu and uses a few special scripts for managing virtual websites and hosts. Besides, it is known as httpd on CentOS and manipulates the configuration differently.
5. System Comparison
Both Ubuntu and CentOS are Linux. It means these two operating systems have the quite same core. But there are some differences among the tools of management.
For example, managing network interfaces are implemented with similar tools ifconfig, ip, etc. Both of these distributions have made helper programs for helping to manipulate those interfaces easily.
However, those particular tools are distinct among the distributions. Hence, there are a few distribution particulars that is not transferable easily among the two.