Menu Close

Red Hat Training

A Red Hat training course is available for RHEL 8

3.12. 시스템 부팅 시 커널 모듈이 자동으로 로드되지 않도록 방지

다음 절차에서는 부팅 프로세스 중에 자동으로 로드되지 않도록 커널 모듈을 거부 목록에 추가하는 방법을 설명합니다.

사전 요구 사항

  • 루트 권한
  • kmod 패키지가 설치됩니다.
  • 거부 목록의 커널 모듈이 현재 시스템 구성에 중요하지 않은지 확인합니다.

절차

  1. 거부 목록에 넣을 커널 모듈을 선택합니다.

    $ lsmod
    
    Module                  Size  Used by
    fuse                  126976  3
    xt_CHECKSUM            16384  1
    ipt_MASQUERADE         16384  1
    uinput                 20480  1
    xt_conntrack           16384  1
    …​

    lsmod 명령은 현재 실행 중인 커널에 로드된 모듈 목록을 표시합니다.

    • 또는 잠재적으로 로드되지 않도록 하려는 로드되지 않은 커널 모듈을 식별합니다.

      모든 커널 모듈은 /lib/modules/<KERNEL_VERSION>/kernel/<SUBSYSTEM>/ 디렉터리에 있습니다.

  2. 거부 목록에 대한 구성 파일을 생성합니다.

    # vim /etc/modprobe.d/blacklist.conf
    
    	# Blacklists <KERNEL_MODULE_1>
    	blacklist <MODULE_NAME_1>
    	install <MODULE_NAME_1> /bin/false
    
    	# Blacklists <KERNEL_MODULE_2>
    	blacklist <MODULE_NAME_2>
    	install <MODULE_NAME_2> /bin/false
    
    	# Blacklists <KERNEL_MODULE_n>
    	blacklist <MODULE_NAME_n>
    	install <MODULE_NAME_n> /bin/false
    	…​

    이 예제에서는 vim 편집기에서 편집한 blacklist.conf 파일의 내용을 보여줍니다. blacklist 행을 사용하면 부팅 프로세스 중에 관련 커널 모듈이 자동으로 로드되지 않습니다. 그러나 blacklist 명령은 거부 목록에 없는 다른 커널 모듈의 종속성으로 모듈이 로드되지 않도록 방지하지 않습니다. 따라서 install 행은 모듈을 설치하는 대신 /bin/false 가 실행됩니다.

    해시 기호로 시작하는 행은 파일을 읽기 쉽게 만드는 주석입니다.

    참고

    커널 모듈 이름을 입력할 때 이름 끝에 .ko.xz 확장을 추가하지 마십시오. 커널 모듈 이름에는 확장 기능이 없으며 해당 파일은 다음과 같습니다.

  3. 다시 빌드하기 전에 현재 초기 ramdisk 이미지의 백업 사본을 생성합니다.

    # cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).bak.$(date +%m-%d-%H%M%S).img

    새 버전에 예기치 않은 문제가 발생하는 경우 위의 명령은 백업 initramfs 이미지를 생성합니다.

    • 또는 커널 모듈을 거부 목록에 배치하려는 커널 버전에 해당하는 다른 초기 램디스크 이미지의 백업 사본을 생성합니다.

      # cp /boot/initramfs-<SOME_VERSION>.img /boot/initramfs-<SOME_VERSION>.img.bak.$(date +%m-%d-%H%M%S)
  4. 변경 사항을 반영하려면 새 초기 램디스크 이미지를 생성합니다.

    # dracut -f -v
    • 현재 부팅된 것과 다른 커널 버전의 초기 램디스크 이미지를 빌드하는 경우 대상 initramfs 및 커널 버전을 둘 다 지정합니다.

      # dracut -f -v /boot/initramfs-<TARGET_VERSION>.img <CORRESPONDING_TARGET_KERNEL_VERSION>
  5. 시스템을 재부팅합니다.

    $ reboot
중요

이 절차에 설명된 변경 사항은 적용되며 시스템을 재부팅한 후에도 지속됩니다. 키 커널 모듈을 거부 목록에 잘못 배치하면 불안정하거나 작동하지 않는 시스템에 직면할 수 있습니다.