다음 이전 차례

7. 설치의 세부적인 것 (Installation In Datail)

7.1 설치를 위해 준비해야 할 것 (Getting prepared for installation)

MS-DOS, Windows 또는 NT에 비하여 리눅스는 하드웨어를 더 효과적 (효율적)으로 사용한다. 그래서 하드웨어 설정이 잘못되어 있으면 리눅스를 설치할 때 문제가 될 가능성이 크다. 이런 종류의 문제 때문에 중도에 멈추어야 하는 경우를 줄이기 위해 사전에 해야 할 일들이 몇가지 있다.

먼저, 여러분의 하드웨어에 대한 모든 매뉴얼을 준비한다 -- 마더보드, 비디오카드, 모니터, 모뎀, 등등. -- 그리고 그것들을 가까운 곳에 둔다.

두번째, 여러분의 하드웨어 설정에 대한 자세한 정보를 수집한다. MS-DOS 5.0 또는 그 이상을 사용한다면 Microsoft diagnostic utility인 msd.exe를 사용하여 그러한 정보를 쉽게 얻을 수 있다 (TSR, driver, memory-map, environment-strings 그리고 OS-Version 부분은 신경쓰지 않아도 된다). 이것은 비디오카드와 마우스에 대한 정확한 정보를 준다. 이들 정보는 나중에 X를 설정할 때 도움이 될 것이다.

세번째, 하드웨어 설정 (configuration)에 문제가 있으면 리눅스 설치동안에 회복 불가능한 어떤 문제 (lockup)를 일으킬 수 있으므로 여러분의 컴퓨터를 꼭 점검하도록 한다.

가능하다면 경험있는 리눅스 사용자의 전화번호를 알아두어서 응급상황이 발생하였을 때 물어볼 수 있도록 한다. 십중팔구는 그럴 필요가 없을 것이다. 그러나 그렇게 하는 것이 마음에 안정을 주는데 도움이 될 것이다.

설치에 소요되는 시간. 어떠한 오퍼레이팅 시스템도 설치되어 있지 않은 bare system 에 리눅스를 설치하거나 또는 기존의 오퍼레이팅 시스템을 제거하고 리눅스만을 설치하는 겨우 약 1시간 가량이 소요될 것이다. 리눅스와 도스/윈도우즈를 함께 사용하려면, 즉 dual-boot system으로 할려면 세시간까지 소요될 수도 있다 (false starts 와 hangups이 발생할 확률이 훨씬 더 높다) .

7.2 부트 그리고 루트 디스크 만들기 (Creating the boot and root floppies)

(CD-ROM으로 부팅하는 것이 가능하다면 이 과정은 필요없다.)

윈도우즈의 설치마법사와 같은 역할을 하는 프로그램이 여러분의 리눅스 CD-ROM에 들어있다. 그것은 대화식의 프롬프트를 사용하며 여러분이 부트, 루트 그리고 rescue 디스크를 만들 수 있도록 도와줄 것이다. 그것은 MS-DOS에서 실행되는 프로그램 (Red Hat 배포본의 redhat.exe 프로그램과 같은것) 이거나 Unix script 또는 두가지 모두일 수도 있다.

그러한 프로그램을 가지고 있고 그것을 사용할 수 있다면 이 절의 나머지 부분을 정보수집 차원에서 읽기 바란다. -- 그 프로그램을 만든 사람은 저자보다 그 배포본에 대하여 더 잘 알고있으며 여러분은 그 프로그램을 사용하므로서 발생할 가능성이 있는 많은 에러를 피할 수 있을 것이다.

부트, 루트 디스크를 만드는 것에 관한 자세한 내용은 Bootdisk HOWTO를, http://www.linuxdoc.org/HOWTO/Bootdisk-HOWTO.html, 읽어보기 바란다.

첫번째 단계는 여러분의 하드웨어에 맞는 부트 디스크 이미지를 선택하는 것이다. CD-ROM에 담겨 있는 부트디스크 이미지들에는 구별이 용이하도록 이름이 붙여져 있어서 여러분의 하드웨어에 맞는 부트 디스크 이미지를 고르는데 도움을 준다. 또는 각 이미지 파일을 설명하는 인덱스 파일이 있는 경우도 있다.

그다음 단계는 여러분이 선택한 부트디스크 이미지를 플로피 디스크에 옮겨야 한다. 경우에 따라 선택적으로 rescue 디스크 이미지도 플로피로 옮겨야 한다. MS-DOS 프로그램인 RAWRITE.EXE 가 그 역할을 한다.

