CentOS Stream

CentOS Stream is a rolling-release Linux distribution that serves as the upstream development platform for Red Hat Enterprise Linux (RHEL). It provides a stable foundation for enterprise environments while offering newer features than traditional RHEL. Following the transformation of the CentOS project in 2020, CentOS Stream has become the community-driven innovation platform that feeds directly into RHEL development, offering organizations and developers a transparent view into the future of enterprise Linux.

Introduction to CentOS Stream

CentOS Stream represents a fundamental shift in the CentOS project’s role within the Red Hat ecosystem. Rather than being a downstream rebuild of RHEL (as classic CentOS was), Stream sits between Fedora and RHEL as a continuously delivered distribution. This positioning allows contributors to shape RHEL development while providing a stable, production-ready platform that previews upcoming RHEL features. For organizations familiar with the old CentOS, Stream offers similar stability with the added benefit of seeing and influencing RHEL’s direction.

Key Features and Advantages

Enterprise-Ready Platform

CentOS Stream maintains enterprise-grade quality through:

  • Rigorous Testing: Continuous integration and automated testing
  • Stability Focus: Changes undergo extensive validation before inclusion
  • Production Use: Designed for real-world server deployments
  • Security Updates: Regular security patches and vulnerability fixes
  • Long Lifecycle: Support throughout RHEL version lifecycles (typically 5+ years per stream)

RHEL Development Platform

Stream’s unique position in the ecosystem provides:

  • RHEL Preview: See upcoming RHEL features months in advance
  • Influence Development: Community contributions shape RHEL direction
  • Binary Compatibility: Application Binary Interface (ABI) compatible with corresponding RHEL version
  • Testing Ground: Validate enterprise applications before RHEL deployment
  • Transparent Process: Open development visible to community

Rolling Updates Within Streams

Unlike pure rolling releases, CentOS Stream uses a hybrid model:

  • Major version streams (Stream 8, Stream 9) remain stable
  • Continuous updates within each stream (no minor versions)
  • Kernel and package updates delivered as ready
  • No disruptive version upgrades within a stream
  • Predictable upgrade path when moving between streams

Enterprise Security

  • SELinux: Security-Enhanced Linux enabled and enforcing by default
  • Firewalld: Dynamic firewall management
  • Secure Boot: UEFI Secure Boot support
  • FIPS 140-2: Federal compliance capabilities
  • Regular CVE Patches: Timely security vulnerability fixes

System Requirements

Minimum Requirements

  • Processor: x86_64 CPU (2 cores minimum)
  • Memory: 2 GB RAM minimum
  • Storage: 20 GB disk space
  • Network: Internet connection for installation and updates
  • Processor: 4+ cores for server workloads
  • Memory: 4-8 GB RAM depending on services
  • Storage: 50 GB+ with appropriate RAID configuration
  • Network: Redundant network interfaces for critical services

Installation Guide

Download and Preparation

# Download CentOS Stream ISO
wget https://mirrors.centos.org/mirrorlist?path=/9-stream/BaseOS/x86_64/iso/CentOS-Stream-9-latest-x86_64-dvd1.iso

# Verify checksum
sha256sum CentOS-Stream-9-latest-x86_64-dvd1.iso

# Create bootable USB
sudo dd if=CentOS-Stream-9-latest-x86_64-dvd1.iso of=/dev/sdX bs=4M status=progress oflag=direct
sync

Installation Process

  1. Boot from installation media
  2. Select “Install CentOS Stream 9”
  3. Choose language and keyboard layout
  4. Configure installation destination (automatic or custom partitioning)
  5. Configure network and hostname
  6. Set root password
  7. Create user account
  8. Select software packages (Minimal Install, Server, Workstation, etc.)
  9. Begin installation
  10. Reboot into installed system

Post-Installation Configuration

# Update system
sudo dnf update -y

# Install EPEL repository (Extra Packages for Enterprise Linux)
sudo dnf install epel-release -y

# Install essential tools
sudo dnf install vim wget curl git htop -y

# Configure firewall
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload

# Enable cockpit web console
sudo systemctl enable --now cockpit.socket
# Access at https://server-ip:9090

Package Management

DNF Package Manager

# Update package metadata
sudo dnf check-update

# Update all packages
sudo dnf update

# Install package
sudo dnf install package-name

# Remove package
sudo dnf remove package-name

# Search for packages
dnf search keyword

# Show package information
dnf info package-name

