본문 바로가기
IT 실무/서버 관리

리눅스 모듈 관리(lsmod, modprobe 등)

by 지식id 2018. 3. 3.
반응형

IT에서 모듈, 모듈화라는 말은 너무나 흔히 쓰인다. 여러 기능들을 큰 덩어리로 묶어 두는 것이 아니라, 기능 단위 또는 필요에 따른 여러 단위로 쪼개어 두는 것이 모두 모듈화의 일환이라고 할 수 있다. 소프트웨어 공학에서 응집도, 결합도 등이 모두 이 모듈화와 관련된 것이다. 모듈화는 함수 단위에서 이루어질 수도 있고 SW단위, 그리고 크게는 시스템 단위에서도 이루어질 수 있다.

리눅스의 모듈은 리눅스 커널에서 필요한 시스템 관리 기능들을 모두 커널에 포함시키 않고 필요에 따라서 추가하여 사용할수 있도록 구현된 메커니즘이다.


# lsmod


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


# insmod

# rmmod


각각 모듈을 설치하고 삭제하는 명령어이다. 잘 쓰이지 않는다.



modprobe


앞서 언급한 insmod 및 rmmod는 의존성 해결에 대한 메커니즘이 없는 반면, modprobe는 기본적으 modules.dep 파일을 참고해 적재 또는 제거 시 의존성 문제를 스스로 해결한다.


주요 옵션

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

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

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


주요 파일

/etc/modprobe.conf

/etc/modprobe.d


부팅 시에 특정 모듈을 자동으로 적재할 때 사용된다. 커널 버전 2.4까진 modprobe.conf가 사용되었지만 2.6버전부터는 /etc/modprobe.d 라는 디렉토리에 있는 모든 *.conf 파일을 읽는 방식으로 변경되었다.


/lib/modules/커널버전/modules.dep


모듈간의 의존성을 관리한다. 모듈파일명과 함께 의존성 있는 모듈의 목록이 나열 되어 있다. 의존성이 변경되면 depmod 명령어로 의존성을 갱신해 주어야 한다.



modinfo


모듈의 정보를 조회한다.



예제문제)

43. 다음 ( 괄호 ) 안에 들어갈 내용으로 알맞은 것은?

----------

[root@www ~] ls ( )

anaconda.conf blacklist.conf dist-oss.conf openfwwf.conf

blacklist-kvw.conf dist-alsa.conf dist-conf

----------

① /usr/modprobe.conf

② /lib/modprobe.conf

③ /etc/modprobe.d

④ /usr/local/modprobe.d

정답확인 : http://q.fran.kr/문제/3374


반응형

댓글