CentOS 7 to Rocky Linux 8
2024. 5. 18. 13:20ㆍ개발노트
CentOS Linux 7가 2024년 6월 30일 지원 종료(End of Life, EOL)될 예정으로 OS 마이그레이션이나
Rocky 8 OS 설치 후 서비스를 이전하는 방법 둘 중 하나를 진행해야 한다.
https://docs.rockylinux.org/guides/migrate2rocky/
위 사이트를 참고해 rockylinux에서 제공하는 스크립트를 사용해 마이그레이션을 진행한다.
스크립트는 rocky-lunux 깃허브 https://github.com/rocky-linux/rocky-tools/tree/main/migrate2rocky 에서 다운로드 받거나
명령어로 다운로드 받을 수 있다.
curl https://raw.githubusercontent.com/rocky-linux/rocky-tools/main/migrate2rocky/migrate2rocky.sh -o migrate2rocky.sh
다운로드 받고 서비스 종료 및 백업 후 아래 순서대로 마이그레이션을 진행한다.
마이그레이션은 CentOS 7 -> CentOS 8 -> Rocky 8 순서로 진행한다.
# CentOS7 업데이트 및 reboot
sudo yum -y update --exclude=java*,nginx*
sudo reboot
# 커널 버전 확인
sudo uname -r
# epel-release 설치
sudo yum install epel-release -y
# 패키지 설치
sudo yum install -y yum-utils rpmconf
# YUM 에서 DNF 로 업그레이드
sudo yum install -y dnf
sudo dnf remove -y yum yum-metadata-parser
sudo rm -Rf /etc/yum
# DNF repository 용 캐시 구성
sudo dnf -y makecache
# CentOS7 패키지 업그레이드
sudo dnf -y upgrade --exclude=java*,nginx*
# epel-release repository 업그레이드
sudo dnf upgrade -y epel-release
# CentOS7 에서 CentOS8 업그레이드
cd /etc/yum.repos.d
sudo mkdir backups
sudo mv CentOS-* backups
# Create new for CentOS BaseOS repo
sudo tee CentOS-Linux-BaseOS.repo<<EOM
[baseos]
name=CentOS Linux \$releasever - BaseOS
baseurl=http://vault.centos.org/8.5.2111/BaseOS/\$basearch/os/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
EOM
# Create new for CentOS AppStream repo
sudo tee CentOS-Linux-AppStream.repo<<EOM
[appstream]
name=CentOS Linux \$releasever - AppStream
baseurl=http://vault.centos.org/8.5.2111/AppStream/\$basearch/os/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
EOM
# CentOS 커널 제거
sudo rpm -e `rpm -q kernel` --nodeps
sudo rpm -e `rpm -q kernel-devel` --nodeps
# 충돌 패키지 제거
sudo rpm -e --nodeps sysvinit-tools
# CentOS8 업그레이드
# 업그레이드 시 충돌하는 패키지 오류가 있을 수 있다. 오류나는 패키지는 삭제 후 진행한다.
sudo dnf remove -y dracut-network redhat-rpm-config openssl11-libs-1:1.1.1k-7.el7.x86_64 python36-rpmconf
# dracut-network
# redhat-rpm-config
# openssl11-libs-1:1.1.1k-5.el7.x86_64
# python36-rpmconf
sudo dnf -y --releasever=8 --allowerasing --setopt=deltarpm=false distro-sync --exclude=java*,nginx*
# CentOS8 커널 설치
sudo dnf install -y kernel-core
# CentOS8 설치
sudo dnf -y groupupdate "Core" "Minimal Install"
# 시스템 재시작
sudo systemctl reboot
# 재시작 후 버전 확인
cat /etc/redhat-release
정상적인 재시작 확인 후 버전이 CentOS 8 인 것을 확인 후 아래 스크립트를 진행한다.
sudo dnf -y install wget
wget https://raw.githubusercontent.com/rocky-linux/rocky-tools/main/migrate2rocky/migrate2rocky.sh
# 스크립트 실행 권한 부여
chmod a+x migrate2rocky.sh
# migrate2rocky.sh 내용 중 아래의 내용을 추가한다.
# infomsg $'\nSyncing packages\n\n'
# dnf -y distro-sync --exclude=java*,nginx* || exit_message "Error during distro-sync."
sudo ./migrate2rocky.sh -r
# 재시작
sudo reboot now
# Rocky OS 8 정보 확인
cat /etc/os-release
NAME="Rocky Linux"
VERSION="8.9 (Green Obsidian)"
ID="rocky"
ID_LIKE="rhel centos fedora"
VERSION_ID="8.9"
PLATFORM_ID="platform:el8"
PRETTY_NAME="Rocky Linux 8.9 (Green Obsidian)"
ANSI_COLOR="0;32"
LOGO="fedora-logo-icon"
CPE_NAME="cpe:/o:rocky:rocky:8:GA"
HOME_URL="https://rockylinux.org/"
BUG_REPORT_URL="https://bugs.rockylinux.org/"
SUPPORT_END="2029-05-31"
ROCKY_SUPPORT_PRODUCT="Rocky-Linux-8"
ROCKY_SUPPORT_PRODUCT_VERSION="8.9"
REDHAT_SUPPORT_PRODUCT="Rocky Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="8.9"