CentOS 8에서 Rocky Linux로 마이그레이션
CentOS 가 Redhat으로 인수되어 2021년이후 더 이상 오픈소스의 가치를 제공하지 못하게 되면서 CentOS를 이용하던 기업들은 상용 혹은 대체 리눅스를 찾아 변환을 하고 있습니다.
Rocky는 CentOs와 같이 Redhat의 상용화된 리눅스의 안정화된 버전(RHEL)을 재패키징하여 배포함으로써 일반 기업들이 무료로 쓸수 있는 엔터프라이즈 리눅스라고 할 수 있습니다.
저도 오래된 리눅스를 변환해 보았습니다. 일단 패키지 업데이트 오류가 있어서 내용을 추가 보완 했으니 참조해서 사용하지면 좋겠습니다.
Rocky Linux is Red Hat Enterprise Linux (open Source)
Rocky Linux는 Red Hat Enterprise Linux 8.5와 100% 호환되는 커뮤니티 엔터프라이즈 운영 체제입니다. 따라서 2021년 12월 말까지 단종되는 CentOS 8의 완벽한 대안이 됩니다.
Rocky Linux 8.5가 출시되면서 CentOS 8에서 Rocky Linux로 마이그레이션하는 데 도움이 되는 변환 도구를 사용할 수 있게 되었습니다. 새로 설치하지 않고 Rocky Linux 8을 테스트하려는 사용자에게 편리합니다.
록키리눅스를 설치하려면 홈페이지에서 Minimal, DVD 및 Boot ISO 이미지로 제공되는 Rocky Linux 8.5를 다운로드하십시오.
How to Migrate to Rocky Linux from CentOS Stream, CentOS, RHEL or Oracle Linux
1. Using dnf update : Update the package to the latest
1) check system status
2) update rpm
3) update all packages
4) reboot
2. download migration tool : migrate2rocky.sh
3. running migration tool : migrate2rocky.sh -r
4. reboot & start Rokey
1. Using dnf update : Update the package to the latest .
To update to Rocky Linux, you must update the installed CentOS to the latest version before proceeding.
Proceed by checking the environment installed in advance of the update and resolving any issues that arise from the update.
Rocky Linux 로 업데이트 하기 위해서는 설치된 CentOS를 최신버전으로 업데이트 후 진행 하여야 합니다.
업데이트 사전에 설치된 환경을 확인하고 업데이트에서 발생되는 문제를 해결하여 진행합니다.
1) Before updating, check the version of centos currently installed.
CentOS 8 or CentOS Stream
[root@vm1 ~]# cat /etc/centos-release
CentOS Linux release 8.2.2004 (Core)
Check repolist to update your packages to the latest.
[root@vm1 ~]# dnf repolist
repo id repo name
Stream-BaseOS CentOS-Stream - Base
appstream CentOS Stream 8 - AppStream
baseos CentOS Stream 8 - BaseOS
docker-ce-stable Docker CE Stable - x86_64
extras CentOS Stream 8 - Extras
extras-common CentOS Stream 8 - Extras common packages
2) First update `rpm` to prevent update problems
- Update "rpm" to prevent the problems like "BAD, no. of bytes(9088) out of range" from occurring during update.
dnf update rpm
[root@vm1 yum.repos.d]# dnf update rpm
Last metadata expiration check: 0:16:23 ago on Sat 15 Jul 2023 06:58:14 PM EDT.
Dependencies resolved.
===========================================================================================
Package Arch Version Repository Size
===========================================================================================
Upgrading:
ima-evm-utils x86_64 1.3.2-12.el8 Stream-BaseOS 64 k
python3-rpm x86_64 4.14.3-26.el8 Stream-BaseOS 155 k
rpm x86_64 4.14.3-26.el8 Stream-BaseOS 544 k
rpm-build-libs x86_64 4.14.3-26.el8 Stream-BaseOS 157 k
rpm-libs x86_64 4.14.3-26.el8 Stream-BaseOS 345 k
rpm-plugin-selinux x86_64 4.14.3-26.el8 Stream-BaseOS 78 k
rpm-plugin-systemd-inhibit x86_64 4.14.3-26.el8 Stream-BaseOS 79 k
tpm2-tss x86_64 2.3.2-4.el8 Stream-BaseOS 275 k
Transaction Summary
===========================================================================================
Upgrade 8 Packages
.... skipped ...
Upgraded:
ima-evm-utils-1.3.2-12.el8.x86_64 python3-rpm-4.14.3-26.el8.x86_64
rpm-4.14.3-26.el8.x86_64 rpm-build-libs-4.14.3-26.el8.x86_64
rpm-libs-4.14.3-26.el8.x86_64 rpm-plugin-selinux-4.14.3-26.el8.x86_64
rpm-plugin-systemd-inhibit-4.14.3-26.el8.x86_64 tpm2-tss-2.3.2-4.el8.x86_64
Complete!
dnf update , yum update 로 패키지를 설치하면서 오류가 나는 경우 대처
* It will prevent errors "signature hdr data: BAD, no. of bytes(11844) out of range"
centos 업데이트 중에 발생되는 문제는 패키지 파일의 버전 차이 일 수 있습니다. 이 경우는 rpm을 업그레이드 하여 문제를 해결합니다.
error: /var/cache/dnf/Stream-BaseOS-055ffcb2ec25a27f/packages/python3-requests-2.20.0-4.el8.noarch.rpm: signature hdr data: BAD, no. of bytes(16512) out of range
error: /var/cache/dnf/Stream-BaseOS-055ffcb2ec25a27f/packages/python3-subscription-manager-rhsm-1.28.38-1.el8.x86_64.rpm: signature hdr data: BAD, no. of bytes(12696) out of range
error: /var/cache/dnf/Stream-BaseOS-055ffcb2ec25a27f/packages/python3-syspurpose-1.28.38-1.el8.x86_64.rpm: signature hdr data: BAD, no. of bytes(11360) out of range
error: /var/cache/dnf/Stream-BaseOS-055ffcb2ec25a27f/packages/rdma-core-46.0-1.el8.1.x86_64.rpm: signature hdr data: BAD, no. of bytes(11844) out of range
Problem opening package sos-4.5.4-1.el8.noarch.rpm
Problem opening package sssd-client-2.9.1-1.el8.x86_64.rpm
Problem opening package sssd-common-2.9.1-1.el8.x86_64.rpm
Problem opening package subscription-manager-1.28.38-1.el8.x86_64.rpm
Problem opening package systemd-239-76.el8.x86_64.rpm
Problem opening package systemd-container-239-76.el8.x86_64.rpm
Problem opening package systemd-udev-239-76.el8.x86_64.rpm
Problem opening package tar-1.30-9.el8.x86_64.rpm
Problem opening package tuned-2.20.0-1.el8.noarch.rpm
3) update all packages
Upgrade the package using `dnf update`.
`dnf update` 를 이용하여 패키지를 업그레이드 합니다.
[root@vm1 yum.repos.d]# dnf update
Last metadata expiration check: 0:17:45 ago on Sat 15 Jul 2023 06:58:14 PM EDT.
Dependencies resolved.
===========================================================================================
Package Arch Version Repository Size
===========================================================================================
Installing:
centos-stream-release noarch 8.6-1.el8 Stream-BaseOS 22 k
replacing centos-release.x86_64 8.2-2.2004.0.1.el8
replacing centos-release-stream.x86_64 8.1-1.1911.0.7.el8
replacing centos-repos.x86_64 8.2-2.2004.0.1.el8
kernel x86_64 4.18.0-500.el8 Stream-BaseOS 9.8 M
kernel-core x86_64 4.18.0-500.el8 Stream-BaseOS 43 M
kernel-devel x86_64 4.18.0-500.el8 Stream-BaseOS 28 M
kernel-modules x86_64 4.18.0-500.el8 Stream-BaseOS 35 M
Upgrading:
ModemManager x86_64 1.20.2-1.el8 Stream-BaseOS 1.2 M
ModemManager-glib x86_64 1.20.2-1.el8 Stream-BaseOS 338 k
NetworkManager x86_64 1:1.40.16-8.el8 Stream-BaseOS 2.3 M
NetworkManager-adsl x86_64 1:1.40.16-8.el8 Stream-BaseOS 155 k
NetworkManager-bluetooth
x86_64 1:1.40.16-8.el8 Stream-BaseOS 181 k
.... skipped ...
tracer-common-0.7.5-2.el8.noarch
wpebackend-fdo-1.10.0-3.el8.x86_64
Removed:
kernel-4.18.0-193.el8.x86_64 kernel-core-4.18.0-193.el8.x86_64
kernel-modules-4.18.0-193.el8.x86_64
Complete!
Check /etc/redhat-release or /etc/centos-release for update results.
업데이트 결과를 확인합니다.
[root@vm1 yum.repos.d]# cat /etc/centos-release
CentOS Stream release 8
When the update is completed normally, apply the update result with the Reboot command.
Reboot로 업데이트 결과를 적용합니다.
[root@vm1 yum.repos.d]# reboot
Now, You are now ready to switch to Rocky Linux.
여기 까지가 Rocky Linux로 전환하기 위한 준비가 완료 되었습니다.
2. Download Migration Tool : migrate2rocky.sh
https://github.com/rocky-linux/rocky-tools/tree/main/migrate2rocky
Download the migrate2rocky.sh migration script hosted on GitHub and can be downloaded using the wget command line tool as follows:
GitHub에서 호스팅되는 migrate2rocky.sh 마이그레이션 스크립트를 다운로드하는 것이며 wget 명령줄 도구를 사용하여 다음과 같이 다운로드할 수 있습니다.
# downlod migrate2rocky.sh
wget https://raw.githubusercontent.com/rocky-linux/rocky-tools/main/migrate2rocky/migrate2rocky.sh
[root@vm1 yum.repos.d]# chmod 755 migrate2rocky.sh
[root@vm1 yum.repos.d]# ./migrate2rocky.sh -r
* When the download is complete, assign execute permission to the migrate2rocky.sh shell script file as shown in the figure.
다운로드가 완료되면 그림과 같이 migrate2rocky.sh 셸 스크립트 파일에 실행 권한을 할당합니다.
3. Running Migration tool : migrate2rocky.sh -r
CentOS 8에서 Rocky Linux로 마이그레이션을 시작하려면 다음과 같이 스크립트를 실행합니다.
To start migrating from CentOS 8 to Rocky Linux, run the script as follows:
bash migrate2rocky.sh -r
As with the previous CentOS update, various packages are upgraded to the Rocky Linux version, so it takes a lot of time.
앞에서 진행했던 CentOS의 업데이트 와 같이 각종 패키지를 Rocky Linux 버전으로 업그레이드를 진행하므로 시간이 많이 걸립니다.
다음 내용과 함께 시스템 업그레이드가 완료 되었습니다.
CentOS Stream Migration Notes:
Because CentOS Stream leads RockyLinux by the next point release many packages
in Stream will have higher version numbers than those in RockyLinux, some will
even be rebased to a new upstream version. Downgrading these packages to the
versions in RockyLinux carries the risk that the older version may not
recognize config files, data or other files generated by the newer version in
Stream
.. skipped ...
The subscription-manager dnf plugin may be enabled for the benefit of
Subscription Management. If no longer desired, you can use
"subscription-manager config --rhsm.auto_enable_yum_plugins=0" to block this
behavior.
Done, please reboot your system.
A log of this installation can be found at /var/log/migrate2rocky.log
4. reboot & start Rokey : 업데이트가 완료되면 reboot을 합니다.
Check the /etc/redhat-release file to make sure the package upgrade to Rocky Linux is complete.
Rocky Linux로 패키지 업그레이드가 완료 되었는지 확인 합니다.
[root@vm1 etc]# cat /etc/redhat-release
Rocky Linux release 8.8 (Green Obsidian)
Now reboot systemn to start "Rokey Linux" when migration is completed.
이제 마이그레이션이 완료되면 리부팅을 해서 Rokey Linux를 시작 합니다.
(마무리 글) CentOS의 현황과 Rokey로 대체 하는 이유는
오랜만에 리눅스를 설치해 보았습니다. 10년 사용한 CentOS를 다시 Rokey로 변경하는데 생각보다 마이그레이션 툴이 잘 작동해서 사용해도 될 것 같습니다. CentOs To Rokey를 하는 방법은 내부적으로는 패키지를 CentOs를 Rokey용으로 재 업데이트만 하면 되는 것인데 1천가지 패키지를 순서대로 하려면 할일이 많은것을 쉽게 할 수 있도록 Migration Tool이 제공되었다는 점입니다.
아주 오래전에 Redhat을 CentOS로 전환할때는 이것을 수동으로 하기도 했고, 2000년대 있던 Redhat 오픈소스 버전을 엔터프라이즈 버전으로 바꾼적도 있지만 여기서는 그런 호랑이 담배피는 이야기는 이제 불필요한 듯합니다.
이제는 CentOS가 오픈소스 엔터프라이즈 리눅스가 아닙니다. Rokey Linux가 그 자리를 채웁니다.
기존 Fedora 패키지는 새로운 리눅스 버전을 내놓기 위한 베타 버전이었고, 이것을 안정화 한 것이 Redhat Enterprise(RHEL) 패키지 였습니다. CentOS는 Redhat의 RHEL 을 재패키징해서 Open Source화 한 엔터프라이즈 리눅스로 알려 왔습니다.
Redhat이 CentOs를 인수하면서 Fedora > Centos Stream > RHEL 로 패키지 순서를 변경함으로써 RHEL이 유일한 엔터프라이즈 리눅스가 되고 CentOS는 CentOs Stream으로 개명되어 상용화 이전의 시범 배포 버전으로 위상이 다운그레이드 되었습니다.
이런 배경에서 오픈소스의 진영에서는 오픈소스 Rokey Linux를 만들었습니다.
Rokey Linux는 이전 CentOs와 같이 RHEL을 재패키징 하여 배포하는 버전으로 Open Source Enterprise Linux라고 할수 있게 되었습니다.
리눅스가 상용이냐 오픈소스냐는 태생의 차이 입니다. 요즘 코인과 마찬가지로 소스의 주인은 그 생태계에서 일하는 모든 사람의 것이라는 점입니다. 리눅스는 다양한 사람들이 커뮤니티를 통해서 Kernel 및 각종 Utility의 기능을 만들어 낸 것입니다. 그래서 이것을 패키징해서 상용화 하더라도 저작권이 오픈되어 있기 때문에 누구나 재패키징 해서 오픈소스라고 할수도 있다는 것입니다.
문제는 이런 오픈소스 생태계가 상업화로 인해 무너지면 더이상은 리눅스가 업그레이드 되거나 존속하기 어려워 지기 때문에 오픈소스 진영은 지속적인 오픈소스를 강조하고 있다는 점입니다.
이러한 생태계가 바로 참여자 중심의 비즈니스 환경인 Web3 라고 할 수 있습니다. ~
감사합니다.
(참고)
1. How to Migrate to Rocky Linux from CentOS Stream, CentOS, Alma Linux, RHEL, or Oracle Linux
https://docs.rockylinux.org/guides/migrate2rocky/
2. CentOs is Dead
https://couplewith.tistory.com/227
3. 패키지 업그레이드 오류 해결 : rpm 버전의 차이로 발생하는 오류 해결
https://www.digitalocean.com/community/questions/cento-os-8-not-updating
'InfraPlatform' 카테고리의 다른 글
KrakenD - 고성능 API 플랫폼 리눅스 우분투 설치 (6) | 2024.08.03 |
---|---|
10가지 대표적인 오픈 소스 API 관리 플랫폼 비교와 선정시 고려사항 (3) | 2024.08.01 |
[꿀팁] 고성능 Nginx를위한 튜닝 - (1) 디스크의 I/O 병목 줄이기 (21) | 2024.05.22 |
꿀팁-완전-무료-윈도우10-삭제된-파일-무료-복구 (63) | 2024.04.28 |
How to Start WSL - docker-desktop 으로 도커 관리 (91) | 2024.03.28 |
How to Start WSL - Ubuntu - docker 실행 iptables-legacy로 전환 해결 (126) | 2024.03.21 |
How to Start WSL - Ubuntu apt update 패키지 유효기간 오류 해결 (83) | 2024.03.19 |