Rocky Linux - grubby를 이용한 Linux kernel 업그레이드 설정 가이드
- 리눅스 커널 업그레이드를 위해 꼭 알아야 하는 grubby 명령어
1. 리눅스 커널 업그레이드를 위해 알야야 하는 명령어
2. 리눅스 커널 업그레이드 및 확인
3. GRUB를 이용한 Boot loader 사용법
4. grubby 를 이용한 default 커널 설정
리눅스 운영체제에서 커널 업그레이드는 시스템 성능 향상, 보안 패치 적용 및 새로운 기능을 사용하기 위해 중요한 작업입니다. 이 가이드에서는 커널 업그레이드 방법과 GRUB을 활용한 커널 설정 방법을 단계별로 설명하겠습니다.
1. 리눅스 커널 업그레이드를 위해 알아야 하는 grubby 명령어
리눅스 커널을 업그레이드하는 방법은 사용 중인 배포판에 따라 약간의 차이가 있을 수 있지만, 대부분의 리눅스 배포판에서는 아래와 같은 절차를 따릅니다.
* 커널 설정을 위해 알아야 하는 grubby 명령어
1. uname -r : 현재 커널 확인
2. grubby --info=ALL : 설치된 커널 목록 확인
3. grubby --default-kernel : 기본 커널 확인
4. grubby --set-default /boot/vmlinuz-<커널 버전> : 기본 커널 설정
grubby --set-default /boot/vmlinuz-5.14.0-427.33.1.el9_4.x86_64
5. grubby --set-default-index <인덱스> : 한 번만 부팅할 커널 설정
grubby --set-default-index 1
6. grubby --update-kernel=ALL --args="<옵션>" : 커널 명령줄 옵션 추가
grubby --update-kernel=ALL --args="quiet"
7. grubby --update-kernel=ALL --remove-args="<옵션>": 커널 명령줄 옵션 제거
grubby --update-kernel=ALL --remove-args="quiet"
2. 리눅스 커널 업그레이드 및 확인
(1) 커널 버전 패키지 목록 확인
리눅스 커널은 일반적으로 패키지 관리자를 통해 설치할 수 있습니다. 먼저 사용할 수 있는 커널 버전을 확인합니다.
- Debian/Ubuntu 계열:
sudo apt update apt-cache search linux-image
- RHEL/CentOS 계열:
yum list available kernel
(2) 커널 패키지 업그레이드
원하는 커널 버전을 선택하여 설치합니다.
- Debian/Ubuntu 계열:
# sudo apt install linux-image-<버전>-generic
- RHEL/CentOS 계열:
# sudo yum install kernel-<버전>
(3) 새로운 커널 적용을 위한 재부팅
커널 설치 후에는 시스템을 재부팅해야 새로운 커널이 적용됩니다.
# sudo reboot
(4) 새로운 커널 적용을 위한 재부팅
현재 시스템에 설치된 커널을 확인하려면 아래 명령어를 사용합니다.
# uname -r
5.14.0-427.13.1.el9_4.x86_64
또한, 설치된 모든 커널 목록을 확인하려면 아래 명령어를 사용합니다.
- Debian/Ubuntu 계열:
# dpkg --list | grep linux-image
- RHEL/CentOS 계열:
# rpm -qa | grep kernel
# dnf list kernel
[root@localhost grub.d]# dnf list kernel
Installed Packages
kernel.x86_64 5.14.0-427.13.1.el9_4 @anaconda
kernel.x86_64 5.14.0-427.33.1.el9_4 @baseos
Available Packages
kernel.x86_64 5.14.0-427.35.1.el9_4 baseos
3. GRUB를 이용한 Boot loader 사용법
GRUB는 부팅 시 여러 커널 버전 중 원하는 버전을 선택할 수 있도록 하는 부트로더입니다. 기본적으로 최신 커널이 자동으로 선택되지만, 특정 커널을 선택하려면 GRUB 설정을 변경해야 합니다.
(1) GRUB 메뉴 표시
부팅 시 GRUB 메뉴를 띄우려면 부팅 직후 키보드로 커널을 선택 할수 있고 Shift 또는 Esc 키를 눌러 GRUB 메뉴를 호출할 수 있습니다.
(2) GRUB에서 커널 선택
GRUB 메뉴에 들어가면 Advanced options for <배포판 이름>을 선택한 후, 사용하고자 하는 커널을 직접 선택하여 부팅합니다.
4. grubby를 이용한 Default 커널 설정
특정 커널을 기본값으로 설정하고자 할 때는 grubby를 이용하여 부터로드의 인덱스 설정을 확인하고 수정해야 합니다.
(1) 현재 부팅 중인 커널 확인
grubby --info=ALL
grubby --info=ALL | grep "^kernel"
grubby --info=ALL | grep -e "^kernel" -e "index"
다음과 같이 부트로더에서 설정된 커널을 확인합니다.
[root@localhost grub.d]# grubby --info=ALL | grep -e "^kernel" -e "index"
index=0
kernel="/boot/vmlinuz-5.14.0-427.33.1.el9_4.x86_64"
index=1
kernel="/boot/vmlinuz-5.14.0-427.13.1.el9_4.x86_64"
index=2
kernel="/boot/vmlinuz-0-rescue-97ca7f3acb9d42be933182bc791dc047"
(2) Default 커널 설정 확인
# grubby --default-kernel
/boot/vmlinuz-5.14.0-427.33.1.el9_4.x86_64
(3) 커널 부팅 순서 확인
커널 부터로더 를 적용하기 전에 /etc/default/grub 애서 커널 부팅 순서를 확인합니다.
* 기본 커널을 설정하는 부팅 순서를 위해 기본적인 설정 값이 "GRUB_DEFAULT=saved" 입니다.
GRUB_DEFAULT=saved : 커널 부팅시 마지막 정상으로 작동된 상황으로 복구하는데 주요한 옵션입니다.
#cat /etc/default/grub
/etc/default/grub:GRUB_DEFAULT=saved
GRUB_DEFAULT 값을 수정하여 기본으로 사용할 커널을 설정합니다.
- GRUB_DEFAULT=0: 기본적으로 첫 번째 메뉴 항목(최신 커널)을 선택
- GRUB_DEFAULT=saved 이전에 정상 부팅이 성공한 커널을 저장하고 부팅됩니다. (중요)
특정 커널을 기본값으로 설정하려면 GRUB_DEFAULT에 해당 커널 메뉴의 순서를 입력합니다.
(커널 부팅시 오류가 나는 경우 대처를 위해 초급자는 수정하지 않는 것이 좋을 듯 합니다.)
(4) grubby - 부팅 커널 순서 변경하기
grubby 를 이용한 커널 부트로더 설정 변경
# grubby --set-default /boot/vmlinuz-5.14.0-427.33.1.el9_4.x86_64
# grubby --set-default-index 1
이전 grub를 이용한 커널변경 방법은 다음과 같습니다.
sudo grub-reboot <메뉴 항목 번호>
or
sudo grub-set-default <메뉴 항목 번호>
[root@localhost grub.d]# grubby --default-kernel
/boot/vmlinuz-5.14.0-427.33.1.el9_4.x86_64
[root@localhost grub.d]# grubby --set-default /boot/vmlinuz-5.14.0-427.33.1.el9_4.x86_64
The default is /boot/loader/entries/97ca7f3acb9d42be933182bc791dc047-5.14.0-427.33.1.el9_4.x86_64.conf with index 0 and kernel /boot/vmlinuz-5.14.0-427.33.1.el9_4.x86_64
root@localhost grub.d]# grubby --default-kernel
/boot/vmlinuz-5.14.0-427.33.1.el9_4.x86_64
(5) 설정 적용
GRUB 설정을 변경한 후에는 아래 명령어로 설정을 업데이트합니다.
sudo update-grub
(6) 시스템 재부팅
설정이 완료되면 시스템을 재부팅하여 변경 사항을 적용합니다.
sudo reboot
재부팅후 커널을 확인합니다. 만약 커널이 변경되지 않았다면
위에서 언급한 GRUB_DEFAULT=saved 를 수정해보기 바랍니다.
(3) 커널 부팅 순서 확인
커널 부터로더 를 적용하기 전에 /etc/default/grub 애서 커널 부팅 순서를 확인합니다.
'InfraPlatform' 카테고리의 다른 글
[VMWare Alternative] The Best VMware 대체 기술 검토 (3) | 2024.11.25 |
---|---|
[VMWare Alternative] 상용 서버 가상화 기술 비교 - Vmware- Hypervisor- Promox (2) | 2024.11.23 |
`kernel.printk` 커널 메시지 출력 레벨을 설정 (3) | 2024.11.15 |
[리눅스] Bash 스크립트로 서버 포트 상태 모니터링하는 방법 - awk와 grep 활용 (11) | 2024.08.27 |
오픈소스 API 플랫폼 - Apache APISIX 특징과 설치(1) (1) | 2024.08.25 |
오픈소스 API 플랫폼 - Apache APISIX - 아키텍처(2) (0) | 2024.08.24 |
Linux Docker Install (4) | 2024.08.23 |