Search

Centos Core

9 min read 0 views
Centos Core

Introduction

CentOS Core refers to the foundational component of the CentOS operating system that provides a minimal, command‑line only installation of the Red Hat Enterprise Linux (RHEL) source code. It contains the essential system libraries, kernel, and command utilities required to boot and run a fully functional Linux environment. CentOS Core is designed for users who require a lightweight, stable, and highly configurable platform for servers, virtual machines, or embedded devices. It serves as the basis for many derivative distributions and is often used as a starting point for building customized server images.

Historical Development

Early CentOS

The CentOS project began in 2004 with the goal of providing a free, community‑maintained, binary compatible clone of RHEL. Early releases of CentOS were built from source packages released by Red Hat, compiled, and redistributed under the GNU General Public License. The initial CentOS releases focused on providing a fully featured desktop and server experience, including graphical user interfaces (GUIs) such as GNOME and KDE.

CentOS Core Emergence

By the time CentOS 6 was released, the project introduced a new installation option known as CentOS Core. This option stripped away all non‑essential packages, including desktop environments, multimedia codecs, and documentation. The resulting ISO image was less than 200 MB and could be installed on systems with limited disk space or memory. CentOS Core quickly became popular among system administrators who preferred a lean, security‑focused base for servers and infrastructure components.

Transition to CentOS Stream

In 2019 Red Hat announced CentOS Stream, a rolling release that sits upstream of RHEL. CentOS Stream is no longer a true downstream clone but rather a continuous delivery platform that provides early access to packages that will eventually appear in the next RHEL release. As a consequence, CentOS Core as a distinct installation target has been superseded by minimal installation profiles available through CentOS Stream and other RHEL derivatives. Nonetheless, the concept of a minimal, command‑line core remains central to CentOS‑based distributions.

Architecture and Components

Base System

The CentOS Core base system comprises the Linux kernel, system libraries (glibc, libstdc++), core utilities (coreutils, bash, util-linux), and essential services (systemd, OpenSSH). The installation includes a standard initrd that contains modules necessary for hardware detection and booting. The configuration files reside in /etc and include /etc/passwd, /etc/group, /etc/hosts, and network settings under /etc/sysconfig.

Package Ecosystem

CentOS Core relies on the RPM Package Manager (RPM) to handle binary packages. Packages are delivered in the .rpm format and contain metadata, binaries, configuration files, and scripts that run before or after installation. The RPM database is maintained in /var/lib/rpm and provides queries for installed, available, or obsoleted packages. The system also supports package groups, which bundle sets of related packages into logical collections (e.g., "Base" or "Development Tools").

Systemd and Init

Since CentOS 7, systemd has replaced the traditional SysVinit system as the default init system. Systemd manages services, sockets, timers, and dependencies through unit files located in /usr/lib/systemd/system and /etc/systemd/system. CentOS Core includes a minimal set of systemd units required to bring the system online, such as basic networking, system logging (journald), and the default SSH daemon. Custom units can be added by administrators to extend the system’s functionality.

Key Features

Minimal Footprint

CentOS Core is deliberately stripped of non‑essential packages, resulting in a small disk footprint. The base installation requires approximately 1 GB of disk space and less than 200 MB of RAM for a running system. This minimal size facilitates deployment on low‑cost hardware, virtual machines, and containers where resources are constrained.

Enterprise Compatibility

CentOS Core is binary compatible with RHEL, ensuring that software compiled for RHEL will run unchanged on CentOS. This compatibility allows enterprises to run production workloads without licensing costs while still receiving security patches and updates aligned with the RHEL release cycle. Compatibility extends to virtualization platforms (KVM, Xen, VMware) and cloud providers that support RHEL images.

RPM Package Management

RPM provides a robust framework for installing, updating, and removing software. Features include dependency resolution, transactional updates, and the ability to roll back packages. CentOS Core integrates with the DNF (Dandified YUM) front‑end, which replaces the older YUM tool in CentOS 8 and later releases. DNF supports modular repositories, enabling users to select specific application streams (e.g., Python 3.8 versus Python 3.9).

Installation Procedures

Media and ISO

CentOS Core installations are performed from ISO images available in the official CentOS repository. The ISO contains a bootstrap installer that sets up the partition table, creates a root file system, and installs the kernel and essential packages. The installer supports both CD/DVD and network boot (PXE). For network installations, a minimal set of packages is fetched from configured repositories.

Minimal vs Full Install

During installation, users can choose between a minimal installation (CentOS Core) and a full installation that includes optional packages such as desktop environments and development tools. The minimal option installs only the core packages listed in the “Base” group and a set of standard utilities. The full option adds packages from the “Server” group and may include services such as Apache HTTP Server or MySQL/MariaDB, depending on the selected profile.

Post‑Installation Configuration

After installation, administrators typically perform the following tasks: set a root password, configure network interfaces, enable SSH access, and register the system with the Red Hat Network (if using subscription management). Security hardening steps include disabling root login via SSH, configuring firewall rules (firewalld), and enabling SELinux in enforcing mode. System updates are applied using dnf update to ensure the latest security patches are installed.

Package Management

yum/dnf

YUM (Yellowdog Updater, Modified) was the original package manager used in CentOS 6 and earlier. DNF replaced YUM in CentOS 8, offering improved dependency handling, faster transactions, and a Python 3 API. Commands such as dnf install, dnf remove, and dnf upgrade are used to manage packages. The dnf list command provides information about installed and available packages, while dnf provides searches for packages that provide a given file or capability.

Repositories

