Profile picture

[Linux] CentOS 커널 업그레이드

JaehyoJJAng2023년 05월 19일

커널 업데이트

리눅스 커널을 수동으로 업그레이드하려고 하면 복잡하고 시간이 오래 걸린다.
그런 일련의 과정들을 생략하고 조금 더 간편하게 업그레이드 해볼 수 있는 elrepo 에 대해서 알아보자

elrepo ?

Enterprise Linux 용 커뮤니티 기반 저장소이며 RHEL 및 이를 기반으로 꾸며진 기타 배포판들(Fedora, CentOS ..)에 대한 지원을 제공하는 저장소이다.

주로 소프트웨어적인 부분 보다 커널, 파일 시스템 드라이버, 그래픽 드라이버 등을 비롯한 하드웨어와 관련된 패키지에 중점을 두고 있는 저장소다


커널 업데이트 전 가장 먼저 해야할 일은 모든 패키지를 최신 상태로 업데이트 하는 것이다
구버전의 패키지들을 지원하지 않거나, 요소가 없으면 문제가 생길 수 있다


아래 명령어를 사용하여 패키지 업데이트를 진행하자

$ yum update -y
$ yum install yum-plugin-fastestmirror -y

위 명령어를 통해 rocky 시스템에 업데이트 되고 모든 패키지가 최신 버전으로 업데이트 된다


커널 버전 확인

  • 아래 명령어를 사용하여 운영체제 및 커널 버전 확인

운영체제 버전 확인

$ cat /etc/redhat-release

Rocky Linux release 9.0 (Blue Onyx)
$ cat /etc/os-release

NAME="Rocky Linux"
VERSION="9.0 (Blue Onyx)"
ID="rocky"
ID_LIKE="rhel centos fedora"
VERSION_ID="9.0"
PLATFORM_ID="platform:el9"
PRETTY_NAME="Rocky Linux 9.0 (Blue Onyx)"
ANSI_COLOR="0;32"
LOGO="fedora-logo-icon"
CPE_NAME="cpe:/o:rocky:rocky:9::baseos"
HOME_URL="https://rockylinux.org/"
BUG_REPORT_URL="https://bugs.rockylinux.org/"
ROCKY_SUPPORT_PRODUCT="Rocky-Linux-9"
ROCKY_SUPPORT_PRODUCT_VERSION="9.0"
REDHAT_SUPPORT_PRODUCT="Rocky Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="9.0"

커널 버전 확인

$ uname -msr

Linux 5.14.0-70.13.1.el9_0.x86_64 x86_64

1. elrepo 저장소 추가

새로운 커널을 elrepo 저장소를 통해 설치하려면 먼저 elrepo 저장소가 추가 되어야 한다

아래의 명령어를 입력하여 RPM-GPG-KEY를 먼저 추가해주자

$ rpm —import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

GPG-KEY ?

GNU Privacy Guard-KEY의 약자로 배포되고 있는 패키지가 안전한 패키지가 맞는지 확인하는 일종의 인증키다


이제 yum 명령어를 통해 elrepo 저장소를 추가한다

$ yum install https://www.elrepo.org/elrepo-release-7.0-4.el7.elrepo.noarch.rpm

현재 글을 쓴 시간 기준으로 CentOS의 elrepo 최신 버전은 7.0.4 이다

최신 버전은 아래 링크에서 확인 가능하다
http://elrepo.org/tiki/tiki-index.php


시스템에 elrepo 저장소가 성공적으로 등록되었는지 확인해보자

$ yum repolist | grep 'elrepo'

2. 새로운 커널 설치

아래 명령어를 입력하여 최신 버전의 새로운 커널 설치

$ yum --enablerepo=elrepo-kernel install kernel-ml kernel-ml-devel

--enablerepo ?

기본적으로 일반적인 저장소가 활성화 되어있으나, elrepo에서 최신 커널을 받아와 설치해야 하기 때문에 해당 저장소를 사용한다고 명시 해주었음


3. 부팅 순서 변경

  • 새로운 최신 버전의 커널을 설치했으니 이제 부팅할 때 예전 버전의 커널이 아닌 새로 설치한 커널로 부팅하도록 설정

아래 명령어를 입력하여 현재 부팅 가능한 커널 확인

$ grep ^menuentry /boot/grub2/grub.cfg | cut -d "'" -f2

CentOS Linux (5.4.0-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (5.3.11-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-1062.4.1.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-957.21.3.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-db37ede35ceb4dcfbe37a4e157315bec) 7 (Core)

아래 명령어를 사용하여 최신 커널로 부팅하자

$ grub2-set-default "CentOS Linux (5.4.0-1.el7.elrepo.x86_64) 7"

부팅 순서가 정상적으로 변경 되었는지 확인

$ grub2-editenv list

saved_entry=CentOS Linux (5.4.0-1.el7.elrepo.x86_64) 7

재부팅

$ init 6

4. 오래된 커널 제거

새로운 커널이 설치되었으니 저장 공간을 위하여 예전 버전의 커널을 삭제하자


삭제 전 현재 부팅한 커널이 새로운 커널이 맞는지 확인

$ uname -msr

커널 수정을 위해 아래 명령어로 yum-utils 설치

$ yum install yum-utils

아래의 명령어 입력하여 최신 커널 2개 (혹은 그 이상)를 놔두고 나머지는 모두 삭제하자

$ package-cleanup --oldkernels --count=2

Loading script...