데비안 V2.1 R2 설치 및 셋업

리눅스 월드 편집부

 

 

    ′99년 8월호에 “인터넷 서버 설치기”에 데비안 2.1 설치에 대한 글이 나갔으나 데비안 2.1 Rel.2가 나왔으므로 설치 및 셋업 부분을 다시 한번 설명한다.

     

1. 설치에 사용한 PC

    - 셀레론 366
    - 메모리 32메가
    - 하드디스크 :  primary master (/dev/hda)
    - CD-ROM : SCSI
    - 랜카드 : 3com 3c905-tx(PCI)
    - SCSI 콘트롤러 : AHA-2949UW(PCI)
    - 그래픽 카드 : Matrox G200

     

2. 설치에 필요한 도움 얻기

    2.1 HTML 파일
    데비안 매뉴얼은 CD 안에 html 파일로 작성되어있다. Binary 1번 CD를 넣고 네트스케이프에서 “file → open page”를 선택 후 “choose file” 버튼을 눌러 CD-ROM 드라이브의 “install” 디렉토리에서 “install.html” 파일을 열면 설치에 필요한 모든 매뉴얼을 웹 화면으로 볼 수 있다.

    2.2 텍스트 파일
    위와 같은 디렉토리에 있는 install.txt 파일을 워드프로세서에서 읽으면 된다.

    2.3 인터넷
    http://www.debian.org/releases//i386/install 웹페이지에 가장 최신의 매뉴얼이 올려진다.

     

3. CMOS 셋업

    3.1 Virus Protection
    데비안을 설치하는 동안은 disable 해야 한다.

    3.2 Shadow RAM
    리눅스는 Shadow RAM 기능을 사용하지 않는다.

    3.3 Advanced Power Management
    마더보드에서 Advanced Power Management를 지원한다면 APM 사용 으로 셋팅해야 한다. doze, standby, suspend, nap, sleep 모드를 disable 해야 한다. 하드디스크에 대한 power-down 타이머를 disable 해야 한다.

    3.4 “15-16 MB Memory Hole”
    이런게 있으면 disable

    3.5 “LFB” or “Linear Frame Buffer”
    인텔 마더보드 중에 이런 셋업이 있으면 “1 Megabyte”로 셋팅

    3.6 Extended vs. Expanded Memory
    리눅스는 Expanded 메모리를 사용하지 않는다.

    3.7 터보 스위치
    터보스위치가 있으면 사용할 것.

    3.8 오버 클럭킹
    CPU를 규정 속도보다 높은 속도로 셋팅하는 것은 삼가야 한다. CPU의 클럭속도를 규정보다 높일 경우 CPU에서 발생하는 열이 과도해 시스템이 다운될 확률이 높다. CPU의 규정 속도는 그 속도로 CPU를 사용할 경우 정상 작동을 보증한다는 것이므로 오버 클럭을 할 경우 이상이 발생해도 생산자에게 책임을
    물을 수 없기 때문이다.

    인텔은 333Mhz CPU를 400Mhz로 셋팅해 사용해도 지장이 없도록 여유를 줄만큼 관대한 회사가 아니다.

     

4. 설치 방법

    여기서는 설치에 CD-ROM을 사용하며, 부팅 디스켓을 만들지 않고 CD로 부팅해 모든 설치 작업을 실행한다. 이 방법을 쓰려면 PC가 CD-ROM 부팅을 지원해야 한다.

    CD-ROM 부팅이 가능하다면 CMOS 셋업에서 아래 두 부분을 셋팅해 준다.
    HDD Sequence SCSI/IDE   :   IDE
    Boot Sequence                 :   CDROM,C,A
    (위는 AWARD BIOS를 사용하는 PC인 경우이며 PC마다 조금 씩 다르다.)

 

5. 데비안 2.1 R2 Binary 1번 CD를 넣고 PC를 부팅한다.

    (binary 2번 CD로도 부팅이 가능하나 이 CD의 커널은 일부 노트북처럼 큰 커널이 문제를 야기하는 경우만 사용하는게 좋다).

    “boot: “ 메시지가 나오면 <enter>하면 커널이 메모리에 올라가면서 많은 메시지가 화면에 뜬다. 이 메시지 내용은 몰라도 무관하니 자세히 볼 필요는 없다.

     