# List installed packages
dnf list installed

# Install package groups
sudo dnf groupinstall "Development Tools"

Managing Repositories

# List enabled repositories
dnf repolist

# List all repositories
dnf repolist --all

# Enable repository
sudo dnf config-manager --enable repository-name

# Disable repository
sudo dnf config-manager --disable repository-name

# Add custom repository
sudo dnf config-manager --add-repo https://example.com/repo

Container Technologies

Podman: Daemonless Containers

# Podman comes pre-installed on CentOS Stream

# Run container
podman run -dt -p 8080:80 nginx

# List running containers
podman ps

# Build image
podman build -t myapp .

# Create pod
podman pod create --name webapp -p 8080:80

# Generate systemd service from container
podman generate systemd --new --name mycontainer > /etc/systemd/system/mycontainer.service
sudo systemctl enable --now mycontainer

Server Management with Cockpit

Cockpit Web Console Features

  • System Overview: CPU, memory, disk, network monitoring
  • Service Management: Start, stop, enable systemd services
  • Storage: Manage disks, RAID, LVM, filesystems
  • Networking: Configure network interfaces, firewall, bonding
  • Accounts: User and group management
  • Terminal: Web-based terminal access
  • Updates: Apply system updates through GUI
  • Logs: View and search system logs

Accessing Cockpit

# Enable Cockpit
sudo systemctl enable --now cockpit.socket

# Allow through firewall
sudo firewall-cmd --permanent --add-service=cockpit
sudo firewall-cmd --reload

# Access at: https://server-ip:9090
# Login with system user credentials

CentOS Stream vs Alternatives

CentOS Stream vs RHEL

RHEL offers commercial support, certifications, longer support (10 years), and guaranteed stability. CentOS Stream is free, slightly ahead of RHEL in development, and suitable for organizations not requiring commercial support. Stream is ideal for dev/test environments while RHEL is for production.

CentOS Stream vs Rocky Linux/AlmaLinux

Rocky Linux and AlmaLinux are downstream RHEL rebuilds (like old CentOS), providing binary compatibility with released RHEL versions. Stream is upstream to RHEL, receiving changes before they reach RHEL. Choose Rocky/Alma for traditional CentOS replacement; choose Stream to influence RHEL development.

CentOS Stream vs Ubuntu Server

Ubuntu offers newer software packages, larger community, more frequent releases (6 months), and 5-year LTS support. CentOS Stream provides RHEL compatibility, enterprise focus, SELinux, and longer lifecycle support. Ubuntu is more developer-friendly; CentOS Stream is more enterprise-conservative.

Migration and Conversion

Migrating from CentOS Linux 7/8

# Convert CentOS Linux 8 to Stream 8
sudo dnf install centos-release-stream
sudo dnf swap centos-linux-repos centos-stream-repos
sudo dnf distro-sync

# Note: CentOS 7 requires fresh installation
# No direct upgrade path from CentOS 7 to Stream 9

Converting to RHEL

Red Hat provides the Convert2RHEL tool to migrate from CentOS Stream to RHEL with subscription, enabling organizations to transition to commercial support when needed.

Common Use Cases

Web Servers

# Install Apache
sudo dnf install httpd
sudo systemctl enable --now httpd
sudo firewall-cmd --permanent --add-service=http --add-service=https
sudo firewall-cmd --reload

# Install Nginx
sudo dnf install nginx
sudo systemctl enable --now nginx

Database Servers

# Install PostgreSQL
sudo dnf install postgresql-server postgresql-contrib
sudo postgresql-setup --initdb
sudo systemctl enable --now postgresql

# Install MySQL/MariaDB
sudo dnf install mariadb-server
sudo systemctl enable --now mariadb
sudo mysql_secure_installation

Container Host

CentOS Stream excels as a container host with Podman, Buildah, and Skopeo pre-installed, providing a complete container ecosystem without Docker’s daemon.

Security Hardening

SELinux Configuration

# Check SELinux status
sestatus

# View SELinux denials
sudo ausearch -m avc -ts recent

# SELinux troubleshooting
sudo sealert -a /var/log/audit/audit.log

# Temporarily set permissive (for troubleshooting)
sudo setenforce 0

# Re-enable enforcing
sudo setenforce 1

Firewall Configuration

# Check firewall status
sudo firewall-cmd --state

# List all configurations
sudo firewall-cmd --list-all

# Add service permanently
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload

# Add custom port
sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --reload

