GNU+linux/shell

리눅스 모듈 관리 명령어 - lsmod , modprobe 등을 알아보자!

ensuta 2021. 4. 12. 15:58
728x90
반응형

리눅스 커널은 모듈화가 되어 있어 수정에 매우 용이하다. 

보통 커널을 수정하려면 수정한 뒤 재컴파일해야 한다.

하지만 이는 굉장히 비효율적이므로 리눅스 커널은 모듈이라고 하는 추가/삭제 기능을 탑재하였다.

이것으로 인해 수 많은 리눅스 변종이 만들어질 수 있었고 유저마다 자신의 색에 맞는 시스템 환경을 구축할 수 있게 된다.

리눅스의 핵심기능이라고 할 수 있는 커스텀 커널은 모듈 관리 명령어를 알아야 잘 활용할 수 있다.

 

 

lsmod

모듈 정보 조회

시스템 명령어이므로 모두 루트 권한이 필요하다.

루트권한 구분이 없는 변조 시스템은 신경 쓰지 않아도 된다.

# lsmod
Module                  Size  Used by
xxxxxxxxxxxxxx         14324  0
xxxxxxxxxx             13484  0
xtxxxxxxx              27860  0
xxxxxxxxxxx            12574  0
xxxxxxxxd		       1232345  210 nxxxxxx
xxxxxx                 79838766  74 nxxxxxx
nfxxxxxx               12564  1 xxxxxxxxxx
xxxxxxxxx              1104  1 xxxxxxxxxxxx

현재 시스템에 설치되어 있는 모듈들의 목록을 볼 수 있다.

 

 

insmod

# insmod [options] filename [args]

모듈 추가 명령어 ( 잘 쓰이지 않음)

 

 

rmmod

# rmmod [options] modulename ...

모듈 삭제 명령어 (잘 쓰이지 않음)

 

 

depmod

# depmod <options>

의존성을 검사한 뒤 modules.dep 파일을 갱신

전문가들은 modprobe 나 inmod 전에 한번 더 실행해줄 것을 권장하고 있다.

 

modprobe

# modprobe [options] [-i] [-b] modulename
# modprobe [options] -a [-i] [-b] modulename [modulename...]
# modprobe [options] -r [-i] modulename
# modprobe [options] -r -a [-i] modulename [modulename...]
# modprobe [options] -c
# modprobe [options] --dump-modversions filename

리눅스 모듈 관리를 잘 몰라도 한번쯤은 실행해봤을 명령어.

depmod에 의해 갱신된 modules.dep에서 알아서 찾아서 적재해준다.   

앞선 insmod 나 rmmod 에는 없는 의존성 검사 기능이 

새로 탑재되어 해당 모듈 디렉터리로 이동할 필요 없이 아무 위치에서나 적재 가능한 명령어이다.

 

많이 쓰는 옵션

-l : 모든 모듈 목록을 출력한다.

-r : 모듈을 제거한다. 의존성 있는 모듈이 사용되고 있지 않다면 알아서 같이 제거한다.

-c : 모듈 관련 환경 설정 파일의 내용을 전부 출력한다.

 

메인 구성 파일

  • /etc/modprobe.conf (구버전 커널에서 사용)
  • /etc/modprobe.d
  • /lib/modules/<커널 버전>/modules.dep (변경 후 $ depmod 로 의존성 갱신)

modinfo

# modinfo [options] filename [args]

모듈 정보 조회하는 명령어이다.

 

 

반응형