리눅스/CentOS

AlmaLinux 8.3 공개 소식 및 CentOS Linux에서 AlmaLinux로 전환 방법

씨실과 날실 2021. 4. 2. 15:00

얼마 전(2021년 3월 30일), 알마 리눅스(AlmaLinux)가 Beta 꼬리표를 드디어 떼고 첫 안정 버전이 릴리즈되었습니다.

자세한 소식은 공식 블로그 소식을 참고하시기 바랍니다.

 

이번에 공개된 알마 리눅스(AlmaLinux)의 버전은 RHEL의 최신 버전인 8.3과 동일하며 CentOS Linux에서 AlmaLinux로 손쉽게 전환(Conversion)할 수 있는 스크립트도 제공하고 있습니다.

이 글에서는 CentOS Linux에서 AlmaLinux로 전환하는 방법에 대해 보다 자세히 다루도록 하겠습니다.


CentOS Linux에서 AlmaLinux로 전환(Conversion)

- Switching from CentOS Linux to AlmaLinux

 

01. 현재 사용 중인 CentOS Linux 버전 확인

[study@localhost ~]$ rpm --query centos-release
centos-release-8.1-1.1911.0.9.el8.x86_64
[study@localhost ~]$

위와 같이 현재 사요 중인  CentOS Linux의 버전을 확인해줍니다.

 

02. 시스템 백업

AlmaLinux는 RHEL, CentOS Linux와 완벽한 호환을 이루도록 개발되었습니다. 그러나 혹여 있을지도 모를 예기치 못한 오류 등에 대비해 필요한 내용 또는 시스템 전체를 백업해줍니다.

제 블로그에서도 위와 같이 백업과 관련 하여 꽤 많은 글들을 올렸습니다.

이어ㅚ에도 정말 많은 백업 방법들이 있습니다. 따라서 자신에게 편한 방법으로 백업해주시면 됩니다.

 

03. 보안 부팅(Secure Boot) 해제

AlmaLinux는 아직 보안 부팅을 지원하지 않습니다.

그러므로 BIOS 셋업/설정에서 보안부팅을 해제해줍니다.

만약 해결이 되면 해당 버그 이슈 트래커의 상태가 해결로 바뀔 것입니다.

 

VMWare의 가상머신에서의 보안부팅 설정 관련 내용은 아래 링크를 참고하시기 바랍니다.

 

04. 시스템 내 패키지 전체 업그레이드

[study@localhost ~]$ sudo dnf upgrade

안정적인 컨버전을 위해 먼저 CentOS Linux 시스템의 전체 패키지를 최신 버전으로 업그레이드해줍니다.

 

05. 업그레이드 후 시스템 OS 버전 확인

[study@localhost ~]$ rpm --query centos-release
centos-release 패키지가 설치되어 있지 않습니다
[study@localhost ~]$ 

업그레이드를 완료 후 맨 처음 수행했던 버전 확인 명령을 실행하면 위와 같이 오류 메시지가 출력됩니다.

이유는 패키지들을 저장소와 동기화하면서 centos-release 패키지가 자동으로 제거되었기 때문입니다.

해당 패키지 없이도 버전을 확인할 수 있는데 알와 같이 확인할 수 있습니다.

[study@localhost ~]$ cat /etc/centos-release
CentOS Linux release 8.3.2011
[study@localhost ~]$ 

CentOS Linux의 버전이 8.3의 최신 버전으로 업그레이드된 것을 확인할 수 있습니다.

 

06. AlmaLinux Deploy 셸스크립트 파일 다운로드

[study@localhost ~]$ curl -O https://raw.githubusercontent.com/AlmaLinux/almalinux-deploy/master/almalinux-deploy.sh
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 12323  100 12323    0     0  35008      0 --:--:-- --:--:-- --:--:-- 34909
[study@localhost ~]$ 

위와 같이 해당 스크립트 파일을 다운로드받습니다.

 

[study@localhost ~]$ ls -F
almalinux-deploy.sh  다운로드/  바탕화면/  사진/  음악/
공개/                문서/      비디오/    서식/
[study@localhost ~]$ 

ls 명령어로 정상적으로 다운받아 졌는지 확인할 수 있습니다.

 

07. AlmaLinux Deploy 셸스크립트 파일 실행

 

[study@localhost ~]$ sudo bash almalinux-deploy.sh

위와 같이 명령을 실행하면 CentOS Linux에서 AlmaLinux로 컨버전하는 작업이 진행됩니다.

 

