리눅스 커널은 모듈화가 되어 있어 수정에 매우 용이하다.
보통 커널을 수정하려면 수정한 뒤 재컴파일해야 한다.
하지만 이는 굉장히 비효율적이므로 리눅스 커널은 모듈이라고 하는 추가/삭제 기능을 탑재하였다.
이것으로 인해 수 많은 리눅스 변종이 만들어질 수 있었고 유저마다 자신의 색에 맞는 시스템 환경을 구축할 수 있게 된다.
리눅스의 핵심기능이라고 할 수 있는 커스텀 커널은 모듈 관리 명령어를 알아야 잘 활용할 수 있다.
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]
모듈 정보 조회하는 명령어이다.
'GNU+linux > shell' 카테고리의 다른 글
리눅스 압축/압축풀기 총정리! (0) | 2021.08.22 |
---|---|
리눅스 시스템 정보 확인 명령어 ( CPU , RAM , VGA, BIOS , Kernel Version) (2) | 2021.04.15 |
아치 리눅스 (Arch Linux) 디스코드 (Discord) 모듈 로드 문제 해결법 - 2021.03.31 (2) | 2021.03.31 |
VirtualBox 리눅스 (아치 리눅스) (0) | 2021.03.27 |
리눅스 멀티커맨드 활용 - 리눅스가 강력한 이유! - 3편 (0) | 2021.02.06 |