커널에 모듈을 적재한다.
사용법 :
모듈적재
modprobe [-a -n -v] [-C config] [-t 형태] 패턴 OR 모듈명1 모듈명2 ...
모듈리스트
modprobe [-l] [-C config] [-t 형태] 패턴
설정보기
modprobe [-C config] -c
모듈제거 혹은 자동제거
modprobe [-C config] -r [모듈명 ...]
-a, --all : 모듈과 의존성으로 관련된 다른 모듈도 같이 적재한다.
-c, --showconfig : 현재의 설정을 본다.
-d, --debug : 디버깅 정보를 보여준다.
-h, --help : 사용법을 보여준다.
-k, --autoclean : autoclean 모듈을 로드한다.
-l, --list : 커널 모듈들을 보여준다.
-n, --show : Don't actually perform the action
-q, --quiet : Quiet operation
-r, --remove : 모듈을 제거하거나 atuoclean 모듈을 제거한다.
-s, --syslog : 메시지를 syslog로 보낸다.
-t, --type moduletype : Only look for modules of this type
-V, --version : 버전정보를 보여준다.
-C, --config configfile : /etc/modules.conf 파일 대신 지정한 설정파일을 이용한다.
modprobe 명령은 insmod보다 높은 수준의 제어를 할 수 있는 모듈 제어 명령어이다.
레드햇 기준으로 모듈 디렉토리는 /lib/modules/커널버전/kernel/에 있다.
현재 메모리에 적재된 모듈들을 먼저 보도록 하자.
# lsmod
Module Size Used by Not tainted
iptable_mangle 3040 0 (autoclean) (unused)
iptable_filter 2560 0 (autoclean) (unused)
ipt_MASQUERADE 2368 0 (unused)
iptable_nat 22228 1 [ipt_MASQUERADE]
ip_tables 13952 6 [iptable_mangle iptable_filter ipt_MASQUERADE iptable_nat]
ip_conntrack 26164 1 [ipt_MASQUERADE iptable_nat]
3c59x 28552 2
ide-cd 32256 0 (autoclean)
cdrom 32128 0 (autoclean) [ide-cd]
usb-uhci 24676 0 (unused)
usbcore 73792 1 [usb-uhci]
ext3 65984 1
jbd 47500 1 [ext3]
ip_table 모듈, 랜카드 모듈, ext3모듈, usb관련 모듈 등이 있다.
그중 ip_tables모듈을 rmmod명령을 사용하여 메모리에서 제거해보자.
# rmmod ip_tables
insmod명령으로 다시 ip_tables 모듈을 로드한다.
# insmod /lib/moduels/2.4.13-1hl/kernel/net/ipv4/netfilter/ip_tables.o
depmod 명령으로 각 모듈에 대한 의존성을 검사하여 모듈 데이터베이스를 생성한다.
생성된 파일은 /lib/modules/커널버전/modules.dep으로 생성된다.
이 modules.dep 모듈 데이터베이스로 modprobe 명령을 사용할 수 있다. 한 예를 들어 아래의 ipt_MASQUERADE.o 모듈은 먼저 ip_conntrack.o, ip_tables.o, iptable_nat.o 모듈을 먼저 로드해야 하지만 modprobe 명령은 자동으로 의존성을 체크하여 같이 모듈을 올려 준다.
트랙백 주소 :: 이 글에는 트랙백을 보낼 수 없습니다