[study@localhost ~]$ sudo bash almalinux-deploy.sh
[sudo] study의 암호: 
Check root privileges                                                 OK
Check Secure Boot disabled                                            OK
Check centos-8.x86_64 is supported                                    OK
Download RPM-GPG-KEY-AlmaLinux                                        OK
오류: db5 error(-30969) from dbenv->open: BDB0091 DB_VERSION_MISMATCH: Database environment version mismatch
오류: cannot open Packages index using db5 -  (-30969)
오류: /var/lib/rpm 안의 패키지 데이터베이스를 열 수 없습니다
Import RPM-GPG-KEY-AlmaLinux to RPM DB                                OK
Download almalinux-release package                                    OK
Verify almalinux-release-latest.rpm package                           ERROR
    /root/.alma.wXibwx/almalinux-release-latest.rpm: digests SIGNATURES 올바르지 않음
[study@localhost ~]$

가끔 위와 같이 오류가 날 때도 있는데

다시 한번 실행하면 아래와 같이 정상적으로 실행됩니다.

[study@localhost ~]$ sudo bash almalinux-deploy.sh
[sudo] study의 암호: 
Check root privileges                                                 OK
Check Secure Boot disabled                                            OK
Check centos-8.x86_64 is supported                                    OK
Download RPM-GPG-KEY-AlmaLinux                                        OK
오류: db5 error(-30969) from dbenv->open: BDB0091 DB_VERSION_MISMATCH: Database environment version mismatch
오류: cannot open Packages index using db5 -  (-30969)
오류: /var/lib/rpm 안의 패키지 데이터베이스를 열 수 없습니다
Import RPM-GPG-KEY-AlmaLinux to RPM DB                                OK
Download almalinux-release package                                    OK
Verify almalinux-release-latest.rpm package                           ERROR
    /root/.alma.wXibwx/almalinux-release-latest.rpm: digests SIGNATURES 올바르지 않음
[study@localhost ~]$ sudo bash almalinux-deploy.sh
Check root privileges                                                 OK
Check Secure Boot disabled                                            OK
Check centos-8.x86_64 is supported                                    OK
Download RPM-GPG-KEY-AlmaLinux                                        OK
Import RPM-GPG-KEY-AlmaLinux to RPM DB                                OK
Download almalinux-release package                                    OK
Verify almalinux-release package                                      OK
Remove centos-linux-release package                                   OK
Remove centos-gpg-keys package                                        OK
Remove centos-linux-repos package                                     OK
Remove libreport-plugin-rhtsupport package                            OK
Verifying...                          ################################# [100%]
준비 중...                         ################################# [100%]
Updating / installing...
   1:almalinux-release-8.3-4.el8      ################################# [100%]
Install almalinux-release package                                     OK
Remove centos-backgrounds package                                     OK
Install almalinux-backgrounds package                                 OK
Remove centos-indexhtml package                                       OK
Install almalinux-indexhtml package                                   OK
마지막 메타 데이터 만료 확인 : 0:00:14 전에 2021년 04월 02일 (금) 오후 12시 24분 40초.
종속성이 해결되었습니다.
================================================================================
 패키지                          아키텍처
                                        버전                    리포지터리
                                                                           크기
================================================================================
업그레이드:
 NetworkManager                  x86_64 1:1.26.0-13.el8_3       baseos    2.4 M
 NetworkManager-adsl             x86_64 1:1.26.0-13.el8_3       baseos    137 k
 NetworkManager-bluetooth        x86_64 1:1.26.0-13.el8_3       baseos    163 k
 NetworkManager-config-server    noarch 1:1.26.0-13.el8_3       baseos    124 k
 NetworkManager-libnm            x86_64 1:1.26.0-13.el8_3       baseos    1.7 M

-중략-

 subscription-manager            x86_64 1.27.18-1.el8_3.alma.1  baseos    1.1 M
     교체  rhsm-gtk.x86_64 1.27.16-1.el8
     교체  rhsm-icons.noarch 1.27.16-1.el8
     교체  subscription-manager-initial-setup-addon.x86_64 1.27.16-1.el8

-중략-

다운그레이드 중:
 anaconda-user-help              noarch 1:8.3.3-1.el8.alma      appstream  33 k
 gnu-free-fonts-common           noarch 20120503-18.el8         appstream 134 k
 gnu-free-mono-fonts             noarch 20120503-18.el8         appstream 715 k
 gnu-free-sans-fonts             noarch 20120503-18.el8         appstream  15 k
 gnu-free-serif-fonts            noarch 20120503-18.el8         appstream  15 k
 python3-cups                    x86_64 1.9.72-21.el8           appstream  86 k
 python3-requests                noarch 2.20.0-2.1.el8          baseos    123 k

트랜잭션 요약
================================================================================
업그레이드     157 패키지
다운 그레이드    7 패키지

