Chapter 4. 디스크 및 다른 저장장치 사용하기

Table of Contents
두 종류의 장치
하드 디스크
플로피
CD-ROM
테이프
포맷하기
파티션
파일시스템
파일시스템 없는 디스크
디스크 공간 할당하기

"On a clear disk you can seek forever. "

"깨끗한 디스크 위에선, 영원을 추구할 수 있다. "

리눅스시스템을 설치하거나 업그레이드할 때에는 디스크에 많은 작업을 해야할 필요가 있다. 디스크에 파일을 저장하기 위해 디스크에 파일시스템을 만들어야 하고 시스템의 여러 부분들을 위해 공간을 확보해야 한다.

이 장은 이러한 모든 초기작업에 대해 설명한다. 보통 일단 시스템을 구성하고 나면 플로피를 사용하는 것을 빼고는 다시 그러한 작업을 안해도 될 것이다. 만약 새 디스크를 추가하거나 디스크를 잘 조절하여 사용하고 싶다면 이 장을 다시 읽을 필요가 있을 것이다.

디스크를 관리하는 기본적인 일들은 다음과 같다.

Chapter 5에서는 가상메모리와 디스크캐싱에 대한 정보를 포함하고 있는데 디스크를 사용할 때 알아둘 필요가 있다. 이 장은 하드디스크, 플로피, 시디롬, 테이프를 설명한다.

두 종류의 장치

유닉스 그리고 리눅스는 두종류의 다른 장치를 인식한다. 랜덤-억세스 블럭 디바이스(random-access block devices)(디스크같은)와 캐릭터 디바이스(character devices)(테이프나 시리얼라인같은)로 장치들의 일부분은 시리얼(serial)이고 일부분은 랜덤-억세스이다. 각 지원되는 장치들은 파일시스템에서 장치파일(device file)로 표시된다. 장치파일을 읽거나 장치파일에 쓰면 데이타는 그것이 가리키는 장치로 왔다갔다한다. 이러한 방법으로 특별한 프로그램(그리고 인터럽트를 잡는다던가 시리얼포트를 폴링한다던지의 특별한 프로그래밍 방법론도)은 장치에 접근하는데 필요치 않다. 예를 들면 프린터에 파일을 보낼 때 다음과 같이 하면 된다.
$ cat filename > /dev/lp1
$
그러면 파일의 내용이 프린트된다.(물론 파일이 프린터가 이해할수 있는 형식이어야 한다.) 그러나 같은 시간에 몇명의 사람들이 파일을 프린터로 보낼 수도 있으므로 보통 프린트할 파일을 프린트에 보내기 위해 특별한 프로그램(보통 lpr)이 사용된다. 이 프로그램은 한번에 하나의 파일이 프린트되도록 하며, 하나의 파일이 끝나면 바로 자동적으로 다음 파일을 보낸다. 비슷한 것이 다른 장치파일에도 필요하다. 사실 장치파일에 대해선 좀처럼 걱정할 필요가 없다.

장치들이 파일시스템에서 파일로(/dev 디렉토리안에서) 보여지므로 ls나 다른 적당한 명령으로 장치파일이 있는지 단지 보는것은 쉽다. ls -l의 결과에서 첫째 열은 파일의 퍼미션과 유형을 포함한다. 예를 들어, 시스템에서 시리얼 장치를 조사해보면,
$ ls -l /dev/cua0
crw-rw-rw-   1 root     uucp       5,  64 Nov 30  1993 /dev/cua0
$
첫째 열의 첫째 글자는, 즉 crw-rw-rw-에서 `c'는 파일의 유형을 사용자에게 알려주는 것으로 이 경우는 캐릭터 디바이스(character devices)이다. 일반적인 파일의 첫째 글자는 `-'이고, 디렉토리는 `d'이고, 블록 디바이스(block devices)는 `b'이다.더 많은 정보를 원하면 ls의 man page를 보면 된다.

장치자체는 설치되어 있지 않더라도 보통 모든 장치파일은 존재한다는 것을 유의해야 한다. 그래서 단지 /dev/sda가 있다고 SCSI하드디스크가 있는건 아니다. 모든 장치 파일을 가지고 있는 것은 설치프로그램을 쉽게 만들고 새로운 하드웨어를 설치하는 것을 쉽게 한다.( 정확한 파라미터를 찾을 필요도 새로운 장치를 위한 장치파일을 만들 필요도 없다.)