본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

리눅스 커널이 실행 중에 불러오거나 내릴 수 있는 기능 조각이다. 장치 드라이버, 파일 시스템, 네트워크 기능 등을 커널에 모두 넣지 않고 필요할 때만 올려 쓸 수 있게 해 준다.

  • 파일 확장자 : .ko (kernel object)
  • 위치 : /lib/modules/$(uname -r)/
  • 의존성 정보 : /lib/modules/$(uname -r)/modules.dep

모놀리식 커널과 모듈

편집 원본 편집
  • 리눅스는 모놀리식 커널이지만 모듈을 동적으로 적재할 수 있다.
  • 커널 설정에서 기능을 y로 두면 커널 이미지에 포함되고, m으로 두면 모듈로 빌드되며, n이면 빌드하지 않는다.
명령어 용도
lsmod 현재 적재된 모듈 목록 (/proc/modules 내용을 보기 좋게 출력)
modinfo 모듈 정보 (파일 경로, 설명, 의존성, 매개변수)
insmod 모듈 파일 하나를 적재. 의존성을 해결하지 않고 전체 경로를 써야 한다.
rmmod 모듈 제거. 의존성을 해결하지 않는다.
modprobe modules.dep를 참고해 의존 모듈까지 함께 적재한다. -r로 제거, -l(구버전)로 목록 확인
depmod 모듈 의존성을 분석해 modules.dep를 만든다. (-a)
  • /etc/modules-load.d/*.conf : 부팅 때 자동으로 적재할 모듈 이름을 한 줄에 하나씩 적는다. (systemd-modules-load)
  • /etc/modprobe.d/*.conf : modprobe 동작 설정
    • options 모듈 매개변수=값 : 모듈 매개변수 지정
    • blacklist 모듈 : 자동 적재 금지
    • alias 별칭 모듈 : 별칭 지정
# 적재된 모듈 확인
$ lsmod | grep usb

# 모듈 정보 확인
$ modinfo e1000

# 의존성까지 함께 적재 / 제거
# modprobe vfat
# modprobe -r vfat

# 의존성 파일 다시 만들기
# depmod -a

# 부팅 때 자동 적재
# echo "br_netfilter" > /etc/modules-load.d/br_netfilter.conf
  • insmod·rmmod는 의존성을 처리하지 않고, modprobe는 modules.dep를 이용해 처리한다.
  • modules.dep를 만드는 명령은 depmod이다.
  • 모듈 위치 /lib/modules/커널버전/