본문 바로가기

리눅스

[draft] grubby 명령어

grubby 명령어

grubby는 CentOS, Rocky Linux, AlmaLinux, Red Hat Enterprise Linux(RHEL) 등 Red Hat 계열 Linux에서 GRUB 부트로더 설정을 관리하기 위한 명령줄 도구입니다.

 

Linux 시스템은 부팅 과정에서 GRUB(Grand Unified Bootloader)을 통해 커널을 로드합니다.

grubby를 사용하면 다음과 같은 작업을 수행할 수 있습니다.

  • 현재 등록된 커널 정보 확인
  • 기본 부팅 커널 변경
  • 커널 부트 파라미터 추가 및 제거
  • 새로운 커널을 부트 메뉴에 등록
  • 불필요한 커널 항목 정리

특히 커널 파라미터 변경, 기본 커널 변경, 커널 디버깅 설정 등의 작업을 수행할 때 유용합니다.

1. grubby 기본 사용 형식

grubby [옵션] [값]

옵션을 통해 GRUB 설정 조회, 커널 변경, 부트 파라미터 수정 등을 수행할 수 있습니다.

2. GRUB 설정 확인

현재 시스템에 등록된 모든 커널 및 부팅 항목을 확인합니다.

sudo grubby --info=ALL
index=0
kernel="/boot/vmlinuz-5.14.0-362.el9.x86_64"
args="ro crashkernel=auto resume=/dev/mapper/rhel-swap"
root="/dev/mapper/rhel-root"
initrd="/boot/initramfs-5.14.0-362.el9.x86_64.img"
title="Rocky Linux (5.14.0-362.el9.x86_64)"

확인 가능한 정보

  • 커널 경로
  • initramfs 이미지
  • 부트 파라미터
  • 부팅 메뉴 이름

3. 현재 기본 부팅 커널 확인

현재 기본으로 설정된 커널을 확인합니다.

grubby --default-kernel
/boot/vmlinuz-5.14.0-362.el9.x86_64

4. 기본 부팅 커널 변경

특정 커널을 기본 부팅 커널로 설정합니다.

sudo grubby --set-default=/boot/vmlinuz-KERNEL_VERSION
sudo grubby --set-default=/boot/vmlinuz-5.14.0-362.el9.x86_64

설정 확인

grubby --default-kernel

5.커널 부트 파라미터 추가

부팅 시 커널에 전달할 파라미터를 추가할 수 있습니다.

 

예를 들어 SELinux 비활성화 테스트 또는 디버깅 옵션 추가 등에 사용됩니다.

sudo grubby --update-kernel=ALL --args="parameter=value"
sudo grubby --update-kernel=ALL --args="audit=0"

설명

  • --update-kernel=ALL : 모든 커널에 적용
  • --args : 추가할 커널 파라미터

6. 커널 부트 파라미터 제거

기존에 설정된 커널 파라미터를 제거할 수 있습니다.

sudo grubby --update-kernel=ALL --remove-args="parameter"
sudo grubby --update-kernel=ALL --remove-args="audit"

7. 특정 커널에만 파라미터 적용

특정 커널에만 설정하려면 커널 경로를 지정합니다.

sudo grubby --update-kernel=/boot/vmlinuz-5.14.0-362.el9.x86_64 --args="debug"

8. 커널 목록 확인

현재 시스템에 등록된 커널 목록을 확인합니다.

grubby --info=ALL | grep kernel

또는

ls /boot/vmlinuz*

9. 커널 제거

사용하지 않는 커널을 패키지 관리를 통해 제거하는 것이 일반적입니다.

sudo dnf remove kernel-core-OLD_VERSION

제거 후 GRUB 메뉴는 자동으로 갱신됩니다.

10. grubby 활용 예시

현재 커널 정보 확인

sudo grubby --info=ALL

기본 커널 확인

grubby --default-kernel

기본 커널 변경

sudo grubby --set-default=/boot/vmlinuz-5.14.0-362.el9.x86_64

커널 파라미터 추가

sudo grubby --update-kernel=ALL --args="transparent_hugepage=never"

커널 파라미터 제거

sudo grubby --update-kernel=ALL --remove-args="transparent_hugepage"

11. 운영 환경에서 자주 사용하는 커널 파라미터

audit=0 : auditd 비활성화

selinux=0 : SELinux 비활성화

transparent_hugepage=never : THP 비활성화

crashkernel=auto : 커널 크래시 덤프 설정

intel_iommu=on : IOMMU 활성화

12. grubby 사용 시 주의사항

grubby는 시스템 부팅과 직접적으로 관련된 설정을 변경하는 도구이므로 다음 사항에 주의해야 합니다.

  • 커널 파라미터 변경 시 시스템 부팅 실패
  • 가능 기본 커널 변경 시 안정적인 커널 선택 필요
  • 운영 서버에서는 변경 전 백업 권장

현재 GRUB 설정 백업

cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.bak

 

시스템 관리자는 grubby를 활용하여 운영 환경에 맞는 커널 설정을 효율적으로 관리할 수 있습니다.