부록 F. 커널 모듈이 자동으로 로드되지 않도록 방지
모듈이 직접 로드되거나 다른 모듈의 종속성으로 로드되거나 부팅 프로세스 중에 커널 모듈이 자동으로 로드되지 않도록 할 수 있습니다.
절차
모듈 이름을
modprobe유틸리티의 구성 파일에 추가해야 합니다. 이 파일은 설정 디렉토리/etc/modprobe.d에 있어야 합니다.이 설정 디렉토리에 대한 자세한 내용은 man page
modprobe.d를 참조하십시오.모듈이 다음 중 하나에 로드되도록 구성되어 있지 않은지 확인합니다.
-
/etc/modprobe.conf -
/etc/modprobe.d/* -
/etc/rc.modules -
/etc/sysconfig/modules/*
# modprobe --showconfig <_configuration_file_name_>
-
모듈이 출력에 표시되는 경우 해당 모듈이 무시되고 로드되지 않았는지 확인합니다.
# modprobe --ignore-install <_module_name_>
로드되는 경우 실행 중인 시스템에서 모듈을 언로드합니다.
# modprobe -r <_module_name_>
시스템에 특정 구성 파일에
blacklist행을 추가하여 모듈이 직접 로드되지 않도록 방지 - 예를 들어/etc/modprobe.d/local-dontload.conf:# echo "blacklist <_module_name_> >> /etc/modprobe.d/local-dontload.conf
참고이 단계에서는 모듈이 필수 또는 다른 모듈의 선택적 종속성인 경우 로드되지 않습니다.
선택적 모듈이 요청 시 로드되지 않도록 합니다.
# echo "install <_module_name_>/bin/false" >> /etc/modprobe.d/local-dontload.conf
중요제외된 모듈이 다른 하드웨어에 필요한 경우 제외하면 예기치 않은 문제가 발생할 수 있습니다.
initramfs의 백업 사본을 만듭니다.# cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.$(date +%m-%d-%H%M%S).bak
kernel 모듈이
initramfs의 일부인 경우 초기ramdisk이미지를 다시 빌드하고 모듈을 생략합니다.# dracut --omit-drivers <_module_name_> -f
현재 커널 명령행 매개변수를 가져옵니다.
# grub2-editenv - list | grep kernelopts
생성된 출력에
<_module_name_>.blacklist=1 rd.driver.blacklist=<_module_name_>을 추가합니다.# grub2-editenv - set kernelopts="<> <_module_name_>.blacklist=1 rd.driver.blacklist=<_module_name_>"
예를 들면 다음과 같습니다.
# grub2-editenv - set kernelopts="root=/dev/mapper/rhel_example-root ro crashkernel=auto resume=/dev/mapper/rhel_example-swap rd.lvm.lv=rhel_example/root rd.lvm.lv=rhel_example/swap <_module_name_>.blacklist=1 rd.driver.blacklist=<_module_name_>"
kdump initramfs의 백업 사본을 만듭니다:# cp /boot/initramfs-$(uname -r)kdump.img /boot/initramfs-$(uname -r)kdump.img.$(date +%m-%d-%H%M%S).bak
/etc/sysconfig/kdump의KDUMP을_COMMANDLINE_APPEND 설정에 대한 Appendrd.driver.blacklist=<_module_name_>kdump initramfs에서 생략합니다.# sed -i '/^KDUMP_COMMANDLINE_APPEND=/s/"$/ rd.driver.blacklist=module_name"/' /etc/sysconfig/kdump
kdump 서비스를 다시 시작하여 kdumpinitrd의 변경 사항을 픽업하십시오:# kdumpctl restart
kdump초기ramdisk이미지를 다시 빌드합니다.# mkdumprd -f /boot/initramfs-$(uname -r)kdump.img
- 시스템을 재부팅합니다.
F.1. 임시로 모듈 제거
일시적으로 모듈을 제거할 수 있습니다.
절차
현재 로드된 모듈을 제거하려면 Run
modprobe를 실행합니다.# modprobe -r <module name>
-
모듈을 언로드할 수 없는 경우 프로세스 또는 다른 모듈이 해당 모듈을 계속 사용 중일 수 있습니다. 그런 경우 프로세스를 종료하고 다른 시간 위에 작성된
modpole명령을 실행하여 모듈을 언로드합니다.