6. display 선택 메뉴에서 color 나 흑백 중에서 선택한다.

    “color” 를 선택하면 화면이 칼라로 바뀐다. → Next

     

7. Release Notes가 나온다. → Continue

     

8. Configure the Keyboard 에서 키보드를 선택 한다.

         → U.S. English

     

9. Partition a Hard Disk

    이미 하드디스크에 리눅스 Swap 파티션 및 네이티브 파티션이 있으면
    “Initialize and Activate a Swap Partition”이 디폴트로 선택된다(즉 역상으로 나온다).
    기존 파티션을 그대로 쓰려면 이 메뉴를 선택한다. → “10”으로 진행

    새 하드디스크이거나 기존의 파티션을 변경하거나 하드디스크에 기존에 설치했던 내용을 지우려면 “Partition a Hard Disk”를 선택한다. 즉 파티션을 새로 만든다는 뜻이다.

    9.1 “Partition a Hard Disk”를 선택했다면 하드가 여러 개 있으면 그 중 파티션 할 하드의 장치명을 고른다. IDE 방식의 하드가 primary master로 연결돼 있으면 /dev/hda가 장치명이다.

    9.2 cfdisk 0.81 버전 화면이 나온다. fdisk를 편하게 해주는 프로그램으로 보면 된다.

    화면은 아래와 같다.

    cfdisk 0.8l
    Disk Drive: /dev/hda

    Heads: 16   Sectors per Track: 63   Cylinders: 665

    Name     Flags     Part Type     FS Type     [Label]      Size (MB)
                              Pri/Log        Free Space                 327.31

         [ Help ]  [ New ]  [ Print ]  [ Quit ]  [ Units ]
         [ Write ]

    위는 선택한 하드가 /dev/hda 이고 용량은 327메가이며 파티션이 잡혀 있지 않음을 보여준다.

    9.3 [new] → [Primary] -> Size -> [Beginning]를 선택하면 hda1이 만들어
    진다.
    Name 밑에 hda1이 나오고 Size가 표시된다.

    9.4 이 파티션을 swap 파티션으로 하려면 [Type] 메뉴를 선택하고 82를 입력한다(swap 파티션은 82번이다). 화면에 아래처럼 나온다.

    Name     Flags     Part Type      FS Type      [Label]     Size (MB)
    /dev/hda1           Primary         Linux Swap                          32
    Pri/Log               Free Space                                         295.32

    9.5 아래 화살표키를 사용해서 Free Space에 역상 막대를 위치한 후 new -> primary -> size 순서로 리눅스 native 파티션을 만들고  [Bootable] 메뉴로 두 번째 파티션을 Active 해준다.

    아래가 완성된 모습이다

    Name            Flags       Part Type      FS Type      [Label]     Size (MB)
    /dev/hda1                    Primary         Linux Swap                   16.12
    /dev/hda2      Boot        Primary        Linux                            309.38

    <주의>
    하드디스크 용량이 커서 실린더 개수가 1024를 넘으면 두번째 파티션은 1024 실린더 이내에 위치하도록 용량을 선택하고 남는 용량은 세번째 파티션에 할당한다.

    9.6 [ Write ] → yes 를 선택하면 파티션 테이블이 하드디스크의 마스터부트레코드에 저장된다. “Writing…“ 메시지가 나오고 파티션 테이블이 하드디스크에 기록된다.

    9.7 [Quit]를 선택하여 cfdisk 를 빠져 나온다.

     

10. “Initialize and Activate a Swap Partition”을 선택하고
     “Select swap Partition”에서 장치명을 고른다(/dev/hda1).

     

11. “Scan for Bad Block”에서 Yes를 한다. -> swap 파티션이 포맷된다.

     

12. “Initialize a Linux partition” 에서 Select Partition 이 나오면
     리눅스 파티션(ext2)으로 사용할 장치명을 선택한다.

    파티션을 여러 개 만들었으면 여러 개의 파티션이 나온다. linux native 파티션으로 포맷한 장치가 여기에 ext2이다. /dev/hda2를 linux native로 잡았다면 /dev/hda2를 선택한다. → bad block 체크 여부를 물으면 Yes(연습으로 설치한다면 bad block 체크를 않으면 시간이 단축된다).

    포맷이 진행된다. 하드 용량이 크면 상당한 시간이 소요된다.

 

