"On a clear disk you can seek forever. "
"깨끗한 디스크 위에선, 영원을 추구할 수 있다. "
리눅스시스템을 설치하거나 업그레이드할 때에는 디스크에 많은 작업을 해야할 필요가 있다. 디스크에 파일을 저장하기 위해 디스크에 파일시스템을 만들어야 하고 시스템의 여러 부분들을 위해 공간을 확보해야 한다.
이 장은 이러한 모든 초기작업에 대해 설명한다. 보통 일단 시스템을 구성하고 나면 플로피를 사용하는 것을 빼고는 다시 그러한 작업을 안해도 될 것이다. 만약 새 디스크를 추가하거나 디스크를 잘 조절하여 사용하고 싶다면 이 장을 다시 읽을 필요가 있을 것이다.
디스크를 관리하는 기본적인 일들은 다음과 같다.
디스크 포맷하기. 배드섹터를 찾는 일같은 디스크를 사용하기 위한 여러가지 일들이다.(포맷하기는 요새 대부분의 하드디스크에서는 필요하지 않다.)
여러작업들이 서로 영향을 주지않도록 디스크를 사용하고 싶다면 하드디스크를 여러 파티션으로 나눠라. 파티션을 하는 이유는 첫째, 같은 디스크에 다른 운영체제를 설치할 수 있기 때문이고 둘째, 개인 파일과 시스템파일을 떼어놓아 백업을 간단하게 하고, 시스템이 망가졌을 때 시스템 파일을 보호하는데 보탬이 되기 때문이다.
알맞은 형식의 파일시스템을 각 디스크나 파티션에 만들어라. 파일시스템을 만들기 전까지 리눅스에 디스크는 아무 쓸모가 없다. 파일시스템을 만든 후부터 디스크에 파일을 만들수 있고 접근할수 있다.
하나의 트리구조를 만들기 위해 자동으로, 혹은 필요할때 수동으로 다른 파일시스템을 마운트해라.(수동으로 마운트한 파일시스템은 보통 수동으로 마운트를 풀어줄 필요가 있다.)
Chapter 5에서는 가상메모리와 디스크캐싱에 대한 정보를 포함하고 있는데 디스크를 사용할 때 알아둘 필요가 있다. 이 장은 하드디스크, 플로피, 시디롬, 테이프를 설명한다.
유닉스 그리고 리눅스는 두종류의 다른 장치를 인식한다. 랜덤-억세스 블럭 디바이스(random-access block devices)(디스크같은)와 캐릭터 디바이스(character devices)(테이프나 시리얼라인같은)로 장치들의 일부분은 시리얼(serial)이고 일부분은 랜덤-억세스이다. 각 지원되는 장치들은 파일시스템에서 장치파일(device file)로 표시된다. 장치파일을 읽거나 장치파일에 쓰면 데이타는 그것이 가리키는 장치로 왔다갔다한다. 이러한 방법으로 특별한 프로그램(그리고 인터럽트를 잡는다던가 시리얼포트를 폴링한다던지의 특별한 프로그래밍 방법론도)은 장치에 접근하는데 필요치 않다. 예를 들면 프린터에 파일을 보낼 때 다음과 같이 하면 된다.
$ cat filename > /dev/lp1 $ |
장치들이 파일시스템에서 파일로(/dev 디렉토리안에서) 보여지므로 ls나 다른 적당한 명령으로 장치파일이 있는지 단지 보는것은 쉽다. ls -l의 결과에서 첫째 열은 파일의 퍼미션과 유형을 포함한다. 예를 들어, 시스템에서 시리얼 장치를 조사해보면,
$ ls -l /dev/cua0 crw-rw-rw- 1 root uucp 5, 64 Nov 30 1993 /dev/cua0 $ |
장치자체는 설치되어 있지 않더라도 보통 모든 장치파일은 존재한다는 것을 유의해야 한다. 그래서 단지 /dev/sda가 있다고 SCSI하드디스크가 있는건 아니다. 모든 장치 파일을 가지고 있는 것은 설치프로그램을 쉽게 만들고 새로운 하드웨어를 설치하는 것을 쉽게 한다.( 정확한 파라미터를 찾을 필요도 새로운 장치를 위한 장치파일을 만들 필요도 없다.)