Linux

[Linux] 모듈 관련 명령어 - lsmod / insmod / rmmod / modprobe / modinfo / modules.dep

thdwldud 2025. 9. 16. 08:39

lsmod

  • 리눅스 커널에 적재된 모듈 정보를 출력하는 명령
  • 모듈명, 크기, 다른 모듈에서 사용 중인 수, 사용 중인 모듈 순으로 출력
$ lsmod
Module      Size      Used by

 

insmod

  • 커널에 모듈을 적재하는 명령. 해당 모듈을 자동으로 검색되고 삽입됨
  • 명령어 사용을 위해 해당 모듈 파일이 존재하는 디렉터리까지 이동해야 하고 의존성 있는 모듈인 경우에는 적재 불가
  • 최근 버전에서는 modprobe 로 사용
insmod 모듈 파일명

 

rmmod

  • 커널에서 모듈을 제거하는 명령
  • 다른 모듈에 의해 사용 중인 모듈은 제거 불가
rmmod 모듈
$ rmmod kvdo : kvdo 모듈 제거

 

modprobe

  • 리눅스 커널에 모듈을 적재하거나 제거하는 명령
  • insmodrmmod 명령은 다른 모듈에 의존되어 있는 경우 사용 불가하나 modprobe는 단일 모듈, 의존성이 있는 여러 모듈, 특정 디렉터리의 모든 모듈들을 적재 가능
  • 모듈에 ‘기호=값’ 형식을 이용하여 매개 변수 전달 가능
  • 모듈이 다른 모듈에 의존하고 있을 경우 필요한 모듈을 먼저 적재
  • 최상위 모듈 디렉터리에 존재하는 modules.dep 파일을 참고해 모듈 간의 의존성 해결
modprobe [option] 모듈 [기호=값]

 

옵션

옵션 설명
-r
--remove
모듈을 제거할 때 사용하는 옵션으로 의존성이 있는 모듈을 찾아서 사용되지 않는다면 자동으로 제거
-c
--showconfig
모듈 관련 환경 설정 파일의 내용을 전부 출력

 

사용 예

  • kdvo 라는 모듈을 적재하면서 필요한 의존 모듈(ex. uds, dm_mod)도 같이 적재
modprobe kvdo
  • kdvo 라는 모듈을 제거하면서 관련 모듈(ex. uds, dm_mod)도 같이 제거
modprobe -r kvdo

 

modprobe

  • 모듈 파일에 대한 정보를 출력
$ modinfo [option] 모듈 파일명

사용 예

  • kvdo.ko 모듈에 대한 정보를 출력
[posein$www kmod-kvdo] $ modinfo kvdo.ko
  • r8169.ko 모듈에 대한 정보를 출력
[posein$www realtek] $ modinfo r8169.ko.xz

 

modules.dep

  • 모듈 간의 의존성을 기록한 파일로 ‘lib/modules/커널버전’ 디렉터리 안에 위치
    • hostnamectl , uname -r : 커널 버전 확인 명령
  • 이 파일에는 모듈 파일명이 기록되고, 콜론(:) 이후에 의존성 있는 모듈 파일명이 차례로 나열됨
  • 모듈 간의 의존성이 변경되면 modules.dep 파일의 내용이 변경되어야 modprobe 명령이 정상적으로 동작함
  • 이 파일을 갱신하고 관리하는 명령이 depmod
  • CentOS7.9 버전부터는 커널 모듈 파일이 xz 형식으로 압축되면서 표시되는 파일명이 변경됨