사용할 수 있는 커널 모듈을 적재(load)하여 동작하게 하는 명령어

사용법 : insmod [옵션] 모듈파일 [symbol=value] 
-f : 커널버전이 다르더라도 강제로 모듈을 로드한다. 
-h : 사용법을 보여준다. 
-k : 모듈을 자동으로 삭제가 가능하도록 한다. 
-L : 동일한 모듈을 동시에 로드되지 못하게 한다. 
-m : 로드맵을 생성한다. 
-n : 모듈을 로드하지 않고, 보여주기만 한다. 
-p : 모듈이 커널과 매치가 되는지 확인한다. 
-s : 터미널 대신 syslog에 에러를 출력한다. 
-v : 에러를 상세히 보여준다. 
-V : 버전을 보여준다. 
-o NAME : 모듈을 지정한 NAME으로 설정한다. 
-p prefix : 커널이나 모듈을 prefix한다. 

insmod 명령은 커널의 모듈을 적재할 때 사용하는 명령어이다. insmod와 함께, 좀더 지능적인 modprobe 명령이 있다. 모듈을 적재할 수 있는 모듈 리스트는 레드햇 기준으로 모듈 디렉토리는 /lib/modules/커널버전/kernel/에 있다.
각 커널버전에 따라 /lib/modules 디렉토리 다음의 디렉토리는 커널 버전을 따른다. 각 하위 디렉토리에서 .o로 끝나는 모듈 파일을 살펴 볼 수 있을 것이다.

# cd /lib/modules/2.4.13-1hl/kernel/ 
# ls 
arch      drivers     fs    net 

lsmod 명령어로 현재 메모리에 적재된 모듈들을 살펴 볼 수 있다. ip_tables 모듈, 이더넷 카드 모듈, ext3모듈 등이 있다.

# lsmod 
Module                  Size  Used by    Not tainted 
loop                   12472   0 
iptable_filter          2444   0  (autoclean) (unused) 
ip_tables              15776   1  [iptable_filter] 
e100                   56100   1 
ext3                   71300   2 
jbd                    52084   2  [ext3] 
cpqarray               24324   3 
sd_mod                 13708   0  (unused) 
scsi_mod              108104   1  [sd_mod] 

위의 모듈 중, ip_tables모듈을 rmmod명령으로 메모리에서 제거해 보자. 제거된 ip_tables 모듈은 modprove 명령이나 insmod 명령으로 다시 적재할 수 있다.

# rmmod ip_tables 

# insmod ip_tables 
Using /lib/modules/2.4.13-1hl/kernel/net/ipv4/netfilter/ip_tables.o 

이렇게 insmod과 rmmod 그리고, lsmod 명령으로 자유롭게 모듈들을 관리할 수 있다.

[관련 명령어]
depmod 로드할 커널 모듈의 의존성을 다루는 명령어
modprobe 커널 모듈을 로드하는 명령어
2005/06/20 20:24 2005/06/20 20:24

트랙백 주소 :: 이 글에는 트랙백을 보낼 수 없습니다