리눅스에서는 시스템을 구성하는 다양한 모듈들이 존재합니다. 이러한 모듈들은 서로 의존 관계를 가지고 있어, 만약 의존하는 모듈이 변경되면 이를 의존하는 모듈들도 함께 변경되어야 합니다. 이때, 모듈 간의 의존성을 관리하기 위해 사용하는 파일과 명령어를 소개합니다. /etc/modules 리눅스에서는 시스템이 부팅될 때 자동으로 로드되는 모듈들을 설정하는 파일이 존재합니다. 이 파일은 /etc/modules 경로에 위치하며, 사용자는 이 파일을 수정함으로써 자동 로드되는 모듈들을 추가하거나 삭제할 수 있습니다. modprobe 명령어 리눅스에서는 modprobe 명령어를 사용하여 모듈을 로드하거나 제거할 수 있습니다. 이때, modprobe 명령어는 모듈 간의 의존성을 고려하여 필요한 모듈들을 자동으로 로..
리눅스에서 모듈을 다루기 위한 명령어들을 알아보겠습니다. 모듈 삽입 및 제거 insmod {모듈_파일_이름}: 지정된 모듈을 커널에 삽입합니다. rmmod {모듈_이름}: 지정된 모듈을 커널에서 제거합니다. 모듈 정보 확인 lsmod: 현재 적재된 모든 모듈의 정보를 출력합니다. modinfo {모듈_이름}: 지정된 모듈의 정보를 출력합니다. 모듈 디버깅 dmesg: 시스템 로그에서 최근 메시지를 출력합니다. 모듈 디버깅을 위해 사용됩니다. insmod -v {모듈_파일_이름}: 모듈 삽입 시 디버그 정보를 출력합니다. 모듈 컴파일 make: 모듈 소스 코드를 컴파일합니다. make clean: 모듈 컴파일 시 생성된 파일들을 삭제합니다.
커널에 탑재되는 모듈과 관련된 디렉터리는 다음과 같습니다: /lib/modules/{kernel-version}/: 해당 리눅스 커널 버전에 대한 모듈 파일이 포함되어 있습니다. 이 디렉터리는 커널 패키지를 설치할 때 생성됩니다. /etc/modprobe.d/: 이 디렉터리에는 모듈을 로드할 때 사용되는 모듈 로드 파일이 포함되어 있습니다. /proc/modules: 현재 로드된 모듈에 대한 정보가 들어 있습니다. /sys/module/: 이 디렉터리는 모듈의 런타임 정보를 포함합니다. 이 디렉터리 구조는 모듈의 이름과 버전에 따라 달라집니다. /usr/src/linux-headers-{kernel-version}/: 이 디렉터리에는 커널 헤더 파일이 포함되어 있습니다. 이 헤더 파일은 커널 모듈을 빌드..