Community and Support

Resources

  • CentOS Mailing Lists: Community discussion and support
  • CentOS Forums: Community Q&A and troubleshooting
  • Red Hat Customer Portal: Documentation and knowledge base (free access)
  • IRC: #centos on Libera.Chat
  • Reddit: r/CentOS for community discussions

Frequently Asked Questions

What happened to classic CentOS Linux?

In December 2020, Red Hat announced CentOS Linux 8 would end in 2021 instead of 2029, shifting focus to CentOS Stream. CentOS Linux 7 continued until June 2024. The community created Rocky Linux and AlmaLinux as CentOS Linux replacements. CentOS Stream now serves as the upstream development platform for RHEL rather than a downstream rebuild.

Is CentOS Stream stable enough for production?

Yes, CentOS Stream is designed for production use. While it’s slightly ahead of RHEL in development, all changes undergo rigorous testing. Many organizations successfully run production workloads on Stream. However, for maximum stability and commercial support, RHEL is recommended for mission-critical systems.

How does CentOS Stream relate to RHEL?

CentOS Stream sits between Fedora and RHEL in the development pipeline. Features are developed in Fedora, refined in CentOS Stream, then polished into RHEL releases. Stream previews upcoming RHEL features, typically staying a few months ahead of RHEL minor releases while maintaining ABI compatibility.

Should I use CentOS Stream or Rocky Linux/AlmaLinux?

Choose CentOS Stream if you want to influence RHEL development, need early access to RHEL features, or want to contribute to enterprise Linux. Choose Rocky/AlmaLinux if you want a traditional downstream RHEL rebuild that’s identical to released RHEL versions. Both are suitable for production; the choice depends on your preference for stability vs. innovation.

How long is CentOS Stream supported?

Each Stream version is supported for approximately 5 years, aligned with corresponding RHEL versions. Stream 8 was supported until May 2024, and Stream 9 will be supported through approximately 2027-2028. Stream 10 is in development and will follow when RHEL 10 releases.

Can I get commercial support for CentOS Stream?

CentOS Stream itself is community-supported without official commercial support. However, organizations can convert to RHEL using Convert2RHEL to access Red Hat’s commercial support. Some third-party vendors also offer commercial support for CentOS Stream deployments.

What is the upgrade path from CentOS Stream 8 to 9?

There is no official in-place upgrade from Stream 8 to Stream 9. Red Hat recommends fresh installations for major version upgrades to ensure system integrity. For production systems, perform a clean Stream 9 installation and migrate applications rather than attempting unsupported upgrades.

Does CentOS Stream receive security updates quickly?

Yes, security updates are prioritized and typically released within days of vulnerability disclosure. The Stream security team monitors CVEs and backports fixes rapidly. For compliance-critical environments requiring guaranteed SLAs, RHEL subscriptions provide contractual security update commitments.

Can I use CentOS Stream for desktop computing?

While CentOS Stream supports desktop environments (GNOME, KDE), it’s primarily optimized for server use. Desktop users typically prefer Fedora (more current software) or Ubuntu (better desktop focus). Stream works as a desktop but lacks the polish and software variety of desktop-focused distributions.

How do I contribute to CentOS Stream development?

Contribute through CentOS Special Interest Groups (SIGs), submit patches via GitLab, participate in mailing list discussions, report bugs, test updates, and contribute documentation. The CentOS Project website provides contribution guidelines. Your contributions directly influence RHEL development.

Conclusion

CentOS Stream represents the evolution of community enterprise Linux, offering a unique position in the Red Hat ecosystem as both a stable production platform and an innovation hub for RHEL development. While different from classic CentOS, Stream provides organizations with a transparent, community-driven enterprise Linux distribution that balances stability with access to cutting-edge enterprise features.

For organizations requiring enterprise Linux without licensing costs, development teams preparing for RHEL deployments, or contributors who want to shape the future of enterprise Linux, CentOS Stream delivers a compelling platform. With robust security, professional-grade tools like Cockpit and Podman, and the backing of the Red Hat ecosystem, Stream continues CentOS’s legacy of providing enterprise-quality Linux to the community.

Was this article helpful?

R

About Ramesh Sundararamaiah

Red Hat Certified Architect

Expert in Linux system administration, DevOps automation, and cloud infrastructure. Specializing in Red Hat Enterprise Linux, CentOS, Ubuntu, Docker, Ansible, and enterprise IT solutions.