13. 포맷이 끝나면 /dev/hda2를 루트 파일시스템(“/”)으로 사용할 지를 묻는다.

      → yes

    * 만약 하드 용량이 커 linux native 파티션이 두개 이상이면 (실린더 수치가 1024를 넘는 경우는 두개 이상을 만들어야 한다)  “Alternate: Initialize a Linux partition” 메뉴를 선택해서 나머지 파티션도 포맷하고 각 파티션의 마운트 포인트를 지정한다(파티션이 여러 개 이면 보통 /usr /home /var 등에 지정한다). 

     

14. Install Operating system Kernel and Modules에서
      Installation Medium을 선택한다.

          → cdrom (CD-ROM을 넣는다)

     

15. cd-rom 장치명을 묻는다.

    IDE CD는 보통 /dev/hdc(secondary master)이다. SCSI CD는 /dev/scd0 이다. SCSI CD는 부트시 해당 SCSI 콘트롤러가 인식되어야 사용이 가능하다.

     

16. Debian archive path를 묻는다.

    /debian 디폴트를 선택한다.

     

17. Select Archive path 에서 resc1440.bin 파일 위치를 묻는다.

    List : 를 선택 → ebian/dists/slink/main/disks-i386/2.1.9-1999-03-03

    커널 이미지, 드라이버 파일들이 하드에 복사된다.

     

18. Configure Device Driver Modules

    Select category가 나온다. 여기에서는 커널에 들어있지 않은 드라이버를 모듈로 선택한다. 자신의 랜카드 드라이버를 여기서 선택할 수 있다. 끝나면
    exit -> exit

     

19. configure the network

    이 부분은 나중에 수정이 가능하므로 결정되지 않았으면 임시로 입력해도 된다. 랜에 연결돼 있는 경우는 네트워크 관리자에게 문의하여 결정하여야 한다. 임의로 입력하면 다른 호스트와 충돌이 발생한다.

    - Choose the Host Name : debian
    - Network Connection에서는 리눅스 서버가 네트워크에 연결돼 있는지를 묻는다.
       다이얼업이나 TT선 호스트접속 등 PPP 연결만 사용하는 경우는 NO를 선택한다.
       비록 서버가 위의 연결인 경우도 서버가 랜에 연결된 경우는 yes로 한다.
    - Domain name : linuxjournal.co.kr
    - ip address : 192.168.1.3
    - netmask   : 255.255.255.0
       서브네팅을 하는 경우는 끝이 0으로 끝나지 않을 수 있다.
    - broadcast address :
      192.168.1.255 : 최근의 라우터에서 사용한다.
      192.168.1.0 : 예전에 나온 일부의 라우터에서 사용한다.
    - 게이트웨이 : 192.168.1.1
       시스템이 시리얼포트를 통해 인터넷에 PPP로 연결돼면 gateway를 지정하지 않는다.
       랜투랜 방식으로 인터넷과 연결돼 있다면 라우터의 이더넷 포트 쪽 IP address가
       보통 gateway이다.
    - DNS 서버
       리눅스에 DNS 서버를 설치할 예정이면 The system will be its own DNS server를 선택

     

20. 네트워크 인터페이스를 선택

    랜으로 연결시는 eth0
    노트북PC의 경우 랜카드가 PCMCIA 이면 pcmcia를 선택
    시리얼포트를 통한 인터넷 연결인 경우는 ppp
    *. 단 리눅스가 시리얼과 랜 양 쪽으로 연결된 경우는 eth0

     

21. Install the Base System

    - installation Medium 선택 -> cdrom
    - CD 장치명 -> /dev/scd0(IDE는 hdb나 hdc)
    - Archive path : /debian → list → ebian/dists/slink/main/disks-i386/2.1.9-1999-03-03

    이제 리눅스 부팅에 필요한 최소한의 베이스시스템이 설치된다.

     

22. Configure the base System

    - Timezones : ROK
    - Directories : Asia
    - Seoul
    - Timezone Configuration 에서 리눅스 단독으로 사용한다면 GMT를 선택하고 데비안
       설치 후 hwclock 명령을 사용하여 로칼타임으로 셋업된 CMOS의 시간을 GMT로 바꾸어
       준다. 여기서는 local time을 그대로 사용한다.

     

