2022. 2. 12. 21:12ㆍ리눅스마스터 1급 - 필기/리눅스 시스템 관리
리눅스에서 모듈이란? 리눅스 커널에서 필요할때는 커널에 포함되고 필요하지 않을 때에는 커널에서 분리 되어 독립적으로 존재하는 것을 말합니다. 커널에 포함된다는 뜻은 모듈이 메모리에 로드 된다는 뜻입니다. 모듈을 사용하지 않을 때는 커널에서 분리되기 때문에 메모리 자원을 효율적으로 사용할 수 있습니다.
리눅스에서 사용하는 커널은 시스템 자원을 관리 및 제어하는 역할을 하며 하나의 덩어리 형태로 구성되어 새로운 장치가 추가될 때마다 커널을 새롭게 만들어야 합니다. 이를 모놀리식 이라고 하면 단일형 커널이라고도 합니다.
이러한 커널의 단점을 보완하기 위해서 모듈을 사용하는 것입니다. 리눅스에서 모듈은 *.ko 형태로 생성되고 /lib/modules/버전/kernel 디렉터리 안에 모여 있습니다.
1. lsmod
리눅스 커널에 로드된 모듈들에 대한 정보를 출력하는 명령어입니다.
'모델명' '크기' '사용 중인 수' 순으로 출력이 되며 '사용 중인 수' 다음에 표시되는 문자는 모듈을 사용하고 있는 것에 대한 정보를 출력합니다 주로 다른 모듈명을 출력합니다. (사용 중인 수가 0 이면 현재 사용되고 있지 않는 것입니다.)
2. insmod
커널에 모듈을 로드 시키라는 명령어입니다. 모듈 파일이 있는 위치까지 이동해야 하며 의존성 있는 모듈은 로드 시키는 것이 불가능 합니다.
'insmod 모듈명' 형식으로 사용되며 지정한 모듈을 커널에 로드 시킵니다.
3. rmmod
커널에서 모듈을 제거하는 명령어입니다. 다만 다른 모듈이 사용중인 모듈은 제거 할 수 없습니다.
rmmod 모듈명 형식으로 사용됩니다.
4. modprobe
커널에 모듈을 적재시키거나 제거하는 명령입니다. insmod와 rmmod와는 달리 modprobe는 다른 모듈에 의존되어 있는 경우에도 적재 또는 제거가 가능합니다.
A라는 모듈을 적재하려고 하는 데 A 모듈이 B와 C 모듈에 의존하고 있을 경우 B와 C 모듈을 먼저 커널에 적재 시키고 A모듈을 적재 시키는 방식입니다.
modprobe [옵션] 모듈 [기호=값] 형식으로 사용되며 기호=값 으로 매개 변수를 모듈에 전달 할 수 있습니다.
옵션
-l : 사용 가능한 모듈 정보를 출력합니다.
* 현재 이 옵션은 사용 할 수 없는 것으로 알고 있습니다. 버전이 업데이트되어서 사라진건지는 잘 모르겠습니다. 혹시 아시는 분들은 댓글 부탁드립니다.
-r : 커널에 적재되어 있는 모듈을 제거할 때 사용합니다. 의존성 있는 모듈들도 함께 제거합니다.
-c : 모듈 관련 환경 설정 파일의 내용을 전부 출력합니다.
5. modinfo
모듈 파일에 대한 정보를 출력하는 명령입니다.
모듈들의 의존성 관계를 기록한 파일인 modules.dep은 /lib/modules/커널버전 디렉터리 내에 있고 depmod 명령으로 관리 및 갱신을 할 수 있습니다.
CentOS 7 버전 부터는 /etc/modprobe.d 디렉터리와 /lib/modprobe.d 디렉터리 내의 *.conf 파일들을 설정 파일로 인식합니다.
'리눅스마스터 1급 - 필기 > 리눅스 시스템 관리' 카테고리의 다른 글
시스템 보안 및 관리 - 시스템 백업 (0) | 2022.02.13 |
---|---|
장치 관리 - 주변장치 관리 (0) | 2022.02.13 |
일반 운영관리 - 커널 컴파일 (0) | 2022.02.12 |
일반 운영관리 - 소스 설치법 (0) | 2022.02.12 |
일반 운영관리 - gcc (0) | 2022.02.12 |