데비안 V2.1 R2
설치 및 셋업
참고 사항 : 이 글은 리눅스 월드 '99년 11월호 기사이다.
이
글 전체를 홈페이지나 통신, 다른 인쇄물에 올릴 수 있으나 수정하여서는 안된다.
일부만을
인용할 경우는 리눅스 월드 '99년 11월호에 실린 글 임을 명시 하여야 하며,
리눅스
월드 홈페이지URL(http://www.linuxlab.co.kr) 도 표시하여야 한다.
'99년 8월호에 "인터넷 서버 설치기" 에 데비안 2.1 설치에 대한 글이 나갔으나 데비안 2.1 Rel.2가 나왔으므로 설치 및 셋업 부분을 다시 한번 설명한다.
①셀레론 366
②메모리 32메가
③하드디스크 : primary master (/dev/hda)
④CD-ROM : SCSI
⑤랜카드 : 3com 3c905-tx(PCI)
⑥SCSI 콘트롤러 : AHA-2949UW(PCI)
그래픽 카드 : Matrox G200
①HTML 파일
데비안 매뉴얼은 CD 안에 html
파일로 작성되어 있다. Binary 1번 CD를 넣고 네스케이프에서 "file →
open page"를 선택 후 "choose file" 버튼을 눌러 CD-ROM 드라이브의
"install" 디렉토리에서 "install.html" 파일을 열면 설치에
필요한 모든 매뉴얼을 웹 화면으로 볼 수 있다.
②텍스트 파일
위와 같은 디렉토리에 있는
install.txt 파일을 워드프로세서에서 읽으면 된다.
③인터넷
http://www.debian.org/releases//i386/install
웹페이지에 가장 최신의 매뉴얼이 올려진다.
① Virus Protection
데비안을 설치하는
동안은 disable 해야한다
② Shadow RAM
리눅스는 Shadow RAM 기능을
사용하지 않는다.
③ Advanced Power Management
마더보드에서
Advanced Power Management를 지원한다면 APM 사용 으로 셋팅해야한다. doze,
standby, suspend, nap, sleep 모드를 disable 해야한다. 하드디스크에 대한
power-down 타이머를 disable 해야한다.
④ "15-16 MB Memory Hole"
이런게
있으면 disable
⑤ "LFB" or "Linear Frame Buffer"
인텔 마더보드 중에 이런 셋업이 있으면 "1 Megabyte" 로 셋팅
⑥ Extended vs. Expanded Memory
리눅스는
Expanded 메모리를 사용하지 않는다.
⑦ 터보 스위치
터보스위치가 있으면 사용할
것.
⑧ 오버 클럭킹
CPU를 규정 속도보다 높은
속도로 셋팅하는 것은 삼가해야한다. CPU의 클럭속도를 규정보다 높일 경우 CPU에서
발생하는 열이 과도해 시스템이 다운될 확률이 높다. CPU의 규정 속도는 그 속도로
CPU를 사용할 경우 정상 작동을 보증한다는 것이므로 오버 클럭을 할 경우 이상이
발생해도 생산자에게 책임을 물을 수 없기 때문이다.
인텔은 333Mhz CPU를 400Mhz로 셋팅해 사용해도
지장이 없도록 여유를 줄만큼 관대한 회사가 아니다.
HDD Sequence SCSI/IDE : IDE Boot Sequence : CDROM,C,A (위는 AWARD BIOS를 사용하는 PC인 경우이며 피시마다 조금 씩 다르다.)
"boot: " 메시지가 나오면 lt; enter
> 하면 커널이 메모리에 올라가면서 많은 메시지가 화면에 뜬다. 이 메시지
내용은 몰라도 무관하니 자세히 볼 필요는 없다.
이미 하드디스크에 리눅스 Swap 파티션 및 네이티브 파티션이 있으면 "Initialize and Activate a Swap Partition"이 디폴트로 선택된다( 즉 역상으로 나온다). 기존 파티션을 그대로 쓰려면 이 메뉴를 선택한다. → "10"으로 진행
새 하드디스크이거나 기존의 파티션을 변경하거나 하드디스크에 기존에 설치했던 내용을 지우려면 "Partition a Hard Disk"를 선택한다. 즉 파티션을 새로 만든다는 뜻이다.
① "Partition a Hard Disk"를 선택했다면 하드가 여러 개 있으면 그 중 파티션 할 하드의 장치명을 고른다. IDE 방식의 하드가 primary master로 연결돼 있으면 /dev/hda가 장치명이다.
② 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메가이며 파티션이 잡혀 있지 않음을 보여준다.
③ [new] → [Primary] → Size → [Beginning]를
선택하면 hda1이 만들어진다.
Name 밑에 hda1이 나오고 Size가 표시된다.
④ 이 파티션을 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
⑤ 아래 화살표키를 사용해서 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 실린더 이내에 위치하도록 용량을 선택하고 남는 용량은 세번째 파티션에 할당한다.
⑥ [ Write ] → yes 를 선택하면 파티션 테이블이 하드디스크의 마스터부트레코드에 저장된다. "Writing..." 메시지가 나오고 파티션 테이블이 하드디스크에 기록된다.
⑦ [Quit]를 선택하여 cfdisk 를 빠져 나온다.
* 만약 하드 용량이 커 linux native 파티션이
두개 이상이면 (실린더 수치가 1024를 넘는 경우는 두개 이상을 만들어야 한다)
"Alternate: Initialize a Linux partition" 메뉴를 선택해서 나머지
파티션도 포맷하고 각 파티션의 마운트 포인트를 지정한다(파티션이 여러 개
이면 보통 /usr /home /var 등에 지정한다).
이부분은 나중에 수정이 가능하므로 결정되지 않았으면 임시로 입력해도 된다. 랜에 연결돼 있는 경우는 네트워크 관리자에게 문의하여 결정하여야 한다. 임의로 입력하면 다른 호스트와 충돌이 발생한다.
①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 를 선택
make Linux the default boot partition : 여러
개의 운영체제가 있을시 리눅스를 디폴트 부팅하겠느냐이다. → yes
플로피를 사요하는데 시간을 절약하기위해서는
설치 후에
/etc/driveprm에 drive0: deviation=640을 넣기를 권한다.
부트 디스켓이 만들어졌으면 reboot the system이
나온다. 플로피를 제거하고 리부팅을 선택한다.
데비안 패키지 설치시 과거에는 패키지의 중요도에따라 Required, Important, Standard, Optional, Extra 등으로 분류하고 이 분류 내의 전체 패키지를 선택할 수도 있고 분류 내에서 패키지 개개를 선택할수 있었으나 이 경우 패키지의 내용을 잘 모르는 초보자는 선택에 어려움이 있었다. 따라서 2.1에서는 프로필과 타스크에의해 패키지를 분류해 놓고 그 프로필과 타스크를 선택하면 자동으로 패키지들이 선택되도록 하고 있다.
타스크 : 타스크는 특정 일을 하는데 어떤 패키지가 필요한지를 결정해 주는 방식으로 선택하는것이다. 에를 들면 perl programming, Chinese word processing 등으로 분류해서 패키지를 선택하는 방식이다.
여러 개의 타스크를 선택 가능하다.
프로필 : 리눅스 사용 목적 또는 형태로 분류하는
것이다. 예를들어 소프트웨어 개발용으로 리눅스를 사용할지, 인터넷 서버용으로
쓸지, 워크스테이션 등을 지정하는것이다. 그에다라 해당 패키지가 자동 선택된다.
프로필은 한 개만 가능하다.
타스크와 프로필을 지정한 후에는 이후에 나오는
dselect에서 select를 선택하지 않고 넘어가면 된다.
여기서 yes를 하면 타스크 및 프로필 선택 메뉴가
나온다.
No를 하면 dselect 메뉴가 나오고 여기서 select를 선택해 예전처럼
중요도에 따른 패키지 선택을 할수 있다.
타스크나 프로필에의해 이미 패키지를 선택했다면 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 키를
누르면 사용법이 나온다.
deslect에서 선택 않은 패키지도 설치가 끝난 후 다시 DSELECT 명령으로 설치가 가능하므로 설치시에는 최소한으로 선택하는게 좋다.
Select가 끝나면
root로 로긴해 shutdown -r now 명령으로 리부팅한다.
서버의 이름을 변경하려면 /etc/hostname, /etc/hosts
두 곳을 고친다.
/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를 지정 않았다.
/etc/resolv.conf에서 지정한다.
[root]/etc$ cat resolv.conf search linuxjournal.co.kr nameserver 127.0.0.1
위는 리눅스에 DNS 서버가 설치돼 있는 경우다.
리눅스 가동시에 자동으로 실행되야하는 사용자 스크립트는 /etc/rc.boot 디렉토리에 넣는다.
이 디렉토리에는 설치시에 한 개의 스크립트가
들어 있다. 0setserial 이다.
이 스크립트는 시리얼포트를 초기화하는 명령들이
들어 있다. 시리얼 포트를 셋업하려면 여기에 넣는다.
이 디렉토리의 스크립트는 알파벳 순으로 실행되므로 만들 때 순서를 주의해야한다. 예를들어 PPP 연결을 할 때 먼저 시리얼 포트 셋업이 이루어지고 다음에 다이얼링이 이루어 지도록 스크립트 순서를 조정해야한다.
필자의 경우 ip masquerade 설정이나 부팅시
자동으로 TT선이나 전용선으로 PPP 연결을 하게 하는 명령들을 여기에 넣는다.
위의 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월호 "리눅스
부팅 심층 분석"에 나와 있다.
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
데비안 시스템을 라우터로 사용하려면(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
루트 패스워드를 잊었거나 파일을 잘못 수정해 부팅이 안돼면 아래 방법으로 수선한다.