CentOS EOS가 다가오면서 패치를 위한 대안이 필요합니다. 그 대안으로 Rocky Linux를 많이 고려하고 있습니다.
Rocky Linux는 Red Hat Enterprise Linux(RHEL)와 호환되도록 구성된 커뮤니티 엔터프라이즈 운영체제입니다.
Rocky Linux 8.x는 RHEL 8 버전을 기반으로 개발되어 RHEL 8 버전과 호환성에는 문제가 없습니다.
또한 기존 CentOS도 RHEL을 기반이었기 때문에 RHEL = RockyLinux = CentOS는 호환성에 문제가 없습니다.
NCP(네이버클라우드)에서도 Linux 설치 OS에 RockyLinux를 추가하였습니다.
마이그레이션 위해서는 다음의 순서로 진행이 필요합니다.
- CentOS7 -> CentOS8 업그레이드
- CentOS8 -> Rocky Linux 마이그레이션
CentOS7 -> CentOS8 업그레이드
1. CentOS7 업그레이드 및 reboot
$ sudo yum -y update
$ sudo reboot
- 커널 버전 및 기타 소프트웨어 정보 확인
$ uname -r
3.10.0-1160.36.2.el7.x86_64
2. EPEL-Release 설치
CentOS-Base 저장소 외부에서 패키지 다운로드를 위해 EPEL-Release 설치
$ sudo yum install epel-release -y
3. 패키지 설치
$ sudo yum install -y yum-utils rpmconf
4. 불필요 패키지 정리
설치에 사용되지 않거나, 충돌하는 패키지 제거
$ sudo rpmconf -a
Configuration file '/etc/yum/pluginconf.d/langpacks.conf'
/etc/yum/pluginconf.d/langpacks.conf.rpmnew
/etc/yum/pluginconf.d/langpacks.conf
==> Package distributor has shipped an updated version.
What would you like to do about it ? Your options are:
Y or I : install the package maintainer's version
N or O : keep your currently-installed version
D : show the differences between the versions
M : merge configuration files
Z : background this process to examine the situation
S : skip this file
The default action is to keep your current version.
*** aliases (Y/I/N/O/D/M/Z/S) [default=N] ?
Your choice: N
- 불필요 패키지 목록
$ sudo package-cleanup --leaves
- 중복 패키지 목록
$ sudo package-cleanup --orphans
- YUM 명령어를 통한 패키지 제거
$ sudo yum remove -y <package>
5. YUM에서 DNF로 업그레이드
CentOS8의 기본 패키지 관리자인 DNF 패키지를 설치합니다.
# DNF 설치
$ sudo yum install -y dnf
# 기존 YUM 패키지 관리자 제거
$ sudo dnf remove -y yum yum-metadata-parser
# YUM 구성 제거
$ sudo rm -Rf /etc/yum
- DNF 리포지토리용 캐시 구성
$ sudo dnf -y makecache
Extra Packages for Enterprise Linux 7 - x86_64 71 MB/s | 17 MB 00:00
CentOS-7 - Base 49 MB/s | 10 MB 00:00
CentOS-7 - Updates 63 MB/s | 17 MB 00:00
CentOS-7 - Extras 9.3 MB/s | 310 kB 00:00
Metadata cache created.
6. CentOS7 패키지 업그레이드
$ sudo dnf upgrade -y
7. YUM 저장소 업그레이드
YUM 리포지토리를 CentOS7 -> CentOS8로 변경
$ sudo dnf install http://vault.centos.org/8.5.2111/BaseOS/x86_64/os/Packages/{centos-linux-repos-8-3.el8.noarch.rpm,centos-linux-release-8.5-1.2111.el8.noarch.rpm,centos-gpg-keys-8-3.el8.noarch.rpm}
Dependencies resolved.
======================================================================================================================================================================================================
Package Arch Version Repository Size
======================================================================================================================================================================================================
Installing:
centos-linux-repos noarch 8-3.el8 @commandline 20 k
centos-linux-release noarch 8.5-1.2111.el8 @commandline 22 k
replacing centos-release.x86_64 7-9.2009.1.el7.centos
centos-gpg-keys noarch 1:8-3.el8 @commandline 12 k
Transaction Summary
======================================================================================================================================================================================================
Install 3 Packages
Total size: 54 k
Is this ok [y/N]: y
- EPEL-Release 리포지토리 업그레이드
$ sudo dnf upgrade -y epel-release
8. 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 -y --releasever=8 --allowerasing --setopt=deltarpm=false distro-sync
충돌하는 패키지 오류가 발생할 수 있습니다. 충돌이 발생하면 기존 패키지 제거가 필요합니다.
패키지 충돌 해결 후 위 명령어 다시 실행
아래 패키지에서 충돌날 가능성이 있습니다.
- NetworkManager
- dracut-network
- python36-rpmconf
- CentOS8 커널 설치
$ sudo dnf install -y kernel-core
- CentOS8 설치
# CentOS 최소 설치
$ sudo dnf -y groupupdate "Core" "Minimal Install"
- 시스템 재시작
$ sudo systemctl reboot
- 재시작 후 버전 확인
$ cat /etc/redhat-release
CentOS Linux release 8.5.2111
CentOS8 -> Rocky Linux 마이그레이션
마이그레이션시 기존 데이터가 유지되지만 마이그레이션 전 데이터를 백업하는 것이 좋습니다.
1. Rocky Linux 마이그레이션 스크립트 다운로드
$ sudo dnf -y install wget
$ wget https://raw.githubusercontent.com/rocky-linux/rocky-tools/main/migrate2rocky/migrate2rocky.sh
# 스크립트 실행 권한 부여
$ chmod a+x migrate2rocky.sh
2. 스크립트를 통한 Rocky Linux8 마이그레이션
$ sudo ./migrate2rocky.sh -r
Removing dnf cache
Preparing to migrate CentOS Linux 8 to Rocky Linux 8.
Determining repository names for CentOS Linux 8.....
Found the following repositories which map from CentOS Linux 8 to Rocky Linux 8:
CentOS Linux 8 Rocky Linux 8
appstream appstream
baseos baseos
extras extras
Getting system package names for CentOS Linux 8..........
Found the following system packages which map from CentOS Linux 8 to Rocky Linux 8:
CentOS Linux 8 Rocky Linux 8
centos-logos-ipa rocky-logos-ipa
centos-backgrounds rocky-backgrounds
centos-gpg-keys rocky-gpg-keys
centos-logos rocky-logos
centos-indexhtml rocky-indexhtml
centos-linux-release rocky-release
centos-logos-httpd rocky-logos-httpd
centos-linux-repos rocky-repos
Getting list of installed system packages.
We will replace the following CentOS Linux 8 packages with their Rocky Linux 8 equivalents
Packages to be Removed Packages to be Installed
centos-gpg-keys rocky-gpg-keys
centos-linux-release rocky-release
centos-linux-repos rocky-repos
.....
Complete!
Done, please reboot your system.
A log of this installation can be found at /var/log/migrate2rocky.log
패키지 설치 및 마이그레이션이 정상적으로 마무리되면 재부팅 메시지가 표시됩니다.
3. Rocky Linux 재시작
로그인 정보는 기존과 동일하게 유지됩니다.
$ sudo reboot now
4. Rocky Linux 정보 확인
$ cat /etc/os-release
NAME="Rocky Linux"
VERSION="8.5 (Green Obsidian)"
ID="rocky"
ID_LIKE="rhel centos fedora"
VERSION_ID="8.5"
PLATFORM_ID="platform:el8"
PRETTY_NAME="Rocky Linux 8.5 (Green Obsidian)"
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:rocky:rocky:8:GA"
HOME_URL="https://rockylinux.org/"
BUG_REPORT_URL="https://bugs.rockylinux.org/"
ROCKY_SUPPORT_PRODUCT="Rocky Linux"
ROCKY_SUPPORT_PRODUCT_VERSION="8"
참고
https://docs.rockylinux.org/guides/migrate2rocky/
[Migrating To Rocky Linux - Documentation
How to Migrate to Rocky Linux from CentOS Stream, CentOS, Alma Linux, RHEL, or Oracle Linux Prerequisites & Assumptions CentOS Stream, CentOS, Alma Linux, RHEL, or Oracle Linux running well on a hardware server or VPS. The current supported version for eac
docs.rockylinux.org](https://docs.rockylinux.org/guides/migrate2rocky/)
'FullStack > 40. Linux' 카테고리의 다른 글
Too many open files 오류 (0) | 2023.05.04 |
---|---|
RHEL 8.x MariaDB 바이너리 설치 시 ncurses 라이브러리 필요 (0) | 2022.08.11 |
리눅스 나의 공인 IP 확인 방법 (0) | 2022.08.03 |
이제는 Cent OS 대체할 리눅스를 선택할 시간 (0) | 2022.08.02 |
터미널에서 텍스트 복사 오류(0~ xxx ~) (0) | 2022.04.13 |