총 다운로드 크기 : 1.2 G
패키지 다운로드중:
(1/1473): anaconda-user-help-8.3.3-1.el8.alma.n  30 kB/s |  33 kB     00:01    
(2/1473): python3-requests-2.20.0-2.1.el8.noarc  73 kB/s | 123 kB     00:01    
(3/1473): gnu-free-fonts-common-20120503-18.el8  79 kB/s | 134 kB     00:01    
(4/1473): gnu-free-serif-fonts-20120503-18.el8.  25 kB/s |  15 kB     00:00    
(5/1473): gnu-free-sans-fonts-20120503-18.el8.n  24 kB/s |  15 kB     00:00   

-중략-
(1470/1473): sgabios-bin-0.20170427git-3.module  19 kB/s |  12 kB     00:00    
(1471/1473): seavgabios-bin-1.13.0-2.module_el8  45 kB/s |  41 kB     00:00    
(1472/1473): runc-1.0.0-70.rc92.module_el8.3.0+ 1.2 MB/s | 3.7 MB     00:03    
(1473/1473): slirp4netns-1.1.8-1.module_el8.3.0  45 kB/s |  50 kB     00:01    
--------------------------------------------------------------------------------
합계                                            1.4 MB/s | 1.2 GB     14:52     
트랜잭션 점검 실행 중
트랜잭션 검사가 성공했습니다.
트랜잭션 테스트 실행 중
트랜잭션 테스트가 완료되었습니다.
트랜잭션 실행 중
  스크립틀릿 실행: filesystem-3.8-3.el8.x86_64                              1/1 
  스크립틀릿 실행: kmod-kvdo-6.2.3.114-74.el8.x86_64                        1/1 
  준비 중입니다  :                                                          1/1
  스크립틀릿 실행: libgcc-8.3.1-5.1.el8.alma.x86_64                         1/1 
  업그레이드     : libgcc-8.3.1-5.1.el8.alma.x86_64                      1/2949 
  스크립틀릿 실행: libgcc-8.3.1-5.1.el8.alma.x86_64                      1/2949 
  재설치         : fontpackages-filesystem-1.44-22.el8.noarch            2/2949 
  재설치         : hwdata-0.314-8.6.el8.noarch                           3/2949 
  재설치         : google-noto-fonts-common-20161022-7.el8.1.noarch      4/2949 
  재설치         : xkeyboard-config-2.28-1.el8.noarch                    5/2949 
  재설치         : setup-2.12.2-6.el8.noarch                             6/2949 
경고: /etc/shadow(이)가 /etc/shadow.rpmnew(으)로 생성되었습니다

-중략-

  yum-4.2.23-4.el8.noarch                                                       
  zenity-3.28.1-1.el8.x86_64                                                    
  zip-3.0-23.el8.x86_64                                                         
  zlib-1.2.11-16.el8_2.x86_64                                                   
  zlib-devel-1.2.11-16.el8_2.x86_64                                             

완료되었습니다!
Run dnf distro-sync -y                                                OK
[study@localhost ~]$ 


 

08. 배포판 동기화 작업

[study@localhost ~]$ sudo dnf distro-sync -y 
마지막 메타 데이터 만료 확인 : 1:24:52 전에 2021년 04월 02일 (금) 오후 12시 24분 40초.
종속성이 해결되었습니다.
할 것이 없음.
완료되었습니다!
[study@localhost ~]$ 

이제 위와 같이 배포판 동기화 작업을 수행해주시면 됩니다.

알마리눅스가 릴리즈된지 얼마 안된 현 시점에서는 위와 같이 추가 작업이 없어 그대로 종료됩니다.

 

이것으로 CentOS Linux에서 AlmaLinux로 전환하는 방법이 마무리 되었습니다.

 

09. AlmaLinux 버전 확인

[study@localhost ~]$ sudo cat /etc/redhat-release
[sudo] study의 암호: 
AlmaLinux release 8.3 (Purple Manul)
[study@localhost ~]$ 

정상적으로 컨버전되었는지 버전을 확인해봅시다. 위와 같이 출력됩니다.

 

시스템이  AlmaLinux 커널을 기본 부팅 커널로 설정하였는지 확인합니다.

[study@localhost ~]$ sudo grubby --info DEFAULT | grep AlmaLinux
title="AlmaLinux (4.18.0-240.15.1.el8_3.x86_64) 8.3 (Purple Manul)"
[study@localhost ~]$

 

만약 AlmaLinux를 기본 부팅 커널로 설정되어 있지 않다면 아래 링크를 참고하여 기본 커널로 설정해줍니다.

 

CentOS Linux가 AlmaLinux로 정상적으로 전환되면 시스템 부팅 직후 커널 선택화면에서 위와 같이 AlmaLinux 커널이 보일 것입니다.

 

이것으로 CentOS Linux에서 AlmaLinux로 컨버전하는 과정이 끝입니다.

 

제가 늘 강조하지만 백업은 매우 중요합니다. 잊지 마십시오.