본문 바로가기
운영체제 (LNX,WIN)

커널 모듈 관리 명령어

by 날으는물고기 2009. 6. 25.

커널 모듈 관리 명령어

- insmod

: 모듈 추가. 커널 디렉토리를 찾아서 해당 모듈을 추가한다.
■ 형식 : insmod [옵션] [오브젝트파일]
■ 옵션
  -k : autoclean 을 사용하여 적재

- rmmod

: 모듈 삭제

■ 형식 : rmmod [옵션] [모듈]

■ 옵션
  -r : 의존관계에 있는 모듈을 한번에 삭제

- lsmod

 : 추가된 모듈 출력(/proc/modules 를 참조한다)
■ 형식 : lsmod [옵션]

■ 옵션
  -V : lsmod 버전 출력

- modprobe

: 모듈 추가. depmod에 의해 갱신된 modules.dep에서 찾아 추가한다. insmod와 달리 해당 커널 디렉토리로 갈 필요없이 아무위치에서나 모듈을 추가할수 있다. 또한 의존성이 필요한 모듈이나 먼저 실행되어야 할 모듈이 있다면 그 모듈부터 추가하고 해당 모듈을 추가한다

■ 형식 : modprobe [옵션] [오브젝트파일]

■ 옵션
  -k : autoclean 을 사용하여 추가
  -r : 모듈 삭제

- depmod

: 의존성 검사를 한뒤 modules.dep 파일을 갱신한다. kernald나 modprobe를 실행하기 전엔 꼭 depmod -a를 사용하는 습관을 들인다
■ 형식 : depmod [옵션]
■ 옵션
  -a :

- modinfo

: 모듈 정보 확인
■ 형식 : modinfo [모듈명]

※ autoclean

autoclean라는 플레그를 사용하면 커널 데몬(kerneld)에 의해 일정시간 사용하지 않는 모듈을 삭제한다. 단 커널 컴파일시 kerneld 지원 여부를 물을때 Y를 해야 사용 가능

 

※ 참고사항

insmod는 '/lib/modules/커널버전' 디렉토리를 뒤져 해당 모듈이 있으면 메모리에 올려준다.
modprobe는 depmod에 의해 생성된 modules.dep에서 모듈을 찾아 올린다. 그리고 해당 모듈에
의존성이 있거나 해당모듈보다 선행되어야 하는 모듈이 있으면 그 모듈도 같이 올려준다.
이 부분이 insmod와 가장 큰 차이점이다.
예를 들어 vfat란 모듈을 올리기 위해서는 fat란 모듈을 먼저 올려야 하는데, fat 모듈이 메모리에
올라가 있지 않은 상태에서
# insmod vfat 하면 fat에 대한 symbol을 찾지못해 vfat 모듈을 올리지 못하지만
# modprobe vfat 을 실행하면 자동으로 먼저 fat 모듈을 올리고, 그 다음으로 vfat 모듈을 올린다
(커널 컴파일시 fat, vfat을 모듈로 설정했다고 가정)
modprobe로 해당 모듈을 찾지 못하는 경우 modules.dep에 없을 가능성이 크므로
#depmod -a 해서 모듈 의존 관계를 새롭게 갱신시킬 필요가 있다.
 
참고로 의존 관계에 있는 모듈들을 한꺼번에 내리려면 rmmod -r 옵션을 하면 된다.


출처 : http://blog.daum.net/yong0319
728x90

댓글