OS/CentOS: CentOS Stream 9
개요
- 릴리스 발표 / 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<FIPSupdate-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 비호환 |