이제 MS-DOS에서 포맷된 두세장의 고밀도 (high-density) 플로피 디스켓을 준비한다. (드라이버와 플로피는 같은 타입이어야 한다. 즉, 부트 드라이버가 3.5" 드라이버라면 플로피 디스켓 역시 3.5" 고밀도 플로피 디스켓이어야 한다. 부트디스크 이미지를 플로피에 쓰기 위하여 RAWRITE.EXE를 이용할 것이다.

특별한 명령행 변수(arguments)를 줄 필요도 없이 다음과 같이 명령을 내려라.

C:\> RAWRITE

플로피에 쓸 파일 이름과 어느 드라이버의 플로피에 쓸 것인지 물어보면 대답한다 (A: 와 같이). RAWRITE는 파일을 한 블록씩 플로피에 직접 복사할 것이다. 루트디스크 이미지 (COLOR144 와 같은)를 플로피에 쓸 때에도 RAWRITE를 이용하면 된다. 문제 없이 실행하였다면 여러분은 이제 부트 디스크 와 루트 디스크를 갖게된 것이다. 이들 두 장의 플로피 디스크는 이제 더 이상 MS-DOS에서 읽을 수 없게 된다 (그것들은 어떤 의미에서는 "Linux format" 플로피인 것이다).

위와 같은 작업을 유닉스 시스템에서 "dd" 명령을 이용하여 할 수 있다. (물론 플로피 드라이브가 있는 워크스테이션이 필요하다.) 플로피 드라이버를 /dev/rfd0 라는 장치파일로 인식하고 있는 Sun 워크스테이션을 사용할 경우 다음과 같이 명령을 주면 된다:

$ dd if=bare of=/dev/rfd0 obs=18k

일부 워크스테이션에서는 (예, Suns) 적당한 output block size를 변수 ('obs' 변수) 로서 지정해 주어야 한다. 위의 명령을 사용함에 문제가 있다면 dd 명령의 맨페이지를 참고하자.

여러분이 사용하려는 플로피 디스크에 에러가 없는지 확인한다. bad bolck이 있어서는 안된다.

리눅스를 설치하기 위하여 MS-DOS 또는 리눅스를 실행시킬 필요는 없다. 그러나 리눅스 또는 MS-DOS가 실행되고 있다면 CD-ROM으로부터 부트, 루트디스크를 만드는 것이 용이하다. 여러분의 컴퓨터에 설치된 오퍼레이팅 시스템이 없다면 다른 사람의 컴퓨터를 이용하여 부트, 루트디스크를 만들 수 있다.

7.3 DOS/Windows 드라이브의 파티션을 다시 나누기

대부분의 사용중인 시스템에서 하드 드라이브는 MS-DOS, OS-2 등이 이미 차지하고 있다. 이들 드라이브를 다시 파티션 하여 리눅스 만의 공간을 만들 필요가 있다. dual-boot 시스템을 구상하고 있다면 다음 mini-HOWTO 중에서 몇 가지를 읽어보는 것이 좋다. 이들은 여러가지 dual-boot 구성에 대한 설명을 담고 있다.

위의 것들이 여러분의 시스템에 직접적으로 적용될 수는 없다 하더라도 여러분이 관심을 가지는 사항에 대하여 도움은 될 것이다.

NOTE: MS-DOS 파티션에 하나의 디렉토리를 만들어서 그 디렉토리에 리눅스를 설치할 수도 있다. (MS-DOS 파티션으로부터 리눅스를 설치하는 것과는 다르다.) "UMSDOS filesystem"을 사용하는 것이 그것이다. 이렇게 할 경우, MS-DOS 파티션의 한 디렉토리를 리눅스 파일시스템으로 사용하게 된다.

하드 드라이브가 이미 네개의 파티션으로 나누어져 있고 파티션을 다시 나누는 것이 곤란한 경우에만 이 방법을 사용할 것을 권한다. 또는 리눅스를 시험적으로 가동해 본 다음에 파티션을 나누고자 한다면 이 방법을 사용하는 것이 좋다. 그러나 거의 대부분 파티션을 다시 나누어야 한다. UMSDOS를 사용할 계획이라면 리눅스의 설치 문제는 여러분 스스로에게 달려있다 -- 여기에서는 그 방법을 자세히 설명하지 않는다. 이제부터의 설명은 여러분이 UMSDOS 를 사용하지 않는다는 가정하에 진행될 것이다.

파티션 이란 것은 어떤 특정 오퍼레이팅 시스템이 사용하도록 설정된 하드디스크의 한 부분을 말한다. MS-DOS 만이 설치되어 있다면 여러분의 하드디스크는 아마도 하나의 파티션만을 가지고 있을 것이고 전체를 MS- DOS가 사용할 것이다. 그러나 리눅스를 사용하려면 하드드라이브를 다시 파티션 해야 한다. 그렇게 되면 MS-DOS 에 하나의 파티션 그리고 리눅스에 하나의 (또는 그 이상) 파티션을 할당하는 것이 된다.

파티션의 type을 세가지로 구분한다: primary, extended, 그리고 logical. 하나의 하드 하드디스크에 최대 네개의 primary 파티션을 만들 수 있다. 이 경우 4개 이상의 파티션으로 나눌 수는 없다. 드라이브 하나에 네개 이상의 파티션을 원할 경우, extended 파티션을 만들어야 한다. extended 파티션 내에 여러개의 logical 파티션을 만들 수 있다. extended 파티션에는 데이타를 저장할 수 없다 -- logical 파티션을 담는 컨테이너의 역할을 할 뿐이다. 데이타는 primary 또는 logical 파티션에만 저장 가능하다.

대부분의 사람들은 primary 파티션만을 사용한다. 그러나 하나의 드라이브에 네개 이상의 파티션을 필요로 한다면 extended 파티션을 만들어야한다. extended 파티션 안에 logical 파티션들을 만들 수 있다. 이와같이 하여 하나의 드라이브에 네개 이상의 파티션을 생성하게 되는 것이다.

여러분은 두번째 드라이브에 (MS-DOS 에서 D: 라고 함) 리눅스를 쉽게 설치할 수 있음을 알아야 한다. 리눅스 파티션을 만들때 적당한 device name (장치 이름)을 지정해 주어야 한다. 아래에서 자세히 설명하겠다.

파티션 나누기로 다시 돌아가서: 파티션 크기를 다시 조정하려 할 때 기존의 데이타를 지우지 않고서 할 수 있는 방법이 여의치 않다. 그래서 파티션을 나누기 전에 백업을 받아둘 필요가 있다. 파티션 크기를 다시 조정하려면 기존의 파티션을 지우고 더 작은 크기로 다시 나누면 된다.

NOTE: FIPS 라고 하는, 기존의 데이타를 그대로 보존하면서 파티션을 다시 나누어주는 MS-DOS 용 프로그램이 있다. http://metalab.unc.edu/pub/Linux/system/install에서 구할 수 있다. FIPS, disk optimizer (Norton Speed disk 등)를 가지고 있고, 약간의 행운이 여러분과 함께 한다면 기존의 데이타를 보존하면서 파티션을 다시 나눌 수 있다. 그럼에도 불구하고 이를 시도하기 전에 백업을 받아둘 것을 권장한다.

FIPS를 사용하지 않겠다면 FDISK를 사용하여 파티션을 다시 나누면 된다. 예를 들어, 80 메가 하드드라이브를 갖고 있다고 하자. 그것을 반반씩 나누어서 하나는 MS-DOS, 나머지 하나는 리눅스에 주고자 한다. 이렇게 하려면 MS-DOS에서 FDISK를 실행시켜서 80 메가의 MS-DOS 파티션을 지우도록 한다. 그 다음에 MS-DOS에 할당할 40 메가 크기의 파티션을 만든다. 그 후 새 파티션을 포맷하고 그기에 MS-DOS 와 DOS용 프로그램을 설치한다. 나머지 40 메가의 파티션을 손대지 말고 그냥 두라. 나중에 그곳에다가 리눅스 파티션을 만들것이다.

간단하게, FDISK를 사용하여 MS-DOS 파티션을 나누려면 다음을 따라한다:

  1. 기존의 데이타를 백업한다.
  2. 아래와 같은 명령어를 사용하여 MS-DOS 부트 디스크를 만든다.
    FORMAT /S A:
  3. MS-DOS 부트 디스크에 FDISK.EXE 와 FORMAT.EXE 그리고 필요한 유틸리티들을 (예를 들어, 백업해둔 것을 복원시켜주는 유틸리티 등) 복사한다.
  4. MS-DOS 부트 디스크로 부팅한다.
  5. FDISK를 실행시킨다. 아마도 수정하려는 드라이브를 지정해 주어야 할 것이다 (C: 또는 D: 와 같이).
  6. 크기를 바꾸고자하는 파티션을 지우기 위해 FDISK 메뉴 옵션을 사용한다. 모든 데이타가 파괴된다는 것을 알기 바란다.
  7. 더 작은 크기의 파티션을 다시 만들기 위해 FDISK 메뉴 옵션을 사용한다.
  8. FDISK를 빠져나와서 FORMAT 명령으로 새 파티션을 포맷한다.
  9. 백업해둔 것이 있다면 그것으로부터 원래의 파일들을 복원시킨다.

MS-DOS FDISK에는 "logical DOS drive"를 생성시키는 옵션이 있다. logical DOS 드라이브란 logical 파티션과 같은 것이다. logical 파티션에 리눅스를 설치할 수 있으며, 현재 여러분이 logical DOS drive를 사용중이고 그기에다 리눅스를 설치할 계획이라면 FDISK로서 그 logical 지우고 나중에 리눅스를 설치할 때 리눅스에 할당할 logical 파티션을 그곳에 만들면 된다.

OS2 그리고 다른 오퍼레이팅 시스템에 파티션을 할당하는 것도 비슷하다. 자세한 것은 해당 오퍼레이팅 시스템의 설명서를 참고하기 바란다.

7.4 리눅스에 할당할 파티션 만들기

파티션을 나눈 후에 리눅스에 할당할 파티션을 만들어야 한다. 그러나 그러기 전에 리눅스에서의 파티션과 파일시스템에 관하여 말하고자 한다.

Partition basics

리눅스는 최소한 하나의 파티션을 필요로 한다, root filesystem, 그곳에 리눅스 커널과 소프트웨어를 설치하고 유지한다.

파일시스템 (filesystem)을 리눅스용으로 포맷된 하나의 파티션으로 생각할 수 있다. 파일시스템은 파일들을 유지, 관리하는데 사용된다. 모든 시스템은 하나의 루트 파일시스템 (root filesystem)을 가지고 있어야 한다. 그러나 많은 사용자들은 여러개의 파일시스템을 사용하기를 선호한다 -- 주요 디렉토리에 하나씩의 파일시스템 할당. 예로 /usr 디렉토리의 모든 파일을 관리하기 위하여 독립된 파일시스템 하나를 만들고자 할 수 있다. (유닉스 시스템에서 forward slash (/)는 디렉토리를 구분하는데 사용된다. MS-DOS에서처럼 backslash 가 아님을 명심하기 바란다.) 이 경우에 여러분은 두개의 파일시스템, 즉 루트 파일시스템 그리고 /usr 파일시스템을 갖게 되는 것이다.

각 파일시스템은 자신만의 파티션을 요구한다. 그래서 루트 와 /usr 파일시스템을 사용할 계획이라면 두개의 리눅스 파티션을 만들 필요가 있다.

그기에 더하여, 대부분의 사용자는 virtual RAM (가상메모리) 역할을 하는 swap partition을 만든다. 예를 들어, 여러분이 갖고 있는 메모리가 4메가이고 스왑 파티션 (swap partition)의 크기가 10메가라면 14메가의 가상메모리를 리눅스 시스템에서 사용하게 되는 것이다.

스왑 스페이스를 사용할 때, 리눅스는 메모리의 사용되지 않는 페이지를 디스크로 옮겨놓으며 그렇게 하므로서 사용자는 한번에 더 많은 응용프로그램을 실행할 수 있게 되는 것이다. 그러나 스왑을 하는 것이 종종 느리기 때문에 실제의 RAM을 대신할 수는 없다. 그러나 만약 RAM이 충분하지 않다면 상당히 많은 메모리를 요하는 (X Window System 과 같은) 응용프로그램은 스왑 스페이스에 의존하곤 한다.

거의 모든 리눅스사용자들은 스왑 파티션을 사용한다. 메모리가 4메가나 그 이하일 때 소프트웨어를 설치하기위해서는 스왑 파티션이 꼭 요구된다. 실제 RAM 메모리가 크지 않을 경우에는 스왑 파티션을 만들것을 강력히 권유한다.

스왑 파티션의 크기는 여러분이 원하는 가상 메모리가 얼마인가에 달려있다. 대체로 최소한 16메가의 가상 메모리를 갖도록 권유한다. 그러므로 실제 메로리가 8메가라면 스왑 파티션은 8메가를 만들면 될 것이다. 주의할 점은 스왑 파티션이 128메가보다 클 수는 없다는 것이다. 그래서 만약 128메가 이상을 원한다면 여러개의 스왑 파티션을 만들어야 한다. 모두 합쳐서 16개 까지의 스왑 파티션을 만들 수 있다.

스왑 스페이스 설계에 대한 이론과 디스크 파티션에 대하여 더 많은 것을 알고 싶다면 Partition mini-HOWTO를, http://www.linuxdoc.org/HOWTO/mini/Partition.html, 참고하기 바란다.

NOTE: 약간의 속임수적인 성질의 기법을 이용하여 윈95 와 리눅스가 하나의 스왑 파티션을 공유하는 것이 가능하다. 자세한 것은 Swap Space Mini-HOWTO를, ftp://metalab.unc.edu/pub/Linux/docs/HOWTO/unmaintained/mini/Swap-Space, 참고하기 바란다.

Gotcha #1: EIDE 하드디스크에 크기가 504 메가 이상인 파티션에 리눅스를 설치하였을 경우, BIOS에 따라서 리눅스로 부팅하는 것이 불가능할 수도 있다. 그럴 경우에, 루트 파티션의 크기를 504 메가 이하로 만들어야 한다. SCSI 드라이브 콘트롤러의 경우 자신만의 드라이브 BIOS firmware를 갖고 있기 때문에 위와 같은 문제는 없다. 더 자세한 기술적인 것은 Large Disk Mini-HOWTO를, http://www.linuxdoc.org/HOWTO/mini/Large-Disk.html, 참고하기 바란다.

Gotcha #2: IDE 와 SCSI 드라이브를 모두 사용하는가? 그렇다면, 여러분이 사용하는 BIOS에 따라 SCSI 드라이브로부터 직접 부팅할 수 없는 경우도 있으니 주의하기 바란다.

Sizing partitions

루트, 스왑 파티션에 더하여, 소프트웨어와 홈 디렉토리 (home directory)를 유지 및 관리하기 위하여 하나 또는 그 이상의 파티션을 만들고자 할 수도 있다.

비록 이론적으로는 하나의 큰 루트 파티션만을 만들어서 모든 것을 할 수 있다고 하더라도 그렇게 하는 사람은 거의 없다. 파티션을 여러개 만드는 것은 몇가지 잇점이 있다:

오늘날 판매되는 큰 하드디스크의 경우, 추천할 만한 파일시스템 셋업은 다음과 같다. 작은 크기의 루트파티션 (80 메가 이하), 중간 크기의 /usr 파티션 (300 메가 정도) 그리고 나머지는 /home 파티션에 할당한다.

더 공을 들여 파티션을 나눌 수도 있다. 예를 들어, Usenet news를 운영할 계획이면 그것이 차지할 디스크 공간의 최대 크기를 조절하기 위하여 파티션 하나를 줄 수도 있을 것이다. 또는 mail, news 그리고 temporary 파일등이 저장되는 /var 파티션을 만들 수도 있다. 그러나 요즘과 같이 저렴하게 대용량의 하드디스크를 구입할 수 있고, 게다가 리눅스를 처음 설치한다면 복잡하게 파티션을 나눌 필요는 없는 것 같다. 특히, 리눅스 설치가 처음이라면 파일시스템을 간단하게 하는 것이 좋다.

파티션 변경에 사용할 수 있는 소프트웨어가 몇 가지 있다. 그 중에서도 GNU parted를 한 번 점검해 보기 바란다. 그 소프트웨어의 설명에 따르면, 데이타 손실없이 파티션 크기를 조절할 수 있다고 한다. 그래도 백업은 해 두는 것이 좋을 것이다.

7.5 Booting the installation disk

첫 번째 단계는 여러분이 만든 부트디스크로 부팅하는 것이다. 일반적으로 부팅 과정에 여러분이 관여할 일은 없다. 10초 정도 지나면 자동으로 부팅 될 것이다. 이것은 IDE 하드디스크로 부팅할 때도 마찬가지이다.

이 단계에서 실제로 무슨 일이 일어나고 있는지 살펴보면: 부트 디스크는 하나의 자그마한 오퍼레이팅 시스템 (miniature operating system) 을 제공한다. 이것은 (아직 하드디스크가 사용 가능하지 않기 때문에) RAM의 일부분을 가상 디스크로서 (ramdisk 라고 한다) 사용한다.

부트 디스크는 하드디스크를 사용하기 위한 준비 와 하드디스크에 리눅스를 설치하는데 이용되는 몇가지 파일과 설치 도구들을 램디스크 (ramdisk)로 옮겨 놓는다.

(예전에는 이것이 두 가지 단계로 나누어져 있었다. 그러나 커널 모듈이 도입되면서 바뀐 것이다.)

그러나 리눅스 커널이 부팅되기전에 커널 이름 뒤에 어떤 변수를 줌으로써 여러가지 하드웨어 설정을 (예를 들어, SCSI 콘드롤러의 IRQ and address, 또는 drive geometry) 규정할 수 있다. 이렇게 하는 것은 리눅스가 여러분의 SCSI 콘드롤러 또는 하드 드라이브 geometry를 인식하지 못할 때 필요하다.

특히, 자체 BIOS가 없는 SCSI 콘트롤러를 사용할 경우, port address 와 IRQ를 부팅시에 정의해 주어야한다. 비슷하게, IBM PS/1, Thinkpad 그리고 ValuePoint 컴퓨터는 하드 드라이브 geometry를 CMOS에 저장하지 않는다. 따라서 부팅시에 그것을 정의해 주어야 한다. (나중에, 그런한 하드웨어 설정 변수들을 일일이 부팅시에 적어주지 않더라도 하드웨어 인식이 가능하게 할 수 있다.)

시스템이 부팅될 때 나오는 메세지를 눈여겨 보자. 리눅스가 인식한 하드웨어 목록과 설명이 나올 것이다. 특히, SCSI 콘트롤러를 가지고 있다면 인식된 SCSI hosts의 리스트를 유심히 보아야 한다. 다음과 같은 메세지를 본다면

SCSI: 0 hosts

SCSI 콘트롤러가 인식되지 않은 것이다. 커널로 하여금 그것이 어디에 있는지 알 수 있도록 해 주어야 한다.

또한 인식된 드라이브 파티션과 디바이스에 대한 정보를 보여줄 것이다. 이 정보중 어느 하나라도 정확하지 않거나 빠진 것이 있다면 하드웨어가 인식되도록 해야 한다.

다른 한편, 모든 것이 순조롭게 진행되고 하드웨어가 모두 인식된다면 다음 절은 ("Loading the root disk") 건너 뛰어도 좋다.

강제로 하드웨어를 인식시키지 위하여 부트 프롬프트에 아래의 형식에 맞추어서 적당한 설정 변수를 입력해야 한다:

linux <설정변수......>

많은 하드웨어 설정 변수들이 있다; 아래에 가장 공통적인 몇가지를 열거하겠다. 요즘의 리눅스 부트 디스크들은 설정 변수를 설명하는 도움말 화면을 볼 수 있도록 옵션을 제공하기도 한다.

위의 boot-time options에 관한 질문이 있다면 SCSI HOWTO를, ftp://metalab.unc.edu/pub/Linux/docs/HOWTO/unmaintained/SCSI-HOWTO, 참고하기 바란다. 리눅스 FTP archive site 나 이 문서를 구한 곳에서 SCSI HOWTO 문서를 구할 수 있을 것이다. 그 안에 더 자세한 내용이 담겨있다.

Choosing EGA or X installation

(Slackware를 포함한) 오래된 리눅스 배포본의 경우, 이 시점에서 하나의 shell을 주면서 정해진 순서대로 설치 명령어를 입력하여야 했다. 이 방법은 여전히 사용 가능하다. 그러나 새로운 배포본들은 화면 중심의 설치 프로그램 (screen-oriented installation program)을 제공한다. 이는 더 많은 도움말을 주면서 대화식으로 설치과정을 유도한다.

아마도 곧바로 X 를 설정하는 옵션을 만날 것이다. X가 설정되면 그래픽 화면으로 설치 프로그램을 진행시킬 수 있다. 이 방법을 선택하면 여러분이 사용하는 마우스와 모니터 타입을 물어볼 것이다. 리눅스를 한 번 설치하면 이때 지정한 사항은 저장된다. 나중에 모니터 성능을 조절할 수 있다. 그래서 이 단계에서는 기본적인 640x480 SVGA로 지정해도 문제될 것이 없다.

리눅스 설치에 X가 필요한 것은 아니다. 그러나 (마우스 와 모니터 설정을 문제없이 통과 하였다고 가정하고) 그래픽 인터페이스가 사용하기에 더 쉽다는 것은 분명하다. 어쨌든 여러분이 X를 띄우고자 한다면 일찍 시도해보는 것도 나름대로 의미가 있다.

단지 프로그램에서 지시하는대로 따르기만 하면 된다. 하드디스크를 준비하고, 최초의 사용자 계정을 만들고, CD-ROM에 있는 소프트웨어 패키지를 설치하는 등의 단계로 여러분을 이끌어 갈 것이다.

다음 절에서 설치 과정의 몇가지 교묘한 부분에 대하여 마치 여러분이 직접 하는 것 처럼 이야기 하고자 한다. 이것은 설치 프로그램이 무엇을 하는지 그리고 왜 하는지에 대한 여러분의 이해를 도울 것이다.

fdisk 와 cfdisk 사용하기

루트 디스크를 사용한 다음 첫번째 설치 단계는 하드디스크에 대한 파티션 테이블을 작성하는 것이다. 앞에서 파티션을 나누기 위해 FDISK를 사용했다 하더라도 이제 다시 파티션 테이블 작성으로 되돌아와 리눅스가 알아듣는 정보를 넣어주어야 한다.

리눅스 파티션을 만들기 위해서 리눅스 버전의 fdisk 프로그램 또는 화면 중심의 cfdisk 프로그램을 이용해야 한다.

일반적으로 설치 프로그램은 이미 존재하는 파티션 테이블을 찾아서 그걸 바탕으로 fdisk 또는 cfdisk를 실행시키도록 해준다. 둘 중에 cfdisk의 사용이 더 쉽다. 그러나 현재 버전은 파티션 테이블이 존재하지 않거나 잘못된 것이면 사용하기가 어렵다.

(특히 어떤 오퍼레이팅 시스템도 설치되어 있지않은 처녀 시스템의 경우) cfdisk를 사용할 수 있는 상태로 만들기 위해 먼저 fdisk를 실행시킬 필요가 있는 경우가 있다. 먼저 cfdisk를 실행시켜보고 안되면 fdisk를 사용하기 바란다. (여러분의 컴퓨터에 리눅스만을 설치할 계획인데 cfdisk를 사용할 수 없다면, 먼저 fdisk를 실행시켜 존재하는 파티션을 모두 지워버린 후에 cfdisk를 실행시켜 파티션 테이블을 작성하는 것도 좋은 방법이다.)

fdisk 와 cfdisk 모두에 적용되는 몇가지 주의사항. 둘다 리눅스 파티션을 만들 드라이브의 이름을 지정해줄 변수를 필요로한다. 하드 드라이브의 장치 이름은:

예를 들어, 첫번째 SCSI 드라이브에 리눅스 파티션을 만들려고 한다면 아래의 명령을 사용해야 할 것이다 (어떤 설치 프로그램은 메뉴를 선택하는 것일 수도 있다) :

cfdisk /dev/sda

fdisk 또는 cfdisk에 아무런 변수 지정 없이 사용한다면 /dev/hda 에 리눅스 파티션을 만드는 것으로 여길 것이다.

시스템의 두 번째 드라이브에 리눅스 파티션을 만들고자 하면 /dev/hdb (IDE 드라이브의 경우) 또는 /dev/sdb (SCSI 드라이브의 경우) 라고 입력한다.

리눅스 파티션이 모두 하나의 드라이브에 있을 필요는 없다. 예를 들어, 루트 파일시스템을 위한 파티션은 /dev/hda 에, 스왑 파티션은 /dev/hdb 에 만들 수 있다. 그렇게 하려면 각각의 드라이브에 대하여 fdisk 또는 cfdisk를 한번씩 실행시키면 된다.

리눅스에서 파티션들은 그들이 속해 있는 드라이브를 바탕으로 한 이름이 주어진다. 예를 들어 드라이브 /dev/hda의 첫 번째 파티션은 /dev/hda1, 두 번째는 /dev/hda2 ... 등으로 이름이 주어진다. 만약 어떠한 로지컬 파티션을 가진다면 그것들은 /dev/hda5에서 시작하여 /dev/hda6 등의 순서로 이름이 붙여진다.

NOTE: 리눅스 fdisk 또는 cfdisk로는 리눅스외의 오퍼레이팅 시스템을 위한 파티션을 만들거나 지우면 안된다. 즉, 리눅스 버전의 fdisk를 사용하여 MS-DOS 파티션을 만들거나 지우지 말라. 대신에 MS-DOS 버전의 FDISK를 사용하기 바란다. 리눅스 fdisk 로 MS-DOS 파티션을 만들려고 한다면 아마 MS-DOS는 그 파티션을 인식하지 못할 것이고 부팅이 올바로 되지 않을 것이다.

여기에 fdisk 사용의 예가 있다. 드라이브에 61693 블록을 사용하는 하나의 MS-DOS 파티션을 가지고 있고 드라이브의 그 나머지는 리눅스를 위하여 남겨둔 것이다. (리눅스하에서 1블럭은 1024바이트, 그러므로 61693블럭은 대략 61메가 바이트) 두 개의 리눅스 파티션을 만들려 한다고 하자. 하나는 스왑, 다른 하나는 루트 파일시스템을 위한 것이다. 이 예를 응용하면 저 위에서 추천한 네개의 파티션 만들기를 할 수 있을 것이다: 하나는 스왑, 하나는 루트 파일시스템, 하나는 시스템 소프트웨어 (/usr), 나머지 하나는 홈 디렉토리.

먼저, 현재 파티션 테이블을 표시하기 위해 명령어 "p"를 사용한다. 보다시피, /dev/hda1은 (/dev/hda의 첫 번째 파티션) 61693블럭의 도스 파티션이다.

Command (m for help): p
Disk /dev/hda: 16heads, 38 secrors, 683 cylinders
Units = cylinders of 608 * 512 bytes

   Device    Boot  Begin  Start   End   Blocks   Id      System
  /dev/hda1   *        1      1   203    61693    6      DOS 16-bit >=32M

Command (m for help):

그 다음에 명령어 "n"을 사용하면 새로운 파티션을 생성시킬 수 있다. 리눅스 루트 파티션의 크기를 80 메가로 할 것이다.

Command (m for help): n
Command action
    e   extended
    p   primary partition (1-4)
p

extended 혹은 primary 파티션을 생성할 것인지 물어볼 것이다. 대부분의 경우. 한 개의 드라이브에 네 개이상의 파티션을 팔요로 하지 않는다면 primary 파티션을 사용하려 할 것이다. 더 자세한 것은 저 위의 "Repartitioning" 절을 참고하기 바란다.

Partition number (1-4): 2
First cylinder (204-683): 204
Last cylinder or +size or +sizeM or +sizeK (204-683): +80M

첫 번째 실린더는 마지막 파티션이 끝난 뒤의 실린더가 되어야 한다. 이 경우에 /dev/hda1은 실린더 203에서 끝났다. 그래서 실린더 204에서 새로운 파티션이 시작된다.

보다시피, "+80M" 이라고 표기를 한다면 그것은 크기가 80메가인 파티션을 규정하는 것이다. 유사하게, "+80K" 라는 표기는 80킬로바이트 파티션을 규정한다. 그리고 "+80"은 단지 80바이트 파티션을 규정한다.

Warning: Linux cannot currently use 33090 sectors of this partition

여러분이 위와 같은 경고문을 보게 된다면 무시해도 좋다. 리눅스 파일시스템의 크기가 64 메가 이상일 수 없었던 오래전의 한계에서부터 연유된것일 뿐이다. 오늘날의 파일시스템 타입에 적용되는 것이 아니다. 오늘날 파티션들의 크기는 4테라바이트까지 가능하다.

다음엔 10메가 스왑 파티션, /dev/hda3 을 생성한다.

Command (m for help): n
Command action
    e   extended
    p   primary partition (1-4)
p
partition number (1-4): 3
First cylinder (474-683): 474
Last cylinder or +size or +sizeM or +sizeK (474-683): +10M

다시 한번, 파티션 테이블의 내용을 표시한다. 여기에 있는 정보를 기록하여 확인하기 바란다. 특히 각 파티션의 크기가 몇 block 인지를 확인한다. 나중에 이 정보가 필요하다.

Command (m for help): p
Disk /dev/hda: 16 heads, 38 sectors, 683 cylinders
Units = cylinders of 608 * 512 bytes

   Device   Boot  Begin   Start     End   Blocks  Id  System
  /dev/hda1   *       1       1     203   61693    6  DOS 16-bit >=32M
  /dev/hda2         204     204     473   82080   83  Linux native
  /dev/hda3         474     474     507   10336   83  Linux native

리눅스 스왑 파티션은 (여기에서는 /dev/hda3) "Linux native" 라는 타입을 갖고 있다는 것에 주의해라. 이를 "Linux swap" 이라는 타입명으로 바꾸어야 하며 그렇게 하므로서 설치 프로그램이 스왑 파티션의 타입을 "Linux swap"으로 인식하도록 해야한다. 그렇게 하기위해 fdisk 에 "t" 라는 명령어를 사용하도록 한다.

Command (m for help): t
Partition number (1-4): 3
Hex code (type L to list codes): 82

"L"을 사용한다면 타입 코드 목록을 보여줄 것이고, 82가 리눅스 스왑과 일치하는 타입이라는 것을 알 수 있을 것이다.

파티션 테이블의 변경 사항을 저장하고 fdisk를 빠져나오려면 명령어 "w", 저장하지않고 그만두려면 "q"를 사용한다.

fdisk를 끝낸후에 바뀐 것이 효력을 발휘하도록 시스템이 여러분에게 재부팅 할건지 확인할지도 모른다. 일반적으로 fdisk를 사용한 후엔 재부팅할 이유가 없다. 요즘의 fdisk 와 cfdisk 버전은 재부팅하지 않고서도 바뀐 파티션 내용을 충분히 갱신할 수 있다.

파티션 이후의 단계 (Post-partition steps)

파티션 테이블이 작성된 후에 설치 프로그램은 파티션 테이블을 보여주면서 스왑 파티션을 사용가능하게 (enable) 할 것을 권유할 것이다. yes 라고 해주어라.

(위의 과정이 자동으로 이루어지지 않고 여러분에게 질문하는 형식으로 된 것은 다음과 같은 만에 하나 있을지도 모를 상황에 대비하기 위해서이다. 즉, dual-boot 시스템으로 사용할 경우 non-Linux 파티션을 마치 스왑 영역인 것처럼 사용하기를 사용자가 원할 수도 있기 때문이다.)

다음으로 설치 프로그램은 각 non-swap 파티션을 (/, /usr, /var, /tmp, /home, /home2, 등과 같은) 파일시스템 이름과 어떻게 연결지을 것인지 물어볼 것이다.

사용하는 하드가 하나 뿐이라면 간단한 법칙이 있다. 이름이 / 인 루트 파일시스템은 반드시 있어야하며 bootable 이어야한다. 다른 리눅스 파티션에는 여러분 좋을대로 이름을 붙여도 된다. 그러나 이름을 붙이는 전통적인 방법이 있다.

앞에서 저자는 기본적인 세개의 파티션을 추천하였다. 즉, 작은 크기의 루트, 중간 크기의 system-software 파티션, 그리고 큰 크기의 home- directory 파티션이 그것이다. 전통적으로 이들 각각을 /, /usr, /home 이라고 불러왔다. The counterintuitive `/usr' name is a historical carryover from the days when (much smaller) Unix systems carried system software and user home directories on a single non-root partition. Some software depends on it.

홈 디렉토리 영역이 하나 이상일 경우, /home, /home2, /home3 등과 같이 이름 붙이는 것이 관례이다. 이것은 두개의 하드디스크를 사용할 경우에 있을 수 있는 일이다. 예를 들어, 저자가 사용하는 시스템의 경우 다음과 같은 골격을 갖추고 있다:

Filesystem         1024-blocks  Used Available Capacity Mounted on
/dev/sda1              30719   22337     6796     77%   /
/dev/sda3             595663  327608   237284     58%   /usr
/dev/sda4            1371370    1174  1299336      0%   /home
/dev/sdb1            1000949  643108   306130     68%   /home2

실제로는 두번째 디스크 (sdb1)를 /home2가 모두 차지하는 것은 아니다. sda 와 sdb에 있는 스왑 파티션은 위에 나타나 있지 않다. sda 상의 /home은 비어있고 /home2는 sdb 상의 사용자 영역이다.

scratch, spool, tempory, mail, 그리고 news 파일을 저장해둘 파티션을 따로 만들려고 한다면 /var 이라고 이름 붙여라. 그것보다는 /usr/var을 선호한다면 그것을 /var 로 심볼릭 링크 시키도록 한다 (설치 프로그램이 이와 같은 것을 제공할 수도 있다).

7.6 소프트웨어 패키지 설치하기

파티션 나누기를 성공적으로 마쳤다면 나머지 설치 과정은 거의 자동적이다. 설치 프로그램은 설치 수단, 사용할 파티션, 등을 규정해주는 일단의 menus를 통해 안내해준다.

설치 과정의 이 단계에 대한 많은 세세한 것들을 여기서 이야기 하지는 않을 것이다. 리눅스 배포본들 사이에 가장 큰 차이를 보이는 부분의 하나이며 (배포본들은 여기에 가치를 두고 서로 경쟁하여 왔다) 또한 가장 간단한 부분이기도 하다. 그리고 설치 프로그램 그 자체가 화면상에 도움말을 보여주는 훌륭한 설명서이다.

7.7 패키지를 설치한 후

설치가 완료된 후 모든 것이 순조롭게 진행된다면 설치 프로그램은 여러분의 시스템을 구성하기위한 몇가지 옵션을 보여줄 것이다.

LILO, the LInux LOder

LILO는 LInux LOader의 약어이며 하드 드라이브로부터 (MS-DOS 와 같은 다른 오퍼레이팅 시스템을 포함하여) 리눅스를 부팅해주는 프로그램이다.

하드 드라이브에 LILO를 설치할 선택권이 주어질 것이다. OS/2를 사용하고 있지 않는 한 yes라고 답변한다. OS/2를 사용한다면 특별한 요구 조건이 충족되어야 한다; LILO 설정을 읽어보기 바란다.

primary loader 로서 LILO를 설치하면 부트 디스켓이 따로 필요없다; 대신에 부팅시에 부트할 오퍼레이팅 시스템을 LILO에게 알려주면 된다.

부트 디스크 만들기 (선택사항)

"standard boot disk"를 만들 기회도 주어질 것이다. 그것을 사용하여 여러분이 설치한 리눅스를 부팅시킬 수 있다. (이 방법은, 여러분이 거의 대부분을 DOS로 부팅하며 리눅스로 부팅하기 위해서 부트 디스크를 사용한다는 가정하에 제공되는, 오래된 그리고 약간 불편한 방법이다.)

이를 위해 MS-DOS에서 포맷된 고밀도의 빈 디스켓이 필요할 것이다. 디스켓을 넣어라는 지시가 나오면 디스켓을 넣어준다. 그러면 부트 디스켓이 만들어질 것이다. (이것은 installation bootdisk 와는 다른 것이다.)

시스템 관련 여러가지 설정(Miscellaneous system configuration)

설치 이후 과정에서도 시스템을 구성하기 위한 몇가지 메뉴를 보여주면서 여러분을 안내할 것이다. 이 과정은 모뎀과 마우스 장치의 정의를 포함하며 또한 time zone의 정의도 포함한다. 메뉴의 선택사항을 따라가도록 한다.

또한 사용자 계정을 (user account) 만들 것인지 또는 root (administration) account에 비밀번호 (password)를 부여할 것인지를 물어볼 수 있다. 이것은 복잡한 것도 아니고 일반적으로 화면에서 지시하는대로 하기만 하면 된다.


다음 이전 차례