자격증/리눅스마스터 1급

[리눅스마스터1급 실기] 장치의 설치 및 관리

ahgle 2023. 4. 24. 20:14
728x90
반응형

장치의 설치 및 관리

 

1. modinfo :모듈 파일에 대한 정보 출력(filename, license, version, ..., alias)

2. insmod : 커널에 (수동으로) 모듈 적재 / 해당 모듈을 자동으로 검색, 삽입함. 의존성있는 모듈은 적재 불가함.

3. lsmod : 리눅스 커널에 적재된 모듈 정보 출력(모듈 로드) / 적재 여부 확인

4. rmmod : 커널에서 모듈 제거 / 다른 모듈에 의해 사용 중인 모듈은 제거 불가

       -f : 강제 제거(--force)

5. modprobe : 리눅스 커널에 모듈 적재(모듈 로드)하거나 제거 / 사용 가능한 모듈 목록 출력

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

       -l : 사용 가능한 모듈 목록 정보 출력

       -r : 모듈 제거 / 의존성 있는 모듈(관련 모듈)을 찾아 사용되지 않는다면 자동 제거 (--remove)

     #modprobe -c : 모듈의 alias, alias symbol, blacklist를 비롯한 다양한 정보를 출력

     #modprobe -r iptables_filter : 관련 모듈까지 같이 제거

  */etc/modprobe.conf : 부팅 시 자동 로드 설정

 

<모듈 관련 작업>

#modinfo 3c509.ko : 모듈 관련 정보 출력

#insmod 3c509.ko : 모듈을 커널에 적재

#lsmod 3c509.ko : 적재 여부 확인

#rmmod 3c509.ko : 커널에서 모듈 제거

 

6. depmod : 모듈 간 의존성을 관리 / modules.dep 파일과 맵 파일을 생성한다. 커널과 커널 모듈을 컴파일하여 설치한 후 모듈 사이의 의존성을 검사하고 커널과 모듈 간의 의존성을 가지도록 한다.

#uname -r : 커널 버전 확인

# find / -name " modules.dep"

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

커널 버전 확인됨

7.make

#make menuconfig : 텍스트 메뉴 기반에서 커서를 이용하여 옵션 설정 작업이 가능

#make modules : 선택한 모듈을 생성

#make modules_install : make modules 명령어로 생성된 모듈을 설치

#make clean : 설정된 작업 초기화 / 오브젝트 파일만 제거

#make distclean : 관련 정보 초기화 및 모든 파일 제거 / 지원되는 제거 명령 중 가장 강력

 

*커널 컴파일 명령 순서

make mrproper(설정과 커널의 소스를 초기화)

→ make config(텍스트 문답 형식) / make menuconfig(메뉴 형식) / make xconfig(x윈도우 형식 / Qt 기반 환경)

→ make clean

→ make bzImage(bzip2 형식으로 커널 생성)

→ make modules

→ make modules_install

→ make install

 

연습 문제 풀이

 

문제 1. 다음은 모듈 관련 작업을 진행하는 과정이다. 조건에 맞게 (괄호) 안에 알맞은 내용을 적으시오.

가. 3c509.ko 모듈 관련 정보를 출력한다.
# (1) 3c509.ko

나. 3c509.ko 모듈을 커널에 적재한다
# (2) 3c509.ko

다. 3c509.ko 커널 모듈의 적재 여부를 확인한다.
# (3) |grep 3c509

라. 3c509.ko 모듈을 커널에서 제거한다.
# (4) 3c509

 

조건

  • (1)~(4) 번은 관련 명령어만 기입한다.

 

정답

1) modinfo

2) insmod

3) lsmod

4) rmmod

 

문제 2. 다음은 모듈 관련 작업을 진행하는 과정이다. 조건에 맞게 (괄호) 안에 알맞은 내용을 적으시오.

가. 사용 가능한 모듈 목록 정보를 출력한다.
# (1) (2)

나. ip6tables_filter 모듈을 제거하면서 관련 모듈도 같이 제거한다.
# (1) (3) ip6table_filter

다. 3c59x.ko 모듈 관련 정보를 출력한다.
# (4) 3c59x.ko

 

조건

  • (1),(4) 번은 관련 명령어만 기입한다.
  • (2),(3) 번은 명령어의 옵션만 기입한다.

 

정답

1) modprobe 

2) -l

3) -r

4) modinfo

 

문제 3. 다음은 모듈 관련 작업 및 커널 컴파일을 진행하는 과정이다. 조건에 맞게 (괄호) 안에 알맞은 내용을 적으시오.

가. 모듈 간의 의존성이 기록된 파일명을 절대 경로로 기입한다.
(1)

나. 커널 모듈 간의 의존성을 관리하는 명령어로, (1)에 해당하는 파일과 맵 파일을 생성한다.
(2)

다. 커널 컴파일 과정에서 선택한 모듈(m으로 선택)을 생성하는 명령을 기입한다.
(3)

라. 커널 컴파일 과정에서 생성한 모듈을 설치하는 명령을 기입한다.
(4)

 

조건

  • (1)번은 응시한 리눅스 버전에 맞게 파일명을 절대 경로로 기입한다.
  • (2)~(4)번은 관련 명령어만 기입한다.

 

정답

1) /usr/lib/modules/3.10.0-957.21.3.el7.x86_64/modules.dep

2) depmod

3) kernelconfig

3) make modules

4) make modules_install

 

 

문제 4. 다음은 커널 컴파일을 진행하는 과정의 일부이다. 조건에 맞게 (괄호) 안에 알맞은 내용을 적으시오.

가. 커널 컴파일을 실행한 적이 있어서 관련 정보를 초기화하고 모든 파일을 제거한다
# make (1)

나. 커널 컴파일 관련 옵션 설정 작업을 텍스트 메뉴 기반에서 커서를 이용하려고 한다.
# make (2)

조건

  • (1)번은 지원되는 제거 명령 중에 가장 강력한 명령어를 기입한다.

 

정답

1) distclean

2) menuconfig

728x90