CentOS Core uses a set of predefined repositories such as base, updates, extras, and centosplus. Each repository contains packages for specific purposes. The extras repository includes optional packages not found in the base stream, whereas centosplus contains packages that are built from the same source but use extended features or newer binaries. Users can enable or disable repositories by editing the corresponding .repo files under /etc/yum.repos.d/.

Third‑Party RPMs

Administrators often need software not available in the official repositories. Third‑party RPMs can be installed by adding new repository configuration files that point to external servers or by manually downloading and installing .rpm packages. Tools such as rpm and dnf install can handle local packages. Care must be taken to maintain package integrity and avoid dependency conflicts.

Security and Updates

Red Hat Security Advisory

CentOS Core receives security updates synchronized with RHEL’s Security Advisory Service (RHSA). When Red Hat publishes a security patch, CentOS mirrors the updated RPMs in the updates repository. Administrators can check for pending updates using dnf updateinfo list security and apply them with dnf update. This process ensures that systems remain protected against known vulnerabilities.

SELinux and AppArmor

SELinux (Security-Enhanced Linux) is the default mandatory access control (MAC) system in CentOS Core. It operates by enforcing security policies that restrict process capabilities. The default SELinux policy is permissive during installation but switches to enforcing mode upon first boot. Administrators can view the current mode with getenforce and modify policies using tools such as setsebool or custom policy modules. Although AppArmor is not included by default, users may install it from the extras repository if desired.

Patch Management

Patch management in CentOS Core relies on DNF’s transaction capabilities. Administrators can perform incremental updates by running dnf upgrade regularly. For critical systems, delta RPMs (dnf-plugins-core with the delta rpm plugin) can reduce bandwidth usage by downloading only the differences between installed and updated packages. A systematic patch schedule, combined with automated monitoring of security advisories, forms the backbone of enterprise security hygiene.

Use Cases and Applications

Web Servers

CentOS Core provides a lightweight platform for hosting web services. By installing the Apache HTTP Server or NGINX packages, administrators can serve static content or run dynamic web applications. The minimal footprint reduces memory overhead, allowing high-density hosting of web services on a single physical or virtual machine.

Database Hosting

Database engines such as MariaDB, PostgreSQL, and MySQL are available in the Server group. When installed on CentOS Core, these databases benefit from the base system’s stability and security features. CentOS Core’s modularity allows fine‑grained control over storage options, enabling the use of LVM, ZFS, or Btrfs for data persistence.

Development Platforms

Developers often use CentOS Core as the foundation for building custom software stacks. By installing development tools (gcc, make, automake) and language runtimes (Python, Ruby, Java), users can compile and test applications in an environment that mirrors RHEL production systems. The presence of standard development libraries also simplifies cross‑compilation for embedded targets.

Community and Support

Mailing Lists

CentOS maintains a set of mailing lists for announcements, discussions, and bug reports. The primary list is centos@lists.centos.org, which handles general questions and release notifications. Specialized lists exist for architecture, packaging, and documentation topics, fostering community collaboration.

IRC and Forums

IRC channels (such as #centos on freenode) provide real‑time support and discussion. Additionally, community forums and Q&A sites host threads on installation problems, performance tuning, and security hardening. These resources are valuable for both newcomers and experienced administrators seeking peer assistance.

Documentation

The CentOS project publishes extensive documentation covering installation, system administration, and best practices. Manuals include the CentOS System Administrator Guide, the CentOS Release Notes, and the CentOS Security Guide. The documentation is freely available in PDF and HTML formats and is regularly updated to reflect new releases.

Comparison with Alternatives

RHEL, Fedora, Debian, Ubuntu

CentOS Core is closely aligned with RHEL in terms of binaries and package management, but it does not require a commercial subscription. Compared to Fedora, which is a bleeding‑edge distribution with a shorter release cycle, CentOS Core prioritizes stability and long‑term support. Debian and Ubuntu focus on general‑purpose desktop and server use, offering a broader default package set but without the same level of binary compatibility with RHEL.

Advantages

  • Free of licensing fees while maintaining RHEL compatibility.
  • Minimal installation reduces resource consumption.
  • Long‑term support through synchronized updates with RHEL.
  • Strong community support and extensive documentation.

Limitations

  • No official support channel equivalent to RHEL’s paid support.
  • Release cadence lagging behind RHEL, potentially delaying access to new features.
  • Limited to the RPM ecosystem; not compatible with Debian’s .deb packages.

Future Direction and Evolution

CentOS Stream

CentOS Stream acts as an upstream repository for the next RHEL release, delivering updates earlier than the stable RHEL stream. This shift enables developers to test their applications against forthcoming features, but it also introduces increased variability in system stability. As a result, CentOS Core as a distinct minimal install is no longer a primary focus of the project.

Shift to RHEL‑Like Model

The CentOS community has considered aligning more closely with RHEL’s subscription model, potentially offering a paid subscription tier for CentOS Stream. This model could provide a more predictable update path and professional support options. However, such changes would require significant community consensus and resource allocation.

References & Further Reading

1. Red Hat Enterprise Linux System Administrator’s Guide. 2. CentOS Project Documentation. 3. The RPM Package Manager Manual. 4. Security‑Enhanced Linux (SELinux) Policy Documentation. 5. DNF: Dandified YUM User Guide. 6. CentOS Release Notes Archive. 7. CentOS Community Mailing List Archives. 8. CentOS Security Advisory Service Documentation. 9. CentOS Stream Release Notes. 10. Fedora Project Documentation on System Administration.

Was this helpful?

Share this article

See Also

Suggest a Correction

Found an error or have a suggestion? Let us know and we'll review it.

Comments (0)

Please sign in to leave a comment.

No comments yet. Be the first to comment!