본문 바로가기
자격증

[리눅스마스터 1급] 6. 주변장치 관리

by LimSeongHyeon 2025. 4. 19.


0. 주변 장치 정보 확인

[root@c47bd92e06fb proc]# ls /proc
1	   cgroups    device-tree  filesystems	kallsyms     kpagecount  modules       scsi	 sys		uptime
28	   cmdline    devices	   fs		kcore	     kpageflags  mounts        self	 sysrq-trigger	version
28537	   config.gz  diskstats    interrupts	key-users    loadavg	 net	       slabinfo  sysvipc	vmallocinfo
8	   consoles   docker	   iomem	keys	     locks	 pagetypeinfo  softirqs  thread-self	vmstat
buddyinfo  cpuinfo    driver	   ioports	kmsg	     meminfo	 partitions    stat	 timer_list	zoneinfo
bus	   crypto     execdomains  irq		kpagecgroup  misc	 pressure      swaps	 tty

 

각 파일별 내용
/proc/cpuinfo CPU 모델, 코어 수, 캐시 크기, 플래그 등 CPU
/proc/meminfo 전체 메모리, 사용 가능한 메모리, 캐시 등 RAM
/proc/uptime 시스템 부팅 이후 경과 시간 시스템 상태
/proc/loadavg CPU 부하 상태 (1/5/15분 평균) CPU
/proc/interrupts 각 장치가 발생시킨 인터럽트 수 CPU/장치
/proc/ioports I/O 포트 주소 범위 정보 하드웨어 I/O
/proc/iomem 메모리 주소 공간에 매핑된 하드웨어 정보 메모리 맵
/proc/kallsyms 커널 심볼 테이블 커널
/proc/kcore 가상 메모리 덤프 (RAM의 snapshot) RAM
/proc/diskstats 디스크 장치의 I/O 통계 디스크
/proc/partitions 디스크 파티션 정보 디스크
/proc/driver 장치 드라이버 정보 (예: NVIDIA, ALSA 등) 드라이버
/proc/devices 현재 커널이 인식한 블록/캐릭터 장치 목록 장치 종류
/proc/buddyinfo 메모리 할당 상태 (버디 시스템 구조) RAM
/proc/kpageflags 각 물리 페이지의 상태 플래그 RAM
/proc/kpagecount 각 페이지의 참조 횟수 RAM
/proc/zoneinfo NUMA 노드와 메모리 영역 정보 RAM
/proc/consoles 연결된 콘솔 장치 정보 터미널/장치
/proc/pressure CPU/IO/memory pressure info 전체 시스템
/proc/scsi/ SCSI 장치 정보 저장장치
/proc/crypto 커널에서 지원하는 암호 알고리즘 암호화 하드웨어
위 내용을 전부 외우기 보다. /proc에 접근해서 파일들을 하나씩 살펴보고 어떤 내용인지 한번씩 보자.

 

 


1. 하드디스크 추가

1. 하드디스크 인식 확인
$ fdisk -l

 

 

2. 파티션 생성
$ fdisk /dev/new-disk

 

잠깐!

 MBR(Master Boot Record) 기반 시스템에서는 기본 파티션(Primary Partiton)의 개수가 제한된다. 기본 파티션은 최대 4개로 제한되며, 별다른 구성 없이 사용이 가능하다. 만약 5개 이상의 파티션을 구현하기 원하면 확장 파티션(Extended Partition)을 할당하고 확장 파티션 안에 논리 파티션(Logical Partition)을 할당해야 한다. 확장 파티션은 기본 파티션 개수에 포함되며 확장 파티션 내부의 논리 파티션은 물리적인 혹은 기술적인 한계가 있지 않는 이상 제한은 없다. 또한, 확장 파티션은 그 자체로 파티션으로써 사용이 불가능하고 반드시 확장 파티션 내부에 논리 파티션을 배치해야 사용이 가능하다. 
 때문에, 만약 기본 파티션으로 파티션 설정이 불가한 경우 fdisk를 통해서 확장 파티션 설정 -> 논리 파티션 설정 순서로 할당한다.
$ cat /proc/partitions
major minor  #blocks  name

   1        0       4096 ram0
...
   1       15       4096 ram15
 254        0  545259520 vda
 254        1  545258496 vda1
 254       16     543628 vdb
파티션 설정 이후 /proc/partitions에서 파티션 설정에 관한 내용 확인이 가능하다. lsblk, fdisk -l, blkid로도 확인이 가능하다.

 

 

3. 파티션 포멧
$ mkfs.ext4 /dev/sdb5
[root@c47bd92e06fb proc]# man -k mkfs
mkfs (8)             - build a Linux filesystem
mkfs.cramfs (8)      - make compressed ROM file system
mkfs.ext2 (8)        - create an ext2/ext3/ext4 filesystem
mkfs.ext3 (8)        - create an ext2/ext3/ext4 filesystem
mkfs.ext4 (8)        - create an ext2/ext3/ext4 filesystem
mkfs.minix (8)       - make a Minix filesystem
mkfs.xfs (8)         - construct an XFS filesystem
파일 시스템 타입에 따라서 명령어가 존재하니 man -k mkfs를 이용해 확인하도록 하자. mkfs에 옵션값을 주어 사용해도 되지만 신경쓸게 늘어나니 mfks.type 형식으로 사용하는게 좋을 것 같다.

 

 

4. 마운트
$ mkdir /home/new-drive
$ mount -t xfs /dev/sdb5 /home/new-drive

# 확인 명령어
$ df -h

 

 

5. 자동 마운트
$ vim /etc/fstab

(Append)
/dev/sdb5	/home/new-drive	xfs	defaults	1	1
from / to / type / options / backup / check로 구성되어 있다.

볼륨 구성 및 RAID 설정은 "2. 파일 시스템 관리"를 참고.
 

[리눅스마스터 1급] 2. 파일 시스템

[작성중] 레이아웃명령어문제

blog.limseonghyeon.com

 


2. 프린터 제어

BSD

프린트 출력
$ lpr -#2 contents.txt

 

프린트 취소
$ lprm 5

 

프린트 작업 관리
$ lpq

 

 

System V

프린트 출력
$ lp -n 2 contents.txt

 

프린트 취소
$ cancel print-job-1

 

프린트 작업 관리
$ lpstat

 


문제