CentOS
CentOS is a community-driven open-source project that develops and distributes Linux operating systems based on the source code of Red Hat Enterprise Linux (RHEL), offering a free platform for servers, cloud environments, and scientific computing.[1][2] Originally launched in 2004 as the Community Enterprise Operating System, CentOS provided a binary-compatible rebuild of RHEL, allowing users to access enterprise-grade stability without licensing costs, and it quickly became popular for its long-term support cycles and compatibility with commercial software.[2] The project operated independently until 2014, when it formalized ties with Red Hat, incorporating community governance alongside Red Hat oversight to ensure alignment with RHEL's security updates and package ecosystem.[1] Historically, CentOS released stable versions like CentOS Linux 7 (2014–2024), which mirrored point-in-time RHEL releases and received community-maintained updates for approximately 10 years, and CentOS Linux 8 (2019–2021), whose support was shortened to December 31, 2021, making these versions staples for production deployments in data centers and web hosting.[3][2] However, in December 2020, the CentOS Project announced a strategic shift away from these fixed-release models toward CentOS Stream, accelerating the end-of-life for CentOS Linux 8 to December 31, 2021, and CentOS Linux 7 to June 30, 2024, after which no further updates or security patches were provided.[3] CentOS Stream, introduced in 2019 and positioned as the project's primary ongoing distribution, functions as a rolling-release development platform that tracks just ahead of RHEL's evolution, serving as a midstream collaboration space between the upstream Fedora Linux and downstream RHEL for testing innovations, package contributions, and early access to features.[4][2] As of 2025, CentOS Stream 9 and the CentOS Stream 10 (tracking RHEL 10) are actively maintained by a combination of community special interest groups (SIGs) and Red Hat engineers, with support lifecycles matching RHEL's five-year full support phase per major version, emphasizing modularity through repositories like BaseOS and AppStream.[5][1] This transition has prompted migrations for former CentOS Linux users, with Red Hat recommending paths to RHEL via tools like Convert2RHEL or subscriptions for extended support, while community alternatives like AlmaLinux and Rocky Linux have emerged as RHEL rebuilds to fill the stable-distribution niche.[3] Overall, CentOS remains a cornerstone of the open-source Linux ecosystem, fostering innovation and accessibility in enterprise computing.[1]History
Origins and Early Development
The CentOS Project originated from the efforts of Gregory Kurtzer, who in October 2000 began developing cAos Linux, a community-managed RPM-based distribution inspired by Debian and initially hosted at Lawrence Berkeley National Laboratory, a Red Hat environment.[6] The project's core goal was to deliver a stable, rebuildable platform derived from RHEL sources, enabling widespread access to enterprise Linux for servers and development while fostering open-source contributions.[6] By 2002, Kurtzer's cAos initiative merged with independent rebuilds of Red Hat Enterprise Linux (RHEL) source code led by Rocky McGough and Lance Davis, formally establishing the CentOS Project as a free, community-driven effort to provide enterprise-grade Linux binaries without proprietary branding or costs.[7] The first major CentOS release, version 3, arrived in March 2004, based on RHEL 3, marking the project's commitment to mirroring RHEL's stability and long-term support cycles.[8] This was swiftly followed by version 2 in May 2004, forked from RHEL 2.1 to align versioning with its upstream counterpart.[9] Subsequent major releases maintained this synchronization: CentOS 5 in April 2007 from RHEL 5, emphasizing enhanced security and virtualization features; CentOS 6 in July 2011 from RHEL 6, introducing better file system support and scalability for enterprise servers; and CentOS 7 in July 2014 from RHEL 7, incorporating systemd for modern process management and containerization readiness.[9] These releases solidified CentOS's reputation for reliability in server environments, attracting developers and organizations seeking cost-free alternatives to commercial support.[10] CentOS's popularity surged through the mid-2010s, driven by its binary compatibility with RHEL and the stability that made it ideal for production servers, with adoption reaching millions of installations globally.[10] Early community involvement was coordinated via the cAos Foundation, a 501(c)(3) nonprofit formed by Kurtzer for governance, funding, and contributor management, which supported packaging, testing, and documentation efforts.[6] A pivotal milestone occurred in January 2014 when Red Hat resolved a long-standing trademark dispute by sponsoring the project and co-establishing the CentOS Project Board, comprising community stewards and Red Hat representatives to guide development while preserving independence.[10] This collaboration enhanced transparency and integration with broader open-source ecosystems, boosting contributions from volunteers worldwide.[10]Shift to CentOS Stream and Discontinuation of CentOS Linux
In December 2020, Red Hat, which had acquired the CentOS trademarks in 2014, announced a major shift in the project's direction, discontinuing traditional CentOS Linux releases in favor of CentOS Stream as a rolling-release distribution serving as the upstream development platform for Red Hat Enterprise Linux (RHEL).[11][12] This decision positioned CentOS Stream ahead of RHEL releases to enable earlier community contributions to features, bug fixes, and testing, but it marked the end of CentOS Linux as a point-in-time rebuild of RHEL.[11] The announcement specified clear end-of-life (EOL) timelines for existing CentOS Linux versions to facilitate user transitions. CentOS Linux 8 reached EOL on December 31, 2021, after which no further updates, security patches, or errata were provided, though Red Hat recommended migrations to CentOS Stream 9 or RHEL 8 for continued support.[13] CentOS Linux 7 received extended maintenance until its EOL on June 30, 2024, aligning with RHEL 7's end-of-maintenance phase, with the final updates focusing solely on critical security fixes during that period.[3] Red Hat provided migration tools and guidance, such as themigrate2stream script for CentOS Linux 8 to CentOS Stream 8, emphasizing compatibility testing to minimize disruptions for enterprise users.[14]
The decision sparked significant backlash from the CentOS community, who viewed the move as undermining the distribution's role as a free, stable alternative to RHEL, with many expressing concerns over the shift to a rolling model potentially introducing instability for production environments.[7] In response, community-driven alternatives emerged rapidly in 2021 to preserve the downstream RHEL rebuild model: Rocky Linux was announced on December 9, 2020, by original CentOS co-founder Gregory Kurtzer, aiming for 100% bug-for-bug compatibility with RHEL, with its first stable release (8.4) in June 2021; AlmaLinux followed with a beta in February 2021 and stable release on March 30, 2021, backed by CloudLinux Inc. and focused on long-term stability without corporate control.[15][16]
Following the 2021 EOL of CentOS Linux 8, the CentOS project redirected efforts to CentOS Stream, releasing CentOS Stream 9 in December 2021 as the upstream for RHEL 9, which incorporated ongoing enhancements from Fedora and community input.[17] By 2024, this evolution continued with the introduction of CentOS Stream 10 on December 12, 2024, built from elements of Fedora 40 and aligned with the planned development of RHEL 10, featuring updates like kernel 6.12 and Python 3.12 to support future enterprise innovations.[18]
Design and Features
Core Design Principles
CentOS achieves binary compatibility with Red Hat Enterprise Linux (RHEL) by rebuilding the open-source components from RHEL's publicly released source RPMs, excluding any proprietary elements such as Red Hat's branding or subscription-specific features, which results in packages that function identically to their RHEL counterparts for supported open-source software.[19] This process ensures that applications and services tested on CentOS can seamlessly transition to RHEL environments without modification, providing a cost-free testing and development platform aligned with enterprise standards.[2] A primary design tenet of CentOS is stability through adherence to RHEL's application programming interface (API) and application binary interface (ABI) compatibility promises, providing a continuous delivery model as a midstream platform between Fedora Linux and RHEL for testing innovations and contributions, with major version releases supported for five years, matching RHEL's full support phase.[2][20] This approach emphasizes server and enterprise use cases, such as cloud hosting, data centers, and scientific computing, where ABI stability ensures reliable behavior across updates.[1] At its core, CentOS integrates established enterprise tools for package management and security, including the RPM (Red Hat Package Manager) format for distributing software, which enables dependency resolution and verifiable installations, alongside YUM (Yellowdog Updater Modified) for earlier versions and its successor DNF (Dandified YUM) for more efficient handling of repositories and updates in later releases.[2] SELinux (Security-Enhanced Linux) is enabled by default, providing mandatory access controls at the kernel level to enforce fine-grained security policies, thereby enhancing protection against unauthorized access in server deployments without requiring additional configuration.[21] CentOS operates under community governance through a decentralized model involving Special Interest Groups (SIGs) that develop variants and maintain infrastructure, overseen by a project board to ensure alignment with open-source principles, fostering collaborative contributions via public repositories like Git while avoiding centralized control.[22] This structure supports free redistribution under the GNU General Public License (GPL) and other compatible open-source licenses, allowing unrestricted sharing of the distribution and its source code without the subscription fees associated with RHEL, thereby democratizing access to enterprise-grade Linux for global users.[2]Compatibility with Red Hat Enterprise Linux
CentOS achieves functional equivalence with Red Hat Enterprise Linux (RHEL) through a structured legal and technical framework that leverages RHEL's open-source components. Red Hat releases the source code for RHEL under the GNU General Public License (GPL), which permits redistribution and modification by third parties. The CentOS project utilizes these sources to build its distribution, systematically removing Red Hat's branding, trademarks, and any proprietary artwork or documentation to comply with licensing terms and create a community-focused alternative. This process ensures that CentOS remains free from commercial restrictions while preserving the core codebase's integrity.[7][23] Technically, compatibility is maintained by rebuilding RHEL's Source RPM (SRPM) packages. The CentOS team downloads the SRPMs provided by Red Hat, adjusts the build specifications to eliminate branded elements, and recompiles them into binary RPMs using the same toolchain and configurations as RHEL. This results in packages that are binary-compatible, offering identical application binary interfaces (ABIs) and application programming interfaces (APIs) to enable seamless software portability between the two distributions. Proprietary modules, such as certain hardware drivers or firmware excluded from RHEL's public sources, are omitted during the rebuild; community-driven repositories like Extra Packages for Enterprise Linux (EPEL) provide open-source alternatives or additional packages to fill these gaps without compromising stability.[23][24] In terms of support, CentOS operates on a community-driven model, contrasting with RHEL's paid enterprise subscriptions that include dedicated assistance and service-level agreements (SLAs). Despite this, CentOS mirrors RHEL's update cadence for bug fixes and security patches, sourcing errata directly from RHEL releases and applying them through community testing processes that align with Red Hat's rigorous validation. This synchronization ensures equivalent protection against vulnerabilities, though without Red Hat's guaranteed response times or long-term commitments beyond community resources.[12][11] The 2014 partnership between Red Hat and the CentOS Project further solidified this compatibility by providing official resources and governance support, ensuring sustained access to RHEL sources for rebuilds and fostering collaborative development. This arrangement enhanced CentOS's role as a stable testing ground for RHEL-compatible applications, while allowing the community to influence upstream contributions without altering the downstream rebuild model.[10]Versions and Releases
Major CentOS Linux Releases
CentOS Linux 3, released in 2004 and derived from Red Hat Enterprise Linux (RHEL) 3, marked an early milestone in the distribution's evolution by introducing native support for the x86_64 architecture alongside the existing i386 variant. This enabled broader compatibility with 64-bit processors from AMD and Intel, facilitating more efficient handling of large-scale enterprise workloads such as database servers and high-availability clusters. The release emphasized stability and security for production server deployments, incorporating updates from the upstream RHEL sources while removing proprietary branding.[25] CentOS Linux 5, launched in April 2007 based on RHEL 5, promised an extended 10-year support lifecycle to align with enterprise needs for long-term predictability. It featured a significant kernel upgrade to version 2.6.18, which included enhancements for better hardware support, improved networking performance, and refined memory management. A key innovation was the integration of Xen-based virtualization, allowing users to run multiple virtual machines on a single physical host for i686 and x86_64 architectures, thereby supporting consolidated server environments and reducing operational costs.[25][26][27] CentOS Linux 6, released in July 2011 and built from RHEL 6 sources, advanced kernel capabilities to version 2.6.32, incorporating backported features from later upstream kernels for enhanced stability and scalability. This version improved file system options, notably promoting XFS as a robust, high-performance choice for large data volumes with features like online defragmentation and quota support. Additionally, it bolstered cloud integration through better compatibility with virtualization platforms like KVM and tools for hybrid cloud deployments, enabling seamless scaling in virtualized infrastructures.[25][28] CentOS Linux 7, introduced in July 2014 from RHEL 7, adopted systemd as the default init system to streamline service management, boot processes, and dependency handling for more efficient system administration. Running on kernel 3.10, it provided foundational support for modern containerization, including native integration with Docker for building and deploying containerized applications in enterprise settings. These changes emphasized performance optimizations and security hardening, such as improved firewall tools and SELinux policies, to meet demands for cloud-native and virtualized operations.[25][29] CentOS Linux 8, released in September 2019 and sourced from RHEL 8, transitioned to DNF as the primary package manager, offering superior dependency resolution and performance over its predecessor YUM. It introduced modular application streams via AppStream, allowing users to select specific versions of software like Node.js or Nginx without disrupting the base system, thus providing flexibility for diverse development and deployment scenarios. This release also supported a wider array of container tools and enhanced security features, positioning it for modern DevOps workflows.[25]End-of-Life and Support Schedules
CentOS Linux major releases traditionally adhered to a 10-year support lifecycle, aligned with the support duration of its upstream distribution, Red Hat Enterprise Linux (RHEL).[30][31] This cycle encompassed full updates, including bug fixes and enhancements, for the first six to seven years, followed by a maintenance phase focused on security errata and critical stability patches.[32] For instance, CentOS 7, initially released on July 7, 2014, maintained this full 10-year span, with support concluding on June 30, 2024.[30][3] However, the 2020 announcement of the transition to CentOS Stream shortened the lifecycle for later versions. CentOS 8, released on September 24, 2019, reached end-of-life (EOL) on December 31, 2021, after only about two years of active support.[13][30] Similarly, CentOS 7's EOL on June 30, 2024, marked the issuance of its final security errata, with the last updates syncing from RHEL 7's corresponding patches before repositories shifted to archival status.[3][33] Update policies for CentOS Linux during active support involved periodic point releases that delivered cumulative improvements, security fixes, and minor enhancements, directly mirroring RHEL's errata to ensure binary compatibility.[34][35] An example is the CentOS 7.9.2009 point release, which incorporated the latest available patches up to that build date.[35] Additionally, community-driven Special Interest Groups (SIGs) supplemented core updates by maintaining specialized repositories for extensions, such as virtualization tools or cloud components, available alongside the standard base repositories.[36][37]| Version | Release Date | EOL Date | Support Duration |
|---|---|---|---|
| CentOS 7 | July 7, 2014 | June 30, 2024 | 10 years |
| CentOS 8 | September 24, 2019 | December 31, 2021 | ~2 years |
Alternative Architectures and Add-ons
CentOS has provided support for alternative architectures through the efforts of the Alternative Architecture Special Interest Group (AltArch SIG), which focuses on porting the distribution to platforms not directly supported by upstream Red Hat Enterprise Linux sources.[42] This includes builds for ARM, PowerPC, and s390x, enabling deployment on diverse hardware such as embedded devices, mainframes, and high-performance computing systems. These AltArch releases maintain compatibility with the core CentOS Linux or Stream while adapting to architecture-specific requirements, with end-of-life timelines aligned to the parent version's support schedule.[42] ARM support began with community-driven ports for CentOS Linux 7 in early 2015, initially targeting 32-bit ARMv7 (armv7hl) for devices like the Raspberry Pi 2.[43] Proof-of-concept images for Raspberry Pi were released later that year using the RootFS Build Factory, a Google Summer of Code project, allowing users to unpack and boot minimal CentOS userland environments on ARM hardware.[44] By CentOS 8 and continuing in CentOS Stream, official ARM64 (aarch64) support was added, covering devices from Raspberry Pi to server-grade ARM processors, with repositories providing full package ecosystems. These builds reached end-of-life in sync with their base releases, such as CentOS Linux 7 ARM support concluding on June 30, 2024.[4] PowerPC support originated in beta form for CentOS 4, encompassing both 32-bit ppc and 64-bit ppc64 architectures, primarily for IBM systems. The AltArch SIG extended this to Power8 (ppc64le) in later versions, including experimental ports for CentOS 7, to leverage little-endian Power architectures in enterprise and scientific computing. CentOS Stream 9 and 10 further formalized ppc64le support through SIG-maintained repositories, ensuring alignment with RHEL's architecture coverage and shared end-of-life dates.[37] s390x (IBM Z mainframe) support was available from CentOS 4 onward, providing a stable platform for z Systems workloads. Community discussions in 2016 proposed expanding AltArch SIG involvement for s390x, leading to improved integration in CentOS 7 and beyond.[45] By 2024, s390x became fully accessible for SIG builds in the CentOS Build System, with CentOS Stream 9 and 10 offering dedicated BaseOS and AppStream repositories for this architecture.[46] End-of-support follows the mainline schedule, such as June 30, 2024, for CentOS Linux 7 variants.[47] Beyond core architecture ports, CentOS includes add-on repositories and SIG-specific extensions to enhance functionality. The CentOS Extras repository supplies supplementary packages that extend base capabilities without altering upstream compatibility, such as additional libraries and tools for CentOS 5 through 8. The Continuous Release (CR) repository serves as a testing ground for packages destined for the next point release, allowing early access to updates and bug fixes between major ISOs; for instance, CR for CentOS 7.1708 was populated starting in August 2017.[48] To enable CR, users install the centos-release package and run yum-config-manager --enable cr. Special Interest Groups (SIGs) contribute specialized repositories, often hosted in Extras or dedicated streams. The Storage SIG, for example, maintains packages for advanced filesystems and storage solutions like GlusterFS, Ceph, and Samba, ensuring CentOS suitability for enterprise storage environments across architectures including ARM and s390x.[49] These SIG repos integrate seamlessly with main releases, providing centos-release-CentOS Stream
Introduction and Purpose
CentOS Stream is a community-driven Linux distribution developed as a rolling-release platform that bridges the gap between Fedora and Red Hat Enterprise Linux (RHEL), serving as an upstream development environment for RHEL innovations. First released on September 24, 2019, it was announced on December 8, 2020, as the successor to CentOS Linux and is positioned as a "midstream" distribution, enabling the early testing and integration of features destined for future RHEL releases.[51][12][52] The core purpose of CentOS Stream is to foster collaboration between the open-source community and Red Hat developers, providing a stable-yet-rolling base for experimenting with RHEL upstream changes without the constraints of fixed point releases. This model allows early adopters, such as developers and system integrators, to contribute feedback and refinements to packages and features before they stabilize in RHEL, thereby accelerating the overall development cycle while maintaining compatibility with RHEL's ecosystem.[53][52] In contrast to CentOS Linux's point-in-time rebuilds of RHEL, which offered binary compatibility but limited flexibility for ongoing updates, CentOS Stream employs continuous integration of Fedora innovations, resulting in a more dynamic release approach that supports rapid iteration.[23] As of November 2025, CentOS Stream continues active development, with CentOS Stream 10 as the primary version supporting the post-RHEL 10 landscape following RHEL 10's release in May 2025; CentOS Stream 9 remains supported alongside it for ongoing RHEL 9 compatibility needs.[18][54]Development Model and Release Cycle
CentOS Stream utilizes a Git-based development model centered on public repositories hosted on GitLab, where contributors collaborate by submitting merge requests for source code changes and RPM packaging specifications. All RPM sources are maintained in DistGit repositories under the redhat/centos-stream namespace, integrating a lookaside cache for handling non-text assets like tarballs via SHA hashes referenced in sources files. Changes to upstream projects are tracked in source-git repositories, with patches automated through tools like Packit to ensure compatibility during the build process. This model facilitates RPM builds directly from RHEL sources, which are publicly released through CentOS Stream as the primary repository, allowing for transparent iteration ahead of RHEL stabilization. Integration with Fedora occurs via syncing with Fedora Extra Linux Next (ELN), a development branch derived from Fedora Rawhide, during the initial bootstrap phase of each major version to incorporate upstream innovations. The release cycle of CentOS Stream emphasizes continuous delivery, with major versions aligned to RHEL's cadence but enabling faster public iteration; new majors are released approximately every three years, each entering a bootstrap phase for ELN synchronization, followed by pre-release stabilization and full availability. For instance, CentOS Stream 9 was released on December 3, 2021, while Stream 10 followed on December 12, 2024.[55] Updates are delivered continuously to users via the DNF package manager, reflecting its rolling-release nature as a midstream preview of upcoming RHEL minor releases. Support for each major version lasts about five years, tied directly to the end of RHEL's full support phase, such as Stream 9 until May 31, 2027, and Stream 10 until May 31, 2030.[56] Update policies prioritize stability while incorporating RHEL-validated changes, with composes—aggregated repository snapshots—generated multiple times per week via automated Releng processes to bundle recent package updates without a formal SLA. Security fixes flow from RHEL to Stream post-resolution, ensuring critical and important vulnerabilities are addressed after embargoed releases in RHEL but with minimal delay for non-embargoed issues; for example, the polkit CVE-2021-4034 was backported identically to both. Beta phases support pre-release testing during major version stabilization, allowing community feedback before general availability, while ongoing composes enable weekly manual repository updates for production use. Key tools and processes underpin this workflow, including the CentOS CI infrastructure with Zuul for automated testing pipelines and Koji for build management, where candidate tags like c9s-candidate gate packages before promotion. Bug tracking occurs via Red Hat's JIRA instance at issues.redhat.com, with issues referenced in Git commits (e.g., "RHEL-1234") to link defects to changes during merge request reviews. Packaging adheres to Dist-Git guidelines, facilitated by the centpkg tool for handling spec files, patches, and source uploads, ensuring compliance with RHEL's API/ABI stability requirements.Community and Infrastructure
Special Interest Groups
CentOS Special Interest Groups (SIGs) are volunteer-led subgroups within the CentOS Project that focus on specific technical niches to enhance the ecosystem, such as developing and packaging software for specialized use cases or raising awareness around key topics.[37] These groups operate under the oversight of the CentOS Board and contribute to CentOS Stream by creating variant distributions, maintaining repositories, and fostering community collaboration.[57] Key SIGs include the Virt SIG, which delivers a full stack of virtualization technologies, including tools for deployment, management, and lifecycle support of virtual machines.[58] The Cloud SIG provides free and open-source software (FOSS) based cloud infrastructure applications, such as OKD for Kubernetes and RDO for OpenStack, distributed through repositories like centos-sig-cloud.[59] The Storage SIG ensures CentOS serves as a robust platform for storage solutions, packaging projects like GlusterFS via centos-release-storage RPMs in the Extras repository.[49] SIGs contribute through custom package development, such as kernel modules and software collections; rigorous testing on platforms like public CI environments; and community events, including CentOS Dojos, which are one- or two-day gatherings for systems administration discussions and knowledge sharing.[57] Following the 2020 transition to CentOS Stream as the primary upstream development platform, SIGs have evolved to prioritize builds and testing against Stream releases, aligning their work with the rolling development model to better support future Red Hat Enterprise Linux versions.[12] Governance of SIGs involves a structured process for formation and operation, starting with a proposal submitted by a Champion via the centos-devel mailing list, detailing the group's purpose, target audience, team, and risks.[22] Approval progresses through stages—Sandbox, Early, and Mature—requiring Board votes, such as three +1 votes with no -1 for initial creation, and unanimous consent for maturity.[22] Mature SIGs gain autonomy to sign and release packages, while all integrate with the Project Board for oversight, licensing via git.centos.org, and coordination with the Core SIG for base builds.[22]Repositories and Package Management
CentOS maintains a structured repository ecosystem to distribute software packages, primarily aligned with Red Hat Enterprise Linux (RHEL) for compatibility. The main repositories include BaseOS, which provides the core operating system components such as the kernel and essential libraries; AppStream, offering additional user-space applications, runtime languages, and databases to support diverse workloads; Extras, containing supplementary packages not included in the primary repositories; and CRB (CodeReady Builder; formerly PowerTools in RHEL 8 contexts), which supplies development tools and dependencies, typically disabled by default to avoid conflicts with stable environments.[60] Package management in CentOS relies on the RPM (Red Hat Package Manager) format, where packages are distributed as .rpm files containing binaries, metadata, and scripts for installation. Dependency resolution is automated by the package manager, which analyzes requirements, conflicts, and provides during installation or updates to ensure system integrity. In earlier versions like CentOS 7, YUM (Yellowdog Updater Modified) served as the primary tool for repository interaction, handling downloads, installations, and updates. Starting with CentOS 8, DNF (Dandified YUM) replaced YUM as the default, offering improved dependency solving, better performance through the libsolv library, and modular repository support, while retaining YUM as a compatibility alias.[61][62] The global mirror network ensures reliable access to repositories, with mirrors synchronized via rsync from central servers like rsync.stream.centos.org, managed through the Fedora Mirrormanager system. Users access mirrors dynamically via mirrorlist.centos.org, which resolves to geographically close sites based on IP location, supporting HTTP, HTTPS, and FTP protocols. For end-of-life (EOL) versions, the CentOS Vault provides archived snapshots of repositories without further updates, allowing access to historical packages for legacy systems via vault.centos.org.[63][64] To extend the repository ecosystem, CentOS integrates the Extra Packages for Enterprise Linux (EPEL) repository, maintained by the Fedora Project, which supplies high-quality additional software packages derived from Fedora without conflicting with core distributions. EPEL is enabled by installing the epel-release package, which adds the necessary configuration files. For building custom repositories, the createrepo tool generates repomd metadata from directories of RPM files, facilitating local or private mirrors.[24][65][66] Security features protect repository integrity, including GPG (GNU Privacy Guard) keys for signing packages and metadata, with project keys distributed in the centos-gpg-keys package under /etc/pki/rpm-gpg. Repository priorities can be managed using the yum-plugin-priorities (or dnf-plugin-system-upgrade for DNF), assigning numerical priorities to repos in configuration files to prefer official sources over third-party ones and avoid unintended upgrades. Configurations are stored in /etc/yum.repos.d/, where .repo files define URLs, GPG checks (via gpgcheck=1), and other options like enabled=1 for activation. Special Interest Groups (SIGs) occasionally contribute custom repositories, but these follow the same configuration standards.[67]Architectures and Deployment
Supported Hardware Architectures
CentOS primarily supports the x86_64 architecture (also known as AMD64 or Intel 64), which serves as the default and most widely used platform across all major releases, including CentOS Linux 7 and subsequent CentOS Stream versions.[32] This architecture provides full kernel and package builds, optimized for 64-bit processors from AMD and Intel, with baseline requirements targeting x86_64 v2 for Stream 9 and v3 for Stream 10 to enable modern optimizations.[55][5] Alternative architectures, managed through the AltArch Special Interest Group, extend CentOS support to non-x86 platforms with community-maintained install images and full package trees, ensuring compatibility with upstream Red Hat Enterprise Linux where possible.[42] The aarch64 (ARM64) architecture has been supported since CentOS Linux 7, targeting ARMv8 processors and offering full kernel builds for servers, embedded systems, and cloud environments. Similarly, ppc64le (PowerPC little-endian) caters to IBM Power systems starting from POWER9 in recent Stream releases, while s390x supports IBM Z mainframes from z14 onward, both with comprehensive package availability but requiring specific hardware certifications for optimal performance.[5][55] Support for these alternative architectures includes complete kernel compilations and repository packages, though CentOS Stream versions impose some limitations, such as a primary focus on aarch64 for ARM deployments in Stream 9 while deprecating older 32-bit variants like ARMv7hl or i386.[32] Hardware requirements vary by architecture and release; for instance, CentOS Stream 8 recommends at least 1.5 GB of RAM per logical CPU and 10 GB of disk space for minimal installations, with Stream 9 and 10 raising the bar to support advanced features like x86_64 v3 instructions.[32] Official hardware compatibility lists, maintained by the community, provide verified examples of certified devices, such as specific ARM boards and Power servers, to guide deployments.[68]| Architecture | Introduction/Release | Minimum Requirements | Notes |
|---|---|---|---|
| x86_64 | All releases | 1-2 GB RAM, 10 GB disk; v2+ for Stream 9, v3 for Stream 10 | Primary; full support |
| aarch64 | CentOS 7 onward | ARMv8.0-A; 1.5 GB RAM per CPU | AltArch; focused in Stream 9 |
| ppc64le | CentOS 7 onward | POWER9+; 1.5 GB RAM per CPU | IBM Power systems |
| s390x | CentOS 7 onward | z14+; architecture-specific | IBM mainframes |