CH.5 장치 관리
1. 장치의 설치 및 관리
1-1. 장치의 설치 및 관리
1) /proc 디렉터리 내 주요 파일
- /proc/partitions : 현재 시스템의 파티션 정보를 저장
- /proc/cpuinfo : CPU 정보를 저장
- /proc/devices : 현재 시스템이 사용하는 디바이스 정보를 저장
- /proc/filesystems : 커널이 지원하는 파일시스템의 정보를 저장
- /proc/meminfo : 시스템의 메모리 정보를 저장
- /proc/swaps : 스왑 공간 관련 정보를 저장
- /proc/mdstat : RAID나 중복 디스크에 대한 정보를 저장
2) dev 디렉터리 주요 장치 파일
- /dev/lp* : 프린터 장치
- /dev/hd* : IDE 드라이버, ATA 드라이버, …
- /dev/sd* : SCSI 드라이버 SATA 드라이버 USB 드라이버, …
- /dev/tty* : 터미널 장치
3) 커널 컴파일
- 커널 (kernel) : 운영체제의 가장 바깥 부분에 위치하여 사용자 명령어에 대한 처리를 담당
- 커널 컴파일 : 커널 소스를 사용자가 자신에 맞는 커널 환경을 만드는 과정
- 커널 컴파일 과정과 명령어
1) 커널 소스 설치
- 커널 소스를 /usr/src 디렉터리에 다운로드 후 압축해제 (보통 /usr/src/kernels에 설치됨)
- 커널 패치 수행
2) 커널 컴파일 준비 초기화 make mrproper 명령어
- 기존에 설정되어있는 커널 설정값을 모두 초기화하는 명령어
- 컴파일되어있는 오브젝트 파일(.o 확장자)이 제거됨
3) 커널 컴파일을 위한 환경설정
- 필요 없는 드라이버 모듈을 제외하거나 포함하는 단계
- make config 명령어 : 전통적인 방식. bash 혹은 csh에서 실행하는 행 단위 환경설정 도구
- make menuconfig 명령어 : 메뉴 방식의 화면으로 설정. 텍스트 기반 컬러메뉴 / 커서 사용
- make xconfig 명령어 : X 윈도 환경에서 구현한 방식. 인터페이스가 편리
=> X 윈도가 미설치된 환경에서 커널 컴파일을 진행할 수 있는 도구의 조합 : make xconfig, make menuconfig
- make nconfig : Buildroot 자체의 구성을 실행(즉, 빌드할 패키지, 아키텍처, 툴체인 등 선택).
- make gconfig : X 윈도 환경에서만 실행가능
4) 커널 컴파일
- .config : make menuconfig를 통해서 빌드 관련 설정을 마치면 생성되는 파일
(1) make dep 명령어 : 새로운 커널을 만드는 명령어 (커널 2.6 버전 이후로는 사용 X)
(2) make clean 명령어 : 이전에 수행했던 컴파일 과정에서 생성된 목적파일 커널 임시 파일 등을 삭제
* make distclean 명령어 : 커널 소스를 받은 최초 상태로 되돌리는 명령어
(3) make bzlmage 명령어 : 압축된 커널 이미지를 생성
(4) make modules 명령어 : 커널 환경설정에서 모듈로 설정한 기능들을 컴파일
(5) make modules_install 명령어 : 컴파일된 모듈을 /lib/modules에 설치
- 위에 명령어들은 make all 명령어로 한 번에 수행할 수 있다
5) 커널 설치 make install 명령어
- 생성한 커널 이미지를 설치
- /boot 디렉터리에 필요한 파일을 복사하는 과정
- 순서 정리 : 커널 소스 설치 -> make mrproper -> make config -> make clean -> make bzlmage -> make modules -> make modules_install -> make install
* make help 명령어 : 커널 컴파일에 필요한 명령어들을 확인할 수 있음
4) 커널 모듈 설정 명령어 파일
- 커널 모듈의 설치 위치는 /lib/modules/[커널 버전]/*
- 커널의 모듈 파일 형식은 .ko(kernel object)
- lsmod 명령어
: 현재 시스템에 설치된 모듈 목록 출력
: /proc/modules 파일 참조
- insmod 명령어
: 모듈을 커널에 설치하는 명령어
: 형식 : # insmod [옵션] [설치할 모듈(오브젝트 파일)]
- rmmod 명령어
: 모듈을 삭제하는 명령어
: [-r] : 의존성이 있는 모듈을 모두 삭제
- modprobe 명령어
: 모듈을 설치/삭제하는 명령어
: insmod/rmmod 명령어와 다르게 modules.dep 파일을 참조해 의존성 문제를 해결
: [-l] : 모든 모듈 목록 출력
: [-a] : 모듈을 설치 의존성이 있는 모듈을 함께 설치
: [-r] : 모듈을 삭제 의존성이 있는 모듈 중 사용되고 있지 않는 모듈을 같이 삭제
- depmod 명령어
: 의존성을 검사하여 modules.dep 파일을 갱신하는 명령어
: [-a] : /etc/modules.conf 파일에 있는 모든 모듈의 의존성을 갱신
: [-v] : 처리된 모듈의 목록을 출력
- modinfo 명령어
: 지정한 모듈의 정보를 출력하는 명령어
- /etc/modprobe.d
: 부팅 시 모듈을 자동으로 적재하기 위한 디렉터리
: 디렉터리 안에 있는 .conf 파일을 읽어 부팅 시에 자동으로 적재함
: 커널 2.4 버전 이전에는 /etc/modprobe.conf 파일을 읽어 자동으로 적재했었음
- /lib/modules/[커널 버전]/modules.dep 파일
: 모듈의 의존성이 정의되어있는 파일
: 파일 형식 : [모듈 이름] : [의존성이 있는 모듈 이름] [의존성이 있는 모듈 이름] …
1-2. 주변 장치 설정
1) 프린터
- 오픈소스 프린팅 시스템(CUPS)
: 로컬에 직접 연결한 프린터를 네트워크 프린터처럼 설정 가능
- 애플에서 개발한 오픈소스 프린팅 시스템
- 컴퓨터를 프린터 서버로 사용할 수 있게 해주는 모듈 방식의 프린팅 시스템
- /etc/cups/printers.conf 파일
: 프린터 큐 관련 환경설정 파일
: lpadmin 명령어를 이용하거나 웹을 통해 설정
- 인터넷 인쇄 프로토콜(IPP) 포트 번호 : TCP,UDP/631
2) 프린터 관련 명령어
- 기본적으로 [-P] 옵션으로 프린터 지정을 하지 않으면 기본 프린터를 기본값으로 명령 실행
- /etc/printcap 파일 : 프린터 설정 파일
* System V 계열
- Ip : 프린터 디바이스 path를 사용하여 직접 인쇄 - [-n NUM] 옵션
- Ipstat : 프린터 큐의 상태를 확인
- cancel : 프린트 작업을 취소
* BSD 계열
- lpc 명령어 : 대화형으로 프린터를 관리(제어)하기 위한 명령어
- lpq 명령어 : 프린터 큐의 내용 출력
: System V 계열 : lpstat 명령어
- lprm 명령어 : 프린터 큐의 작업 삭제
: System V 계열 : cancel 명령어
- lpr 명령어 : 파일 내용을 출력
: System V 계열 lp 명령어
: [# NUM] : 한 페이지를 “NUM”장씩 출력 ([-K] 옵션과 동일)
- System V 계열 : [-n NUM] 옵션
: [-b] : 배너나 헤더를 출력하지 않음
: 다른 방법을 통한 출력 방법 # cat [출력할 파일] > /dev/lp
3) 스캐너
- SANE
: 스캐너 관련 하드웨어를 사용할 수 있도록 해주는 API
: 관련 소프트웨어 : Xsane(X 윈도 기반), Simple Scan(GNOME), GIMP(GNU, 그림 편집 프로그램)
4) 사운드 카드
- ALSA (Advanced Linux Sound Archltecture)
: 사운드 카드용 장치 드라이버를 위한 API를 제공
: 리눅스 커널의 구성요소 GPL 기반
: 관련 소프트웨어 : alsamixer
- OSS(Open Sound System)
: 사운드를 만들고 캡처하는 인터페이스
: 초기에는 OSS를 사용했으나 최근에는 ALSA가 더 많이 사용됨
5) 하드웨어 관련 명령어
- lscpu 명령어 : CPU 정보 출력
- lspci 명령어 : 시스템 하드웨어 정보 출력
- lsscsi 명령어 : SCSI 장치의 목록 출력
- lsusb 명령어 usb 장치의 목록 출력
해당 블로그를 참고하여 정리했습니다.
https://bangu4.tistory.com/139
'자격증 & 공부 > 리눅스마스터 1급' 카테고리의 다른 글
[리눅스마스터1급 - 1차] 2과목 - 6-2. 시스템 보안 및 관리 (0) | 2024.06.13 |
---|---|
[리눅스마스터1급 - 1차] 2과목 - 6-1. 시스템 분석 (0) | 2024.06.13 |
[리눅스마스터1급 - 1차] 2과목 - 4-4. 소프트웨어 설치 및 관리 (0) | 2024.06.13 |
[리눅스마스터1급 - 1차] 2과목 - 4-3. 프로세스 관리 (1) | 2024.06.13 |
[리눅스마스터1급 - 1차] 2과목 - 4-2. 파일시스템 관리 (1) | 2024.06.13 |