22. Make linux bootable Directly from hard disk

    ·마스터부트 레코드를 /dev/hda에 설치하겠느냐고 묻는다
      → yes(멀티부팅에 필요하다)

    ·make Linux the default boot partition : 여러개의 운영체제가 있을시 리눅스를 디폴트
      부팅 하겠느냐 이다. → yes

     

23. Make a Boot Floppy

    비상용 플로피 디스크를 만드는게 좋다. 배드가 없는 공 디스켓을 넣는다.

    플로피를 사용하는데 시간을 절약하기 위해서는 설치 후에 /etc/driveprm에 drive0: deviation=640을 넣기를 권한다.

    부트 디스켓이 만들어졌으면 reboot the system이 나온다. 플로피를 제거하고 리부팅을 선택한다.

     

24. PC가 리부팅하면 CMOS 셋업에서 부팅 순서를 C -> A 로 변경한다
     (리눅스 CD도 일단 제거한다).

    다시 부팅이 되면 LILO 메시지가 나오고 하드에서 부팅이 진행된다.

 

25. root의 패스워드를 입력한다(재확인 한다).

     

26. root외의 다른 유저를 등록하겠느냐고 묻는다.

    root 계정은 꼭 필요한 경우가 아니면 사용 않는게 좋다.  따라서 자신이 사용할 다른 사용자 계정을 하나 만든다.

     

27. shadow passwords 설치 여부를 묻는다 : yes

     

28. pcmcia 패키지 제거 여부를 묻는다 : 노트북이 아니라면 yes

 

29. Do you want to perform this step?

    데비안 패키지 설치시 과거에는 패키지의 중요도에 따라 Required, Important, Standard, Optional, Extra 등으로 분류하고 이 분류 내의 전체 패키지를 선택할 수도 있고 분류 내에서 패키지 개개를 선택할 수 있었으나 이 경우 패키지의 내용을 잘 모르는 초보자는 선택에 어려움이 있었다. 따라서 2.1에서는 프로필과 타스크에 의해 패키지를 분류해 놓고 그 프로필과 타스크를 선택하면 자동으로 패키지들이 선택되도록 하고 있다.

    타스크 : 타스크는 특정 일을 하는데 어떤 패키지가 필요한지를 결정해 주는 방식으로 선택하는것이다. 예를 들면 perl programming, Chinese word processing 등으로 분류해서 패키지를 선택하는 방식이다.

    여러 개의 타스크를 선택 가능하다.

    프로필 : 리눅스 사용 목적 또는 형태로 분류하는 것이다. 예를 들어 소프트웨어 개발용으로 리눅스를 사용할지, 인터넷 서버용으로 쓸지, 워크스테이션 등을 지정하는 것이다. 그에따라 해당 패키지가 자동 선택된다. 프로필은 한 개만 가능하다.
    타스크와 프로필을 지정한 후에는 이후에 나오는 dselect에서 select를 선택하지 않고 넘어가면 된다.

    여기서 yes를 하면 타스크 및 프로필 선택 메뉴가 나온다.
    No를 하면 dselect 메뉴가 나오고 여기서 select를 선택해 예전처럼 중요도에 따른 패키지 선택을 할 수 있다.

     

