노무현 대통령 배너


2006. 4. 4. 23:33

[본문스크랩] 인터넷 서버 설치기 #2

이제 리눅스를 설치할 단계이다. 설치에 사용한 리눅스 배포본은 미국 cheapbytes에서 수입한 Debian 공식버전 2.1로서 CD 4장 짜리이다.

진이(jinnee)에는 /dev/hda에 debian 1.2이 이미 설치되어 있는바 이 데비안을 /dev/hdc에 그대로 복사했다. 복사 방법은 리눅스 월드 99년 6월호에 실었다. 그래서 설치가 진행되는 동안에 인터넷을 연결할때는 플로피를 사용
/dev/hdc2에 설치된 루트파일시스템으로 부팅했다.

- 예비작업

    다음의 작업은 기존에 사용 중인 데비안 1.2에서 작업하였다. 설치는 A: 드라이브(3.5인치)를 사용한다.

    (1) 3.5인치 플로피를 2장을 미리 포맷했다.

      fdformat /dev/fd0H1440

    (2) “/”에 cdrom이란 디렉토리를 만들고서(mkdir cdrom) 데비안 2.1
    바이너리 1번(이하 b1으로 부른다) CD를 마운트한다.
    (CD가 SCSI 방식임)

      mount -t iso9660 -r /dev/scd0 /cdrom

    (3) 항상 어떤 작업을 하든 README를 꼭 읽는게 시간을 절약한다.

      아래는 b1의 “/” 디렉토리 내용이다.
      제일 위에 README.1ST 파일이 보인다. 이 내용을 보면은

      README for Debian 2.1 CD installation.

      To boot the installation system from CD, you will need to insert either CD#1 or CD#2 in your CD-ROM drive and reboot.

      CD#1 contains a normal kernel that should work for most people and contains many drivers.
      CD#2 is a smaller system based on the “tecra” kernel - this is smaller because it has fewer drivers compiled in to avoid a known problem with large kernels on laptops, especially the Toshiba Tecra series.

      If your system will not boot from CD, there are other options:

      1.Boot a DOS system with CD drivers, then run boot.bat from the \install direcory on the first CD.
      2.Make boot floppies from the images on the first CD, in the directory \dists\stable\main\disks-i386\current. The program rawrite2.exe in that directory will write the floppy images under DOS. e.g.

      d:
      (change to the CD drive)
      cd \dists\stable\main\disks-i386\current
      rawrite2 -f resc1440.bin -d a:
      (a: is the 1.44 MB fl oppy drive)

      See \install\install.txt for more information, and \README.multicd for last-minute information about the multi-cd installation method.

      Steve McIntyre 15 Feb 1999

      번역을 하자면
      CD로 설치하기 위해 부팅하려면 CD#1 또는 CD#2를 넣고 리부팅하시오. CD#1은 대부분의 경우에 적용되고 많은 드라이버를 포함하는 커널을 갖고 있다.

      CD#2는 “tecra” 커널에 기초한 적은 시스템이다. 이는 특히 도시바 Tecra 시리즈같은 랩탑에서 큰 커널로 인해 야기되는 문제들을 피하도록 보다 적은 드라이버만으로 컴파일되었다.

      당신의 시스템(피시)가 CD 부팅을 할 수 없다면

      1. CD 드라이버를 갖는 도스 시스템으로 부팅해서 첫번째 CD의 \install 디렉토리에 있는 boot.bat를 실행하라.

      2. 첫번째 CD의 \dists\stable\main\disks-i386\current 디렉토리에 있는 이미지로 부트 플로피를 만들라. 그 디렉토리에 있는 rawrite2.exe가 도스하에서 플로피에 이미지를 만든다.

      ① cd 드라이브로 변경
      ② cd \dists\stable\main\disks-i386\current
      ③ rawrite2 -f resc1440.bin -d a: (a: 는 1.44 mb )

      주의]
      rawrite2를 사용하기 전에 디스켓을 도스에서 포맷해야한다.

      보다 자세한 사항은 \install\install.txt를 보라.

      리눅스에서 install.txt를 보기 귀찮으면 CD를 윈95에 넣고서 install.html을 웹브라우저에서 보면 된다.

    (4) 설치용 디스켓을 만들기는 위에서 설명했지만 만약 리눅스에서 만든다면
    아래 명령을 쓰라.

      dd if=file of=/dev/fd0 bs=512 conv=sync ; sync

      주의]
      dd 명령을 쓰기 전에 플로피를 도스 또는 리눅스에서 미리 포맷한다.

      위에서 “if= “ input file 이란 뜻이다. fd0는 A: 드라이브 즉 3.5 인치이다.
      (플로피에 배드가 있으면 리눅스에서 쓸 수 없다)

    (5) 설치에 플로피를 사용한다면 위의 도스의 rawrite2 또는 리눅스의 dd 명령
    으로 \dists\stable\main\disks-i386\current 에 있는 아래 이미지
    들을 디스켓으로 만들어야한다.

      A. resc1440.bin
      B. drv1440.bin
      C. base14-1.bin, base14-2.bin, base14-3.bin, base14-4.bin, base14-5.bin, base14-6.bin 이다
      *. 베이스 시스템 설치를 CD로 한다면 resc1440.bin 다스켓만 필요하다.
      *. 베이스 시스템 설치도 플로피로 한다면 위의 8장의 디스켓이 필요하다.

