2 분 소요

개요

  • 릴리스 발표 / CentOS Stream 전환 공지
  • 2021-12-03 릴리스 — RHEL 9의 upstream rolling preview 배포판
  • 2020-12-08, CentOS 프로젝트가 downstream(CentOS Linux) 대신 CentOS Stream 중심으로 전환 결정
  • CentOS Stream은 RHEL 릴리스 직전 단계 — Fedora보다 안정적이나 RHEL보다 약간 앞서 있음
항목 CentOS Linux 8 CentOS Stream 9
RHEL 관계 RHEL 8 downstream RHEL 9 upstream preview
업데이트 스냅샷 기반 고정 Rolling (지속 업데이트)
안정성 RHEL과 동일 RHEL보다 약간 실험적
EOL 2021-12-31 ~2027 (RHEL 9 수명 주기)
적합 용도 프로덕션 개발·테스트·신기능 선점
  • CentOS 버전별 EOL:
    • CentOS 7: 2024-06-30 종료
    • CentOS 8: 2021-12-31 종료


주요 변경사항

cgroups v2 기본 적용

  • 컨테이너 환경(Kubernetes, Docker 등)의 리소스 격리 정밀도 향상
  • 메모리 스왑, CPU 가중치 제어 등 세부 기능 개선
  • cgroups v1 레거시 우회 (필요 시):

    # /etc/default/grub 에 커널 파라미터 추가
    GRUB_CMDLINE_LINUX="... systemd.unified_cgroup_hierarchy=0"
    grub2-mkconfig -o /boot/grub2/grub.cfg
    

OpenSSL 3.0

  • 암호화 API 대규모 개편 — Provider 기반 아키텍처
  • 레거시 알고리즘(MD2, RC4, DES 등) 기본 비활성화
  • FIPS 140-2 인증 지원 강화
  • OpenSSL 1.1.1 기반 코드는 API 변경으로 재컴파일 필요할 수 있음

nftables 전환 완료

  • iptables 완전 대체 — nftables 기반
  • iptables 레거시 명령어는 호환 래퍼(iptables-legacy)로만 유지
  • 방화벽 관리는 firewalld 권장:

    firewall-cmd --list-all
    firewall-cmd --permanent --add-service=http
    firewall-cmd --permanent --add-service=https
    firewall-cmd --permanent --add-port=8080/tcp
    firewall-cmd --reload
    

SSH 루트 로그인 기본 비활성화

  • /etc/ssh/sshd_config 기본값: PermitRootLogin no
  • 루트 접근 필요 시 일반 계정 + sudo 사용 권장

Cockpit 기능 강화

  • 가상 머신(libvirt), 컨테이너(Podman) 관리 탭 통합
  • 스토리지(LVM, NFS, iSCSI), 네트워크(Bond, Bridge) 설정 UI 제공

    dnf install cockpit
    systemctl enable --now cockpit.socket
    # https://<IP>:9090 접속
    

암호화 정책 (crypto-policies)

  • 시스템 전역 암호 정책 기본값: DEFAULT (SHA1 서명 제거)
  • 정책 수준: LEGACY < DEFAULT < FUTURE < FIPS

    update-crypto-policies --show               # 현재 정책 확인
    update-crypto-policies --set DEFAULT        # 기본값 복원
    update-crypto-policies --set LEGACY         # 하위 호환 필요 시
    

SELinux

  • 기본값: enforcing 모드 유지
  • 정책 버전 업그레이드 — 컨테이너·가상화 워크로드 규칙 세분화

    sestatus                                    # 현재 상태 확인
    setenforce 0                                # 임시 permissive 전환
    # 영구 변경: /etc/selinux/config → SELINUX=permissive
    


기술 스택

컴포넌트 버전
Kernel 5.14.x
systemd 250
GCC 11.x
LLVM/Clang 13.x
Python 3.9 (기본), 3.11 (AppStream 모듈)
PHP 8.0, 8.1 (AppStream 모듈)
MariaDB 10.5 (AppStream 모듈)
PostgreSQL 13, 14, 15 (AppStream 모듈)
Node.js 16, 18 (AppStream 모듈)
OpenSSL 3.0


기본 설정

SELinux 확인 및 설정

  sestatus
  setenforce 0                                # 임시 permissive (재부팅 시 초기화)
  # 영구 변경: /etc/selinux/config → SELINUX=permissive 또는 disabled

cgroups v2 확인

  mount | grep cgroup2
  cat /proc/filesystems | grep cgroup2

EPEL 9 리포지토리 추가

  dnf install epel-release

방화벽 설정

  firewall-cmd --permanent --add-service=http
  firewall-cmd --permanent --add-service=https
  firewall-cmd --permanent --add-port=8080/tcp
  firewall-cmd --reload
  firewall-cmd --list-all                     # 적용 확인

타임존 설정

  timedatectl set-timezone Asia/Seoul
  timedatectl                                 # 확인

SSH 루트 로그인 허용 (필요 시)

  # /etc/ssh/sshd_config
  PermitRootLogin yes

  systemctl restart sshd

암호화 정책 관리

  update-crypto-policies --show
  update-crypto-policies --set LEGACY         # 하위 호환 필요 시

AppStream 모듈 관리

  dnf module list                             # 사용 가능한 모듈 목록
  dnf module enable nodejs:18                 # 스트림 활성화
  dnf module install nodejs                   # 설치


RHEL 호환 대안 배포판

CentOS 7/8 EOL 이후 기업 환경에서의 RHEL 호환 대안:

배포판 주체 특징
Rocky Linux Gregory Kurtzer CentOS 공동창립자 주도, RHEL 1:1 clone, 무료
AlmaLinux CloudLinux 비영리 재단 운영, RHEL ABI 호환, 무료
CentOS Stream Red Hat RHEL upstream preview, rolling 업데이트
RHEL Red Hat 공식 유료 구독, 개인·소규모팀 16 서버까지 무료
Oracle Linux Oracle RHEL downstream clone, 무료
Ubuntu Server Canonical LTS 5년 + ESM 5년 장기 지원, RHEL 비호환


관련 포스트