30. dselect 메뉴가 나온다.

    ·타스크나 프로필에의해 이미 패키지를 선택했다면 dselect에서 [S]elect 단계를 생략하고
      [A]ccess에서 [U]pdate -> [I]nstall로 진행해도 된다.

    [dselect] 초기 화면

    Debian Linux `dselect’ package handling frontend.

    0. [A]ccess      Choose the access method to use.
    1. [U]pdate      Update list of available packages, if possible.
    2. [S]elect        Request which packages you want on your system.
    3. [I]nstall        Install and upgrade wanted packages.
    4. [C]onfig       Configure any packages that are unconfigured.
    5. [R]emove     Remove unwanted software.
    6. [Q]uit          Quit dselect.

    ·dselect 사용법은 상당히 복잡하므로 여기서는 생략한다. 잘 모르면 위의 번호 순서대로
      실행한다. 각 단계마다 help 키를 누르면 사용법이 나온다.
      자세한 사항은 리눅스 월드 ′97년 10월호에 박주연씨가 쓴 글을 참고하기  바란다.

    30-1 access는 리눅스 패키지 원본이 있는 위치(장치명)을 지정한다.

    1) CD-ROM을 선택하면 cd-rom 장치명을 묻는다. (/dev/cdrom)
        * cd 1번을 넣는다.

    2) Distribution top level       : /debian/dists/stable
        Enter contrb binary dir    : none
        None-free binary I          : none
        Non-US binary dir          : none
        Local binary dir              : none

    30-2 Update는 하드디스크에 설치된 패키지의 목록을 재 구성한다. - <enter>

    30-3 Select 선택 : 타스크나 프로필 메뉴에서 선택한 경우는 이 단계는 생략해도 된다. 타스크나 프로필에서 선택 한 경우에도 보다 상세한 선택이 필요하면 여기에서 재 지정하면 된다.

    1) 선택하면 안내문이 나온다 → space 키를 누르면 넘어간다.
    2) main package listing이 나온다.
    3) 패키지 선택 법 :

    ·“M” 밑에 “*” 이 있는 패키지는 설치되는 패키지이다. “_” 는 설치되지 않는    패키지다.
    ·설치를 하려면 “+” 키를 누른다. 설치에서 제외하려면 “-” 키를 누른다.
    ·Important, standard 항목에 있는 패키지는 설치하는게 좋다.

    dselect에서 선택 않은 패키지도 설치가 끝난 후 다시 DSELECT 명령으로 설치가 가능하므로 설치시에는 최소한으로 선택하는게 좋다.

    Select가 끝나면 <enter>를 누르면 메인 메뉴가 나온다.

    30-4 Install을 누르면 설치가 시작된다.
    설치 중간에 각 패키지의 셋업에 대한 질문이 나온다. 이 부분은 설치 패키지마다 다르므로 여기에 생략한다.

    30-5 설치가 끝난후 Config -> Quit 하면 dselect가 종료하고 login : 이 나온다.

    root로 로긴해 shutdown -r now 명령으로 리부팅한다.

     

Debian 셋업

     

1. 호스트네임

    서버의 이름을 변경하려면 /etc/hostname, /etc/hosts 두 곳을 고친다.

     

2. ip address 및 라우팅 테이블

    /etc/init.d/network 파일을 수정한다. /etc/hosts 파일도 변경해야 한다.

    [root]/etc/init.d$ cat network
    #! /bin/sh
    ifconfig lo 127.0.0.1
    route add -net 127.0.0.0
    IPADDR=192.168.1.1
    NETMASK=255.255.255.0
    NETWORK=192.168.1.0
    BROADCAST=192.168.1.255
    GATEWAY=
    ifconfig eth0 ${IPADDR} netmask ${NETMASK} broadcast ${BROADCAST}
    route add -net ${NETWORK}
    [ “${GATEWAY}” ] && route add default gw ${GATEWAY} metric 1

    ip aliasing을 하거나 랜카드를 여러 개 꼽는 경우도 여기에서 랜카드의 어드레스를 할당하고 라우팅 테이블을 잡아준다.

    위의 경우는 리눅스가 시리얼 포트를 통해 ppp 연결을 하므로 GATEWAY를 지정 않았다.

     

3. DNS 서버 지정

    /etc/resolv.conf에서 지정한다.

    [root]/etc$ cat resolv.conf
    search linuxjournal.co.kr
    nameserver 127.0.0.1
    위는 리눅스에 DNS 서버가 설치돼 있는 경우다

     

4. 시작시 자동으로 실행되야 하는 명령

    리눅스 가동시에 자동으로 실행되야하는 사용자 스크립트는 /etc/rc.boot 디렉토리에 넣는다.

    이 디렉토리에는  설치시에 한 개의 스크립트가 들어 있다. 0setserial 이다.
    이 스크립트는 시리얼포트를 초기화하는 명령들이 들어 있다. 시리얼 포트를 셋업하려면 여기에 넣는다.

    이 디렉토리의 스크립트는 알파벳 순으로 실행되므로 만들 때 순서를 주의해야 한다. 예를들어 PPP 연결을 할 때 먼저 시리얼 포트 셋업이 이루어지고 다음에 다이얼링이 이루어 지도록 스크립트 순서를 조정해야 한다.

    필자의 경우 ip masquerade 설정이나 부팅시 자동으로 TT선이나 전용선으로 PPP 연결을 하게 하는 명령들을 여기에 넣는다.

     

5. /etc/rc?.d 디렉토리

    위의 rc.boot 디렉토리는 사용자가 만든 스크립트이지만 시스템에 필수적인 명령들이나 인터넷 데몬 등은 /etc/rc?.d 디렉토리에서 다룬다.

    rc2.d 디렉토리에는 멀티유저 모드에서 데몬을 실행시키는 명령들이 있고 rc6.d 에는 시스템 셧 다운시 데몬을 종료시키는 명령이 있다.

    S로 시작하는 명령은 데몬을 실행하고(start) K로 시작하는 명령은 데몬을 종료시킨다. (Kill) 단 이 명령들은 실제로는 /etc/init.d에 있는 관련 스크립트에 start 또는 stop 옵션을 넣어 실행시킨다.

    예를 들어 /etc/rc2.d 디렉토리의 아파치 웹서버 실행 명령을 보자

    S91apache -> ../init.d/apache

    이 명령은 단지/etc/init.d 에 있는 apache 란 script에 start란 인자를 주어 실행하는 것에 불과하다.

    시스테 셧 다운시에 실행되는 /etc/rc.6 디렉토리의 아파치 종료 명령을 보자.

    K20apache -> ../init.d/apache

    이 명령은 /etc/init.d/apache 스크립트에 stop 인자를 주어 실행시키는 것이다.

    보다 자세한 사항은 ′99년 8월호 “리눅스 부팅 심층 분석”에 나와 있다.

     

6. 랜카드를 두 개 꼽을 때

    PCI 가 아닌 ISA 랜카드가 두개 있으면 리눅스에서 둘 다 인식시키기 힘들다.
    이 때는 일단 랜카드 셋업 프로그램(보통은 도스용) 을 돌려 PNP를 disable 하고서 셋업을 자동으로 잡아 준다. 다음에 진단 프로그램을 돌려 IRQ 및 IO address 충돌 여부를 점검한다.

    다음 리눅스에서 부팅시 두 개가 모두 인식되는지 확인한다. 랜카드가 인식되면 아래 메시지가 두개 나온다.

    eth0: 3c509 at 0x300 tag 1, 10baseT port, address  00 60 8c ec 79 4f, IRQ 10.
    3c509.c:1.16 (2.2) 2/3/98 becker@cesdis.gsfc.nasa.gov.

    (두번째는 eth1이 나와야 한다)

    두 개가 안잡히면 /etc/lilo.conf에 아래 라인을 추가하고 lilo 명령을 실행한다.

    append=”ether=10,0x300,eth0 ether=5,0x200,eth1”

    위는 3com 랜카드의 경우로서 10은 IRQ, 0x300은 IO address이다.

    두 번째 랜카드의 ip address 및 라우팅 테이블을 추가하려면 /etc/init.d/network 파일에 아래 라인을 추가한다.

    ifconfig eth1 192.168.1.1 netmask 255.255.255.0
    broadcast 192.168.1.255
    route add -net 192.168.1.0

     

7. IP forwarding

    데비안 시스템을 라우터로 사용하려면(ppp 서버로 사용하거나, IP masquerade 사용 시) ip forwarding이 enable 되야 한다. 아래 방법을 써서 ip forwarding을 enable 한다.

    /etc/rc.boot 디렉토리에 2ip_forward란 스크립트를 만들고 chmod 755 명령을 준다. 내용은 다음과 같다.

    #!/bin/bash
    echo “1” > /proc/sys/net/ipv4/ip_forward

     

8. 비상 부트/ 수선

    루트 패스워드를 잊었거나 파일을 잘못 수정해 부팅이 안되면 아래 방법으로 수선한다.

    1) CD 부팅이 지원되면 1번 CD로 부팅해 키보드 셋팅 메뉴가 나올 때
        “Excute a Shell” 을 선택하면 쉘 프롬프트가 나온다.

    2) mount /dev/hda2 /mnt (root 파일 시스템이 /dev/hda2에 설치돼 있을 때)

    3) /mnt 디렉토리에서 “ae 파일명”으로 수정을 한다.




▲ top

home으로...