CentOS 7에서 CentOS 8로 업그레이드하는 방법
CentOS 7 시스템을 CentOS 8로 올리는 비공식 절차입니다. 중요한 서비스가 운영 중인 프로덕션 환경에서는 권장하지 않습니다. 완료까지는 패키지 정리, DNF 설치, 릴리스 동기화(distro-sync) 같은 단계가 필요합니다.
중요: 이 가이드는 비공식 절차를 설명합니다. 운영 중인 서버에서는 전체 백업과 복제 환경에서의 사전 테스트 후 진행하세요.

개요
CentOS 8은 2019년 9월 23일에 발표되었습니다. 공식 미니멀 ISO가 제공되지 않는 경우가 있어, 기존 CentOS 7 설치에서 직접 업그레이드하는 방법을 설명합니다. 이 방법은 시스템 관리자용으로 설계되었으며, 위험을 수반합니다.
정의: DNF는 RPM 기반 패키지 관리자의 차세대 도구입니다. distro-sync는 지정한 릴리스의 패키지 상태와 동기화합니다.
사전 준비
- 전체 시스템 백업(디스크 이미지 및 중요한 데이터)
- 부팅 가능한 복구/라이브 미디어 준비
- 중요한 서비스(데이터베이스, 웹 등) 정지 계획
- 스냅샷 또는 복제된 테스트 환경에서 절차 테스트
시스템 관리자 체크리스트:
- 백업 완료
- 스냅샷/테스트 환경에서 절차 실행
- 패키지 및 커널 호환성 검토
주요 업그레이드 단계
아래 명령은 순서대로 실행합니다. 각 명령은 루트 또는 sudo 권한으로 실행하세요.
- EPEL 저장소 설치
yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm- yum-utils 설치
yum -y install rpmconf yum-utils- 기존 RPM 구성 확인
rpmconf -a다음은 명령 결과 예시 이미지입니다.

설정 충돌 시 기본값(Keep Default)을 선택하세요.
- 불필요한 패키지 정리
package-cleanup --leaves
package-cleanup --orphans- DNF 설치
yum -y install dnf- yum 제거(선택적이지만 권장)
dnf -y remove yum yum-metadata-parser
rm -Rf /etc/yum- 시스템 업데이트(우선 DNF로 전체 업그레이드)
sudo dnf -y upgrade- CentOS 8 릴리스 패키지 설치
dnf -y upgrade http://mirror.bytemark.co.uk/centos/8/BaseOS/x86_64/os/Packages/centos-release-8.0-0.1905.0.9.el8.x86_64.rpm- EPEL 8로 업그레이드
dnf -y upgrade https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm- 캐시 정리
dnf clean all- 기존 커널 제거(필요 시)
rpm -e `rpm -q kernel`- 의존성 충돌 패키지 제거(예: sysvinit-tools)
rpm -e --nodeps sysvinit-tools- 릴리스 동기화로 업그레이드 시작
dnf -y --releasever=8 --allowerasing --setopt=deltarpm=false distro-sync- 새 구성 처리
rpmconf -a- 새 커널 확인 및 재설치
rpm -e kernel-core
dnf -y install kernel-core- GRUB 설치 확인 및 재설치
ROOTDEV=`ls /dev/*da|head -1`;
echo "Detected root as $ROOTDEV..."
grub2-install $ROOTDEV- 미니멀 패키지 그룹 설치
dnf -y groupupdate "Core" "Minimal Install"- CentOS 버전 확인
cat /etc/centos-release
검증 및 문제 해결
일반적인 문제와 대응책:
- 패키지 충돌: –allowerasing 옵션으로 일부 패키지가 제거됩니다. 중요한 패키지는 제거 여부를 미리 확인하세요.
- 부팅 불가: 라이브 미디어로 부팅하여 /boot 및 grub 설정을 복구하세요.
- 서비스 호환성: 시스템 서비스(특히 init 스크립트)는 systemd 기반으로 변경되었는지 확인하세요.
검증 체크리스트:
- 커널이 정상적으로 설치되고 부팅되는지 확인
- 주요 서비스(웹, DB 등) 재시작 및 로그 확인
- 네트워크 및 스토리지 마운트 상태 확인
- /etc/centos-release 출력이 CentOS 8인지 확인
문제가 발생하면 즉시 복원 계획(스냅샷 복원 또는 백업 복구)을 실행하세요.
대안과 권장 접근법
- 권장: 가능하면 새 서버에 CentOS 8을 클린 설치하고 데이터를 마이그레이션하세요. 이 방식이 가장 안전합니다.
- 테스트: 프로덕션 이전 단계에서 반드시 전체 업그레이드를 테스트 환경에서 수행하세요.
체크리스트(역할별)
시스템 관리자:
- 전체 시스템 백업
- 라이브미디어 준비
- 업그레이드 스크립트 및 로그 보관
데브옵스:
- 서비스 재시작 및 헬스체크 자동화
- 모니터링 알람 범위 검토
운영팀:
- 유지보수 공지 및 다운타임 발표
- 롤백 시나리오 준비
요약
비공식 업그레이드 절차는 가능하지만 위험합니다. 프로덕션 환경에서는 클린 설치를 선호하며, 업그레이드 전 충분한 백업과 테스트가 필수입니다. 문제 발생 시 스냅샷 복원이나 백업 복구 계획을 즉시 실행하세요.
핵심 검증 명령:
cat /etc/centos-release
rpm -qa | grep kernel
systemctl status 결론: 이 가이드는 CentOS 7에서 CentOS 8로 이동하는 한 방법을 제시합니다. 반드시 테스트 환경에서 충분히 검증한 후에 실제 서버에 적용하세요.