설치 작업

    여기서는 부팅은 플로피로하고 베이스시스템 및 패키지 설치는 CD로 한다.

    1.\dists\stable\main\disks-i386\current에 있는 resc1440.bin이미지를 도스에서 rawrite2나 리눅스의 dd 명령으로 3.5인치 디스켓에 옮긴다.

    resc1440.bin으로 만든 디스켓을 레스큐(Rescue) 디스켓으로 부르기로 한다.

    2. 레스큐 디스켓을 넣고 부팅한다.
    화면 맨 아래에 boot: 메시지가 나오고 프롬프트가 나온다. 여기서 F1 키부터 F10 키를 눌러 다양한 정보를 볼수 있다.

    F1 : help
    F3 : 레스큐 디스켓 사용법
    F4 ~ F5 : 부트 파라메터 정보 등이다

    부트 파라메터는 특수한 하드웨어를 갖는 피시에 리눅스를 설치하는 경우 사용한다.
    예를들어 IBM ThinkPad에 리눅스를 설치한다면
    Boot : linux floppy=thinkpad 를 쓴다.

    scsi 하드 콘트롤러가 adaptec 1542라면
    Boot : linux aha1542=I/O base address를 쓴다.

    일반적인 경우는 로 그냥 넘어간다.

    3. 디스켓으로부터 부팅용 커널이 메모리로 올려지고 램디스크에 루트 파일시스템이 설정된 후 System Installation 메뉴가 뜬다.

    모니터 색상을 칼라로 선택한다. - > 칼라 화면이 나오면 Next

    4. Release Notes가 나온다. -> Continue
    5. Configure the Keyboard -> U.S. English

    6. Partion a Hard Disk
    이미 하드디스크에 리눅스 Swap 파티션 및 네이티브 파티션이 있으면 “Next : Initialize and Activate a Swap Partition”이 디폴트로 선택된다.( 즉 역상으로 나온다) 기존 파티션을 그대로 쓰려면 Next를 선택해도 되지만 하드디스크에 기존에 설치했던 내용을 지우려면 “Partition a Hard Disk”를 선택한다. 즉 파티션을 새로 만든다는 뜻이다.

    7. 하드가 여러 개 있으면 그 중 파티션 할 하드의 장치명을 고른다. IDE 방식의 하드가 primary master로 연결돼 있으면 /dev/hda가 장치명이다. (인터넷 서버 설치기 1편을 참고)

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

    화면은 아래와 같다.

    cfdisk 0.8l

    Disk Drive: /dev/hda
    Heads: 15 Sectors per Track: 57 Cylinders: 790

    Name Flags Part Type FS Type [Label] Size (MB)

    Pri/Log Free Space 329.81

    [Bootable] [ Delete ] [ Help ] [Maximize] [ Print ]
    [ Quit ] [ Type ] [ Units ] [ Write ]

    Toggle bootable flag of the current partition

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

      ① [new] -> [Primary] -> Size -> [Beginning]를 선택하면 hda1이 만들어진다.
      이 파티션을 swap 파티션으로 하려면 [Type] 메뉴를 선택한다. Swap 파티션은 82번이다. 화면에 아래처럼 나온다.

      /dev/hda1 Primary Linux Swap 32.15
      Pri/Log Free Space 297.67

      ② 아래 화살표키를 사용해서 Free Space에 다시 리눅스 native 파티션을 만든 후 [Bootable] 메뉴로 두 번째 파티션을 Active 해준다.

      아래가 완성된 모습이다. 여기서 [ Write ]를 선택하면 fdisk가 끝난다.(최종으로 확인한다 -> yes -> [Quit])

      /dev/hda1 Primary Linux Swap 16.12
      /dev/hda2 Boot Primary Linux 309.38

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

      ③ “Writing ... “ 메시지가 나오고 파티션 테이블이 하드디스크에 기록된다. [Quit]를 선택하여 cfdisk 를 빠져 나온다.

    9. Installation 메뉴가 다시 나오면 Next : Initialize and Activate a Swap Partition를 선택한다.

    10. swap device 장치명을 선택한다. -> /dev/hda1

    11. Bad Block 체크 여부를 묻는다. 연습용 설치가 아니라면 체크를 하는게 좋다.(시간은 약간 더 소요된다)

    12. next : Initialize a Linux partition 을 선택

    13. ext2 파일 시스템으로 Initialize(포맷) 할 파티션을 묻는다. /dev/hda2를 선택하고 역시 bad block 체크를 한다. (연습으로 설치한다면 bad block 체크를 않으면 시간이 단축된다)

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

    15. Install Operating system Kernel and Modules

    16. Installation Medium을 묻는다. -> cdrom을 선택한다.(CD-ROM을 넣는다)

    cd-rom 장치명을 묻는다.
    IDE CD는 보통 /dev/hdc이다 SCSI CD는 /dev/scd0 이다. SCSI CD는 부트시 해당 SCSI 콘트롤러가 인식되어야 사용이 가능하다. 자세한 사항은 설치기 1을 참고한다.

    17. Debian archive path를 묻는다. /debian 디폴트를 선택한다.

    18. resc1440.bin 파일 위치를 묻는다.
    List : 를 선택

    19. Configure Device Driver Modules

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

    20. configure the network

      ① Choose the Host Name : linux

      ② Network Connection에서는 리눅스 서버가 네트워크에 연결돼 있는지를 묻는다. 다이얼업이나 TT선 호스트접속 등 PPP 연결만 사용하는 경우는 NO를 선택한다. 비록 서버가 위의 연결인 경우도 서버를 다른 피시와 랜을 구성 할 경우는 yes로 한다.

      ③ Domain name : linuxjournal.co.kr

      ④ ip address : 192.168.1.5

      ⑤ netmask : 255.255.255.0

      ⑥ broadcast address :
      192.168.1.255 : 최근의 라우터에서 사용한다.
      192.168.1.0 : 예전에 나온 일부의 라우터에서 사용한다.

      ⑦ 게이트웨이 : 192.168.1.1

      ⑧ DNS 서버 : 리눅스에 DNS 서버를 설치할 예정이면 The system will be its own DNS server 를 선택

    21. 네트워크 인터페이스를 선택 -> eth0 (장치명이 아님)
    22. Install the Base System

      ① installation Medium 선택 -> cdrom

      ② CD 장치명 -> /dev/scd0

      ③ Archive path : /debian -> list

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

      ⑤ make linux bootable Directly from hard disk
      마스터부트 레코드를 /dev/had에 설치하겠느냐고 묻는다 -> yes
      make Linux the default boot partition -> yes

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

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

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

    23. root의 패스워드를 입력한다.

    24. root외의 다른 유저를 등록하겠느냐고 묻는다. root 계정은 꼭 필요한 경우가 아니면 사용 않는게 좋다.

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

    26. pcmcia 패키지 제거 여부를 묻는다 : yes

    27. 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를 선택해 예전처럼 중요도에 따른 패키지 선택을 할수 있다.

    28. 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를 잘 모르면 위의 메뉴 순서대로 실행한다.

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

    dselect - list of access methods
    Abbrev. Description
    * cdrom Install from a CD-ROM.
    multi_cd Install from a CD-ROM set.
    nfs Install from an NFS server (not yet mounted).
    multi_nfs Install from an NFS server (using theCD-ROM set)
    (not yet mounted)
    harddisk Install from a hard disk partition (not yet mounted).
    mounted Install from a filesystem which is already mounted.
    multi_mount Install from a mounted partition with changing contents.
    floppy Install from a pile of floppy disks.
    ftp Install using ftp.
    apt APT Acquisition [file,http,ftp]

    Access method `cdrom’.
    cdrom - Install from a CD-ROM.

      ① CD-ROM을 선택하면 cd-rom 장치명을 묻는다. Scsi cd는 /dev/scd0 이다.

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

      ② update 선택

      ③ Select 선택 : 타스크나 프로필 메뉴에서 선택한 경우는 이 단계는 필요없다.

      dselect 사용법은 상당히 복잡하므로 여기서는 생략한다. 자세한 사항은 리눅스 월드 97년 10월호에 박주연씨가 쓴 글을 참고하기 바란다.

      Select가 끝나면 각 패키지의 셋업에 대한 질문이 나온다. 이 부분은 설치 패키지마다 다르므로 여기에 생략한다.

      dselect에서 선택 않은 패키지도 언제든 설치가 가능하다.

      패키지 설치가 다 끝난 후 리눅스를 부팅 한다.
      이제 설치가 완료되었다.

설치 후 점검

    1. 부팅 후 dmesg 명령으로 각종 주변기기 인식 여부를 점검한다.

    *. “설치기 1”에서 SCSI 콘트롤러를 aha1542c, 랜카드를 3c509를 사용하는걸로 예정했으나 보다 일반적인 설치를 보여주기 위해 SCSI 콘트롤러는 aha2940uw, 랜카드는 3c905, 피시는 펜티엄2를 사용했다.

    $ dmesg
    Memory: sized by int13 088h
    Console: 16 point font, 400 scans
    Console: colour VGA+ 80x25, 1 virtual console (max 63)
    pcibios_init : BIOS32 Service Directory structure at 0x000f9ce0
    pcibios_init : BIOS32 Service Directory entry at 0xf0520
    pcibios_init : PCI BIOS revision 2.10 entry at 0xf0720
    Probing PCI hardware.
    Calibrating delay loop.. ok - 400.59 BogoMIPS
    Memory: 30788k/32704k available (776k kernel code, 384k reserved, 756k data)
    Swansea University Computer Society NET3.035 for Linux 2.0
    NET3: Unix domain sockets 0.13 for Linux NET3.035.
    Swansea University Computer Society TCP/IP for NET3.034
    IP Protocols: ICMP, UDP, TCP
    Checking 386/387 coupling... Ok, fpu using exception 16 error reporting.
    Checking ‘hlt’ instruction... Ok.
    Linux version 2.0.36 (root@hyunah) (gcc version

    2.7.2.1) #2 Tue Apr 27
    10:21:55
    KST 1999
    Starting kswapd v 1.4.2.2
    Serial driver version 4.13 with no serial options enabled
    tty00 at 0x03f8 (irq = 4) is a 16550A
    tty01 at 0x02f8 (irq = 3) is a 16550A
    ide: i82371 PIIX (Triton) on PCI bus 0 function 33
    ide0: BM-DMA at 0xd800-0xd807
    ide1: BM-DMA at 0xd808-0xd80f
    hda: Maxtor 7345 AT, 329MB w/64kB Cache, CHS=790/15/57
    ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
    Floppy drive(s): fd0 is 1.44M
    FDC 0 is a post-1991 82077
    (scsi0) found at PCI 11/0
    (scsi0) Wide Channel, SCSI ID=7, 16/255 SCBs
    .
    scsi0 : Adaptec AHA274x/284x/294x (EISA/VLB/PCI-Fast SCSI) 5.1.4/3.2.4

    scsi : 1 host.
    Vendor: Quantum Model: XP3215

    0W Rev: L912
    Type: Direct-Access ANSI SCSI revision: 02
    Detected scsi disk sda at scsi0, channel 0, id 0, lun 0
    Vendor: SONY Model: CD-ROM CDU-561 Rev: 1.8p
    Type: CD-ROM ANSI SCSI revision: 02
    Detected scsi CD-ROM sr0 at scsi0, channel 0, id 4, lun 0
    scsi : detected 1 SCSI cdrom 1 SCSI disk total.
    (scsi0:0:0:0) Synchronous at 20.0 Mbyte/sec, offset 8.
    SCSI device sda: hdwr sector= 512 bytes. Sectors= 4199760 [2050 MB] [2.1 GB]
    eth0: 3Com 3c905 Boomerang 100baseTx at 0xd000, 00:60:97:bc:8f:11, IRQ 10
    8K word-wide RAM 3:5 Rx:Tx split, autoselect/NWay Autonegotiation interface.
    MII transceiver found at address 24, status 7869.
    Enabling bus-master transmits and whole-frame receives.
    3c59x.c:v0.99E 5/12/98 Donald Becker
    .

    ※ 일부는 생략했다.

    랜카드, SCSI 콘트롤러, 시리얼포트 등이 모두 인식되었다.

    2. 우선 네트워크 셋업을 점검한다.

    linux:~# ifconfig
    lo Link encap:Local Loopback
    inet addr:127.0.0.1 Bcast:127.255.255.255 Mask:255.0.0.0
    UP BROADCAST LOOPBACK RUNNING MTU:3584 Metric:1
    RX packets:16 errors:0 dropped:0 overruns:0 frame:0
    TX packets:16 errors:0 dropped:0 overruns:0 carrier:0
    Collisions:0

    eth0 Link encap:Ethernet HWaddr 00:60:97:BC:8F:11
    inet addr:192.168.1.5 Bcast:192.168.1.255 Mask:255.255.255.0
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
    RX packets:625 errors:0 dropped:0 overruns:0 frame:0
    TX packets:393 errors:0 dropped:0 overruns:0 carrier:0
    Collisions:0
    Interrupt:10 Base address:0xd000

    linux:~# netstat -nr
    Kernel IP routing table
    Destination Gateway Genmask Flags MSS Window irtt Iface
    192.168.1.0 0.0.0.0 255.255.255.0 U 1500 0 0 eth0
    127.0.0.0 0.0.0.0 255.0.0.0 U 3584 0 0 lo
    0.0.0.0 192.168.1.1 0.0.0.0 UG 1500 0 0 eth0

    이상으로 네트워크 셋업이 정상임을 알수 있다.

    3. 192.168.1.101에서 telnet 해 본다.

    Debian GNU/Linux 2.1 linux.linuxjournal.co.kr

    linux login: bae
    Password:
    Linux linux 2.0.36 #2 Tue Apr 27 10:21:55 KST 1999 i686 unknown

    Copyright (C) 1993-1999 Software in the Public Interest, and others
    Most of the programs included with the Debian GNU/Linux system are
    freely redistributable; the exact distribution terms for each program
    are described in the individual files in /usr/doc/*/copyright

    Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
    permitted by applicable law.
    Last login: Mon Jul 26 10:33:58 on ttyp0 from 192.168.1.101.
    No mail.
    $

    이상으로 네트워크 연결도 이상이 없다.

    기본적인 네트워크 셋업이 모두 이상이 없다. 다음에는 각 서버 셋업을 다룬다.