2부. FreeBSD 2.2.7 설치

FreeBSD 설치에 대해 알아본다. FreeBSD 설치기사는 지난 해 본지 5월호에서 상세히 다루었으므로 자세히 소개하지는 않겠지만 전체적인 절차 중 세부적인 면에서 바뀐 것들이 몇 가지 있으므로 이들에 대해 알아보기로 하자. 프로그램세계 홈페이지(www.pserang. co.kr)에 지난해 나갔던 설치 기사를 제공하니 필요한 독자는 방문해서 보는 것도 도움이 될 것이다.

설치 프로그램 실행

설치 프로그램을 처음으로 실행하기 위해서는 몇 가지 방법이 있다. 

부트 플로피를 사용하는 방법

이는 CD롬의 2.2.7-RELEASE/floppies 디렉터리의 boot.flp를 tools 디렉터리의 fdimage.exe나 rawrite.exe를 통해 플로피 디스켓에 옮기면 된다. 

이 작업은 도스, 윈도나 유닉스에서 할 수 있는데 도스, 윈도의 경우 먼저 CD롬을 인식한 상태로 도스나 윈도로 부팅해서 도스 프롬프트를 띄워 다음 명령을 입력하면 된다. 여러분의 CD롬이 E드라이브에 배당되었다면 다음과 같이 한다. 

E> tools\fdimage floppies\boot.flp a:
리눅스나 솔라리스 등의 유닉스 머신에서 부트 플로피를 만드는 경우에는 다음과 같이 한다. 단 /dev/rfd0는 해당 유닉스 머신에서 3.5인치 플로피의 장치명이어야 하며, 시스템에 따라 다를 수 있고 여러분이 플로피에 쓸 권한을 갖지 않을 수도 있으므로 주의해야 한다. 이때는 dd명령을 사용해서 다음과 같이 한다. 
# dd if=floppies/boot.flp of=/dev/rfd0
쓰는 동안 오류가 없어야 한다. 따라서 손상된 부분이 전혀 없는 플로피로 해야 하며 될 수 있으면 포맷을 새로한 플로피를 사용하는 것이 좋다. 

도스에서 부팅하는 방법

CD롬을 인식한 도스 상태에서는 직접 부팅이 가능하다(윈도의 도스 프롬프트에서는 하지 말기 바란다). 이때에는 QEMM386이나 EMM386과 같은 보조 메모리 관리자를 띄우지 말고, mscdex와 같은 프로그램을 사용해서 CD롬만 인식한 뒤 CD롬드라이브에 들어가서(여기서는 E:라고 가정하겠다) 다음과 같이 입력하면 된다. 
E> install
주의할 것은 메모리 관리자를 띄우지 말아야 하는 것 외에 도스에서 한글을 볼 수 있는 어떤 프로그램(MSHBIOS 등)도 사용하지 말라는 것이다. 

CD롬으로 부팅하는 방법

FreeBSD CD롬은 2.2 이후에서부터는 El Torrito방식의 CD롬 부팅을 지원한다. 요즘 대부분의 머더보드는 바이오스에서 부팅 시 장치 우선 순위에서 CD롬을 지정할 수 있는데 이 경우에는 별도의 플로피나 다른 운영체계 없이 CD롬에서 직접 FreeBSD 설치 프로그램으로의 부팅이 가능하다. 

이 때에는 앞서 이야기하였듯이 PC의 바이오스 셋업으로 들어가서 제 1순위 부팅 장치를 CD롬으로 맞추고(머더보드의 바이오스마다 설정하는 방법이 다르므로 여기에서는 이야기하지 않겠다), CD롬에 FreeBSD CD를 넣고 부팅하면 된다. 

바이오스나 시스템에 따라 안될 수도 있으므로 자신의 컴퓨터에서 CD로 부팅되지 않는다고 너무 실망하지 말자. 

설치과정

설치과정은 생각보다 간단하다. FreeBSD는 2.1대부터 /stand/sysinstall(이렇게 부르는 이유는 /stand/sysin stall이 실행파일 이름이기 때문이다)이라는 설치 프로그램을 제공하고 있는데 libdialog라는 텍스트 기반 위젯 라이브러리로 작성된 이 프로그램은 FreeBSD를 가장 간편하게 설치할 수 있도록 해 준다. /stand/sysinstall의 설치 단계는 다음과 같다. 
 

설치하기 전에 짚고 넘어가야 할 것들

지원되는 하드웨어인지

하드웨어 목록은 CD에서 HARDWARE.TXT를 읽어보거나 또는 설치 프로그램에서 문서 메뉴를 찾아 하드웨어 가이드를 읽어보면 알 수 있다. 주의할 점은 자신이 여러 가지 하드웨어를 갖고 있어도 부트 프로그램의 커널에서 지원하지 않는 장치의 경우에는 설치 커널의 부트 과정에서 인식할 수 없으므로 주의하기 바란다. 하지만 부트하고 설치하기 위해 필요한 장비는 IDE나 SCSI CD롬 그리고 하드디스크 정도이므로 이 정도 장치는 대부분 지원할 것이다. 나머지 장치는 나중에 커널을 다시 컴파일하면 된다. 

어떤 매체를 통해 설치할 것인지

FreeBSD는 현재 하드디스크(DOS와 FFS파티션), NFS, FTP, CD롬, PPP, SLIP 등을 통해 설치가 가능하다. 가장 좋은 방법은 CD롬을 갖고 있는 것이며 Walnut Creek의 정식 FreeBSD CD롬을 갖고 있거나 이번 부록의 CD롬을 갖고 있는 경우에는 부팅 가능한 CD롬 장치를 갖고 있는 경우 별도의 플로피 등이 필요없이 직접 설치가 가능하다. 

하드디스크에 설치 할 공간은 있는지

FreeBSD는 기본적인 것만 설치하면 수십메가의 하드디스크로도 설치가 가능하지만 X윈도 등 여러 가지 애플리케이션까지 함께 설치하기 위해서는 충분한 하드디스크 공간을 확보하는 것이 좋다. FreeBSD는 DOS 기본 파티션(Primary Partition)에 FreeBSD파티션을 설정하고 그 안에서 다시 조각(slice)이라는 별도의 내부 레이블 작업을 하므로 빈 파티션은 하나만 잡아도 좋다. 또한 하드디스크 하나를 모두 FreeBSD로 배당하거나 다른 운영체계와 함께 사용하지 않고 FreeBSD만 사용하고자 하는 경우에는 도스 파티션을 설정할 필요 없이 전체 하드디스크를 FreeBSD 전용으로 포맷할 수 있다. 이 경우 부트 관리자는 필요 없다. 

CD롬의 tools 디렉터리에는 하드디스크의 도스, 윈도 95 파티션에 남은 용량은 있지만 FreeBSD용으로 별도의 파티션을 확보하지 못한 경우 기존의 파티션을 나누어 빈 파티션을 확보할 수 있는 FIPS나 presizer와 같은 유틸리티가 들어있으므로 이를 활용하기 바란다. FIPS의 경우 이 CD에 들어있는 버전은 FAT32 파티션을 나눌 수도 있다. 

주의할 것은 FreeBSD는 도스의 확장 파티션 안에 있는 논리 드라이브 파티션에는 설치할 수 없으므로 자신의 PC의 파티션 구조를 숙지하고 있기 바란다. 도스나 윈도, 리눅스나 OS/2 등의 다른 운영체계와 같이 사용하는 방법도 크게 어렵지 않다. FreeBSD 설치시에 제공하는 기본 부트 관리자인 BootEasy는 그 이름에 걸맞게 간단하면서도 유연한 부팅 관리 기능을 제공하므로 BootEasy만으로도 윈도와 같은 다른 운영체계와 같이 사용하는데 큰 무리는 없을 것이다. 

무엇을 할 것인지

FreeBSD는 데비안 리눅스 배포본처럼 천여가지를 훌쩍 뛰어넘는 패키지를 제공한다(기본 FreeBSD FTP사이트에서는 약 1600가지의 패키지를 구할 수 있으며, 이 CD에도 약 1300가지의 패키지가 들어 있다). 이들은 대부분 공개 소프트웨어이며 소스를 컴파일해서 얻은 것들이다. 선택의 폭이 매우 넓으므로 설치하는 사용자는 어떤 패키지를 설치할 것인지 미리 잘 생각하기 바란다. 웹서버를 운영하고 싶은 사람은 웹서버 관련 프로그램을 설치하고, 인터넷 서핑을 하고 싶은 사람은 넷스케이프 등의 인터넷 관련 프로그램, 그래픽을 하고 싶은 사람은 GiMP와 관련 유틸리티와 라이브러리를 설치하기 바란다. 

설치에 필요한 것들

FreeBSD를 여러분의 하드디스크에 설치하기 위해서는 다음이 필요하다 
- 80386 이상의 호환 CPU와 ISA, EISA, VLB, PCI방식으로 된 PC 
- 하드디스크의 남은 파티션 
- 설치를 위한 CD롬 또는 네트워크 카드, 또는 직렬/병렬 케이블 
- 설치 프로그램을 작동하기 위한 환경 

커널 설정(UserConfig)

UserConfig는 부팅 커널이 뜨고 난 뒤 장치를 인식하지 않은 상태에서 처음으로 작동하는 메뉴이다. 이 메뉴에서는 설치용 커널에 들어있는 장치에 대해 재설정이나 삭제가 가능하다. 보통 설치용 커널에는 설치에 필요한 필수적인 장치 드라이버들이 들어있는데 테이프, IDE 하드디스크, SCSI 컨트롤러, 네트워크 카드, 직렬과 병렬 포트 등이 그것이다. 

이외에 마우스 데몬과 X 윈도설치를 위한 PS/2 드라이버, 버스 마우스 등이 들어 있다. 설치 커널(GENERIC이라고 부른다)에 들어있는 장치들은 표1과 같다. 사운드 드라이버 등의 장치들은 설치 과정에서는 필요가 없으므로 제외되었다는 것을 기억하자. 

UserConfig 설정 화면에서는 GENERIC 커널 안에 있는 장치 드라이버를 사용하거나 사용하지 않는 설정이 가능하다. 일단 설치하기 전에 여러분의 하드디스크나 네트워크를 통해 설치하고자 하는 경우 해당 장치가 이 커널 안에 들어있는지 꼭 확인해야 한다. FreeBSD에서 지원하는 하드웨어라 할지라도 이 커널에 들어있지 않으면 설치할 수 없게 된다. 

장치 드라이버의 사용 가능과 불가능 그리고 IRQ나 I/O주소 등을 바꿀 수 있는 것은 ISA장치에 제한되는 것에 주의하자. PCI장치도 GENERIC 커널에 여러 개가 들어 있는데 이 장치들은 PCI에서 자동적으로 설정하므로 사용자가 손댈 것이 없고 삭제도 불가능하다. 보통 ISA장치에서 충돌이 많이 일어나지만 Conflict라는 말과 함께 반전 표시되므로 이들 드라이버만 주의해서 보고 사용하지 않는 드라이버는 될 수 있으면 빼 두도록 하자. 
 
장치명 포트 IRQ DRQ IOMem 설명
fdc0 3f0 6 2 n/a 플로피 디스크 컨트롤러
wdc0 1f0 14 n/a n/a IDE/MFM/RLL 디스크 컨트롤러
wdc1 170 15 n/a n/a IDE/MFM/RLL 디스크 컨트롤러
ncr0 n/a n/a n/a n/a NCR PCI SCSI 컨트롤러
bt0 330 dyn dyn dyn Buslogic SCSI 컨트롤러
uha0 330 dyn 6 dyn Ultrastore 14f
aha0 330 dyn 5 dyn Adaptec 154x/1535 SCSI 컨트롤러
ahb0 dyn dyn dyn dyn Adaptec 174x SCSI 컨트롤러
ahc0 dyn dyn dyn dyn Adaptec 274x/284x/294x SCSI 컨트롤러
aic0 340 11 dyn dyn Adaptec 152x/AIC-6360 SCSI 컨트롤러
amd0 n/a n/a n/a n/a Tekram DC-390(T)/ AMD 53c974 PCI SCSI
nca0 1f88 10 dyn dyn ProAudioSpectrum 카드
sea0 dyn 5  dyn c8000 Seagate ST01/02 8 bit 컨트롤러
wt0 300 5 1 dyn Wangtek과 Archive QIC-02/QIC-36
mse0 23c 5 n/a n/a Microsoft 버스 마우스
psm0 60 12 n/a n/a PS/2 Mouse (기본적으로 미사용)
mcd0 300 10 n/a n/a Mitsumi CD-ROM
matcd0 230 n/a n/a n/a Matsushita/Panasonic CD-ROM
scd0 230 n/a n/a n/a Sony CD-ROM
sio0 3f8 4 n/a n/a 직렬포트 0 (COM1)
sio1 2f8 3 n/a n/a 직렬포트 1 (COM2)
lpt0 dyn 7 n/a n/a 프린터 포트 0
lpt1 dyn dyn n/a n/a 프린터 포트 1
de0 n/a n/a n/a n/a DEC DC21x40 PCI용 카드 (21140 100bT 카드 포함)
ed0 280 10 dyn d8000 WD & SMC 80xx; Novell NE1000 & NE2000; 3Com 3C503; HP PC Lan+
eg0 310 5  dyn dyn 3Com 3C505
ep0 300 10 dyn dyn 3Com 3C509
ex0 dyn dyn dyn n/a Intel EtherExpress Pro/10 카드
fe0 300 dyn n/a n/a Allied-Telesis AT1700, RE2000와 Fujitsu FMV-180 시리즈 카드.
fxp0 dyn dyn n/a dyn Intel EtherExpress Pro/100B
ie0 300 10 dyn d0000 AT&T StarLAN 10과 EN100;3Com 3C507; NI5210
ix0 300 10 dyn d0000 Intel EtherExpress 카드
ex0 dyn dyn dyn dyn Intel EtherExpress Pro/10 카드
le0 300 5 dyn d0000 Digital Equipment EtherWorks 2와 EtherWorks 3
lnc0 280 10 n/a dyn Lance/PCnet 카드 (Isolan, Novell NE2100, NE32-VL)
vx0 dyn dyn n/a dyn 3Com 3c59x / 3c9xx
ze0 300 5  n/a d8000 IBM/National Semiconductor PCMCIA Ethernet 컨트롤러
zp0 300 10 n/a d8000 3Com 3c589 Etherlink III PCMCIA Ethernet 컨트롤러

표 1 : 설치커널에 들어있는 장치들(FreeBSD 하드웨어 가이드에서 발췌) 

FDISK 파티션 편집기 (FDISK Partiton Editor)

파티션 편집기는 도스의 fdisk에 해당하는 수준의 파티션 편집기이다. 여기서 여러분은 도스의 기본 파티션과 FreeBSD 파티션, 심지어는 리눅스 파티션까지 만들 수 있다. 파티션 편집기에서 확인해야 할 사항은 여러분이 FreeBSD를 설치할 충분한 양의 하드디스크를 별도의 파티션으로 확보하였는지이다. 도스 파티션에 해당하는 것을 FreeBSD에서는 ‘조각(Slice)’이라고 부르므로 이 점에 주의하도록 하자. 

이 편집기를 FDISK 파티션 편집기라고 별도로 FDISK라는 말을 앞에 붙이는 이유는 바로 그런 것 때문이다. 2.2.5 이전에서는 한 드라이브 내에 2개 이상의 FreeBSD 파티션이 있을 경우 순서상 가장 앞 루트 파티션만이 부트할 수 있었으나 2.2.6으로 오면서 그런 제한이 없어지고 한 디스크 내에 여러 개의 FreeBSD 파티션이 있어도 각각에서 부팅이 가능하도록 되었다. 이는 이전에 호환 조각(compatible slice)이라고 부르던 것이다. 파티션 편집기에서는 전체 디스크를 FreeBSD에 전용할 수 있는 옵션을 제공하므로 다른 운영체계 파티션과 공존하고 싶지 않을 때에는 이 옵션을 선택하도록 하자. 

파티션 편집기에서는 또한 부트 관리자의 선택도 가능하다. FreeBSD에서는 BootEasy라는 설정이 필요없는 깔끔한 부트 관리자를 기본으로 제공하는데 작은 크기로 최대한의 일을 수행한다. BootEasy는 FreeBSD, 리눅스, 도스, 윈도(FAT16, FAT32), OS/2를 부팅시킬 수 있으며 BootEasy를 기본 부트 관리자로 하기 위해서는 시스템 첫 번째 하드디스크에 설치해야 한다. 

따라서 만약 자신이 두개의 하드디스크를 사용하는데 첫 번째 하드디스크에는 도스 또는 윈도만 있고 두 번째 하드디스크에 FreeBSD를 설치하였다 하더라도 FDISK 편집기에서 첫 번째 디스크를 선택하고 Q를 눌러 그대로 나간 다음, BootMgr을 선택하여 첫 번째 디스크의 MBR (Master Boot Record)에 BootEasy를 설치하기 바란다. 만약 이미 리눅스를 설치하여 LILO가 설치되어 있는 경우에는 여러 가지 방법이 있겠지만 LILO를 리눅스의 루트 파티션으로 옮기고 BootEasy를 첫 번째 하드디스크의 MBR에 넣을 수도 있으며 LILO의 설정을 조정하여 FreeBSD를 BootEasy를 사용하지 않고 LILO메뉴에서 부팅시킬 수도 있다. 

이와 같은 방법에 대해서는 리눅스 HOWTO 중 FreeBSD+Linux HOWTO나 FreeBSD 튜토리얼 중 ‘Using FreeBSD with other operating systems’ (http://www. freebsd.org/tutorials/multios/multios.html)을 읽어보기 바란다. 

Standard라고 하면 부트 관리자 설치는 하지 않고 FreeBSD 표준 부트 프로그램만 설치한다. 이것은 무엇일까? 바로 부팅할 때 ‘Boot:’라고 나오는 프롬프트를 실행하는 프로그램이다. 표준 부트 프로그램은 FreeBSD 커널에 인수를 넘겨주는 역할을 할 수 있는데 ‘Boot:’다음에 써주는 것이 그것이다. 자세한 것은 부트 화면을 참고하기 바란다. 

또하나, 도스 파티션이나 리눅스 파티션과 공존하지 않고 전체 하드디스크를 FreeBSD로 사용하는 경우에 그 디스크에는 BootEasy를 설치하지 말고 Standard를 눌러 표준 부트 프로그램을 설치하기 바란다. BootEasy는 다른 OS와 공존하기 위한 프로그램이지 FreeBSD가 디스크 하나를 통째로 사용할 때에는 필요없는 프로그램이기 때문이다. 
 

그림 2. 드라이브 선택
그림 4. 부트 관리자 설치
그림 3. FDISK 파티션 편집기 화면
그림 5. 레이블 편집기
 

디스크 레이블 편집기(Disklabel Editor)

레이블이란 FreeBSD파티션 내에서 나눈 각 마운트 지점에 해당하는 파티션이다. FreeBSD 용어로는 파티션이라고 부르며 1의 도스 파티션은 조각이라고 부르는 것에 주의해야 한다. 즉, FreeBSD 조각 내에서 /, /usr, /var, 스왑 파티션을 나누는 과정을 레이블 편집기에서 담당한다. 스왑 파티션을 조각 내에서 자르므로 DOS 파티션 수준에서 스왑을 위해 별도의 파티션을 설정 할 필요가 없다. 

이미 잡은 파티션 내에서 또 나누어야 한다는 것에 혼란스러움을 느끼는 독자도 많겠지만 이는 FreeBSD를 도스와 공존시키기 위해 할 수 있는 최선의 선택이었다. 리눅스와 같은 경우에는 처음부터 x86용으로 개발되었으므로 다른 OS와의 공존을 생각하지 않을 수 없었겠지만 FreeBSD의 경우는 BSD의 디스크 레이블 시스템 자체를 보존하며 포팅하기 위한 하나의 방편이었다고 생각한다. 필자의 생각으로는 여러분이 하드디스크 하나 전체를 비울 수 있는 경우라면 전체 디스크 옵션을 주어 사용하는 것도 좋으리라 생각하며 레이블을 어떻게 나누어야 할 것인지 자신이 없는 경우에는 자동 옵션을 주어 나누도록 하자. 

2.2.7부터는 여러분이 이미 OSR2이상의 윈도 95나 윈도98을 사용하고 있는 경우에 사용하고 있을 FAT32 파티션을 이 레이블 화면에서 직접 마운트할 수 있다. 도스 장치를 고르고 마운트 지점을 입력하도록 하자. 
2.2.6까지의 FreeBSD는 도스 파일시스템 지원이 불안정하고 FAT16과 8.3파일명밖에 지원하지 않았으나 2.2.7에서는 -CURRENT에서 역도입된 NetBSD의 FAT32/ VFAT지원 코드에 기반한 MSDOS 파일시스템이 제공되므로 안심하고 마운트해도 좋다. 단 결점이라 한다면 한글 파일명을 볼 수 없다는 것에 주의하자. 또한 레이블 편집기 화면에서는 확장 파티션 내의 도스 논리 드라이브를 마운트할 수 없다(설치 후 수동으로 해야 한다). 

배포본 선택

여기서 배포본이라 함은 커널과 기본 유틸리티, 컴파일러, 디버거, XFree86을 포함하는 FreeBSD의 기본 세트를 말한다. FreeBSD는 별도의 패키지를 설치하지 않아도 이 기본 배포본만으로, 더 자세히 말하면 bin 배포본만으로도 동작이 가능하다. 

여러분이 넷스케이프나 아파치 웹 서버, MySQL과 같은 데이터베이스 패키지를 원한다면 기본 배포본 외에 패키지를 따로 설치해야 하는 것에 유의하자. 배포본에는 여러 가지 종류가 있는데 미리 만들어놓은 세트가 있으므로 이것들에서부터 출발하는 것이 좋겠다. 배포본의 종류에는 표 2와 같은 것이 있다. 
이들은 다시 세부적으로 표 3과 같이 구분된다. 

이들은 세부 사항을 어떻게 선택하였는지의 차이밖에 없으며 Custom에서 얼마든지 조정할 수 있다는 사실을 기억해 두자. 예를 들어 X개발자를 선택하였으면 그림 8과 같은 메뉴를 볼 수 있을 것이다. 
만일 이것이 마음에 들지 않거나, 특별히 추가해야 할 것들이 있다면 Custom을 선택해서 원하는 것을 선택하여 사용하기 바란다. 

XFree86을 설치하면 XFree86 의 배포본 메뉴를 다시 접하게 되는데 이 화면에서는 X윈도를 구성하는 여러 가지 구성 요소를 선택하여 설치할 수 있다. Basic과 Server, Fonts로 나누는데 Basic에서는 XFree86 배포본 설치에 대한 여러 가지 세부 선택을 할 수 있다. 필자는 이 화면에서 9set, sources, csources, lk98, lkit를 제외한 나머지 모든 항을 선택하기를 권장한다. 그리고 이 CD에는 용량의 문제로 sources와 csources의 XFree86 3.3.2소스는 삭제되었으므로 이를 선택하여도 실제로 패키지는 설치되지 않을 것이다. 또한 용량의 관계로 PC98-Server도 포함하지 않았다. 
 
 

그림 6. 배포본 선택 메뉴
그림 7. 소스의 세부 선택
그림 8. X-Developer를 선택한 경우의 배포본 선택
그림 9. XFree86 3.3.2 배포본 메뉴
 
Developer 개발자용. 전체 소스와 바이너리, 문서가 제공되지만 게임은 없다
X-Developer X개발자용. Developer+X윈도시스템
Kern-Developer 커널 개발자용. 전체 바이너리와 문서가 제공되지만, 소스는 커널 소스만이 포함된다.
User 일반 사용자. 바이너리와 문서만이 설치된다.
X-User X사용자. User+X윈도시스템
Minimal bin배포본만을 설치한다. 최소
Custom 여러분이 마음대로 선택할 수 있다.
All 모두 다 설치. 하드가 많다면 얼마든지…
표 2 : 배포본 종류
원래 FreeBSD 2.2를 위한 XFree86배포본은 contrib에 해당하는 프로그램(xload나 xmessage와 같은 프로그램)의 설치를 기본적으로 하지 않으나 부록 CD에서는 bin을 설치하면 XFree86-contrib에 해당하는 프로그램이 자동적으로 설치가 되도록 하였으며 입력기를 위한 로케일 정의 파일 패치, 몇몇 프로그램의 한글 리소스와 패치, 트루타입 X 서버 패키지와 관련 라이브러리를 모두 포함하도록 하였다. 이에 대해서는 3부에서 자세히 설명하도록 하겠다. 
 
bin 기본적인 시스템 바이너리. 커널과 유틸리티, 컴파일러를 포함한다. FreeBSD는 최소 이것만으로 동작할 수 있다. 커널은 설치시의 그 커널과 동일한 것이며 FreeBSD의 기본 컴파일러는 gcc 2.7.2에 FreeBSD용 패치를 몇 가지 덧붙인 것이라는 점을 기억해 두자. 이 안에는 gdb와 같은 디버거, vi와 같은 편집기 등이 모두 들어 있다.
compat1x FreeBSD 1.x와의 바이너리 호환성을 위한 라이브러리. 여러분이 FreeBSD 1.x용 프로그램 바이너리를 갖고 있다면 이 라이브러리가 필요할 것이다.
compat20 FreeBSD 2.0.x와와 바이너리 호환성을 위한 라이브러리. 여러분이 FreeBSD 1.x용 프로그램 바이너리를 갖고 있다면 이 라이브러리가 필요할 것이다.
compat21 FreeBSD 2.1.x와와 바이너리 호환성을 위한 라이브러리. 여러분이 FreeBSD 1.x용 프로그램 바이너리를 갖고 있다면 이 라이브러리가 필요할 것이다.
des DES 암호화 코드의 소스이다. 여러분이 미국 외에 있다면 절대 선택하지 말기 바란다. DES는 미 정부에 의해 수출 제한을 받으므로 미국과 DES 수출이 허가된 몇몇 국가 이외에서 DES코드를 사용하고 싶다면 미국이 아닌 곳에서 이 소스를 받아야 한다. 이는 커베로스 시스템과 사용자 암호의 암호화 저장에 주로 사용되는데, 예를 들어 DES를 설치하면 /etc/passwd에 들어가는 사용자 암호가 DES로 암호화된다. DES를 설치하지 않은 경우에는 MD5로 암호화되며 이는 /etc/master.passwd의 암호 필드가 $1$로 시작하는지의 여부로 구분할 수 있다. 즉 이미 설치된 FreeBSD시스템에서 여러분의 암호화 시스템이 무엇인지 알고 싶다면 루트의 권한으로 /etc/master.passwd를 읽어보아서 암호가 $1$로 시작된다면 MD5방식, 그렇지 않다면 DES방식으로 구분할 수 있다. 미국 외에서 배포되는 DES소스를 받으려면 ftp.internat.freebsd.org에서 다운로드 받으면 된다.
dict 영문 철자법 검사에 사용되는 사전 파일
doc FreeBSD문서. 4.4BSD의 문서와 FreeBSD 핸드북, FAQ를 포함한다. 2.2.2부터 어쩐 일인지 기본 배포본의 doc에서 핸드북과 FAQ를 제공하지 않아 논란이 많았는데 이 버전부터는 다시 핸드북과 FAQ가 포함되었다.
games 4.4BSD 게임. 대부분 텍스트 기반의 간단한 게임(때로는 전혀 간단하지 않는 게임들)이다. 유닉스에서 게임을 즐기기 위해 고생하였던 터미널 세대의 프로그래머들의 고민(?)을 엿볼 수 있는데, 요즘의 화려한 그래픽 게임보다야 못하겠지만 나름대로 여러 장르(퍼즐부터 RPG까지)의 게임들이 들어있으므로 한번씩 해보기 바란다. 특히 fortune이라는 재미있는 프로그램이 이 안에 포함되어 있는데 로그인할 때마다 경구나 유머를 한마디씩 출력해 주는 프로그램이 바로 이것이다.
info GNU info. FreeBSD에는 TeXinfo 시스템이 기본으로 포함되어 있으므로 info 파일도 기본적으로 포함되어 있다. 이 시스템은 기본 소스에 들어있는 GNU프로그램들(컴파일러, 디버거 등)의 설명서를 포함하며 나중에 패키지로 설치되는 모든 프로그램들의 info 설명서들도 모두 포함하게 된다.
man 전통적인 유닉스 매뉴얼 패이지. 기본 유틸리티부터 커널 프로그래밍 인터페이스까지 자세하게 설명되어 있으니 꼭 선택하도록 하자.
catman catman은 별다른 것이 아니라 매뉴얼 페이지의 출력을 빠르게 하기 위해 일반 텍스트로 미리 포맷해 놓은 파일을 말하는 것이다. 이를 설치해 두면 매뉴얼 페이지의 출력을 빠르게 할 수 있다.
proflibs 기본 라이브러리의 프로파일링 버전이 들어 있다. 프로파일러 라이브러리로 링크한 프로그램과 적절한 프로파일러(gprof)를 사용하면 프로그램의 각 부분이 전체 실행시간에서 차지하는 비율 등을 적절하게 계산할 수 있다.
src FreeBSD소스. 수출 제한이 되는 DES를 제외하고 모두 얻을 수 있다. 소스는 다시 base, contrib 등으로 많이 나눌 수 있는데 어떤 소스를 설치하는지는 여러분의 선택에 달려 있지만, 나중에 사운드 카드를 사용하거나 기본 설치용 커널에서 지원하지 않았던 장치를 사용하기 위해 커널을 다시 컴파일해야 한다면 반드시 sys배포본(커널 소스)을 선택해주기 바란다.
ports 여러분이 minimal을 제외한 다른 배포본 세트를 선택하였다면 이 배포본과 DES설치에 대해서 물어보게 될 것이다.
표 3 : 표 2에 있는 X-Developer를 선택했을 때 나타나는 세부메뉴

설치 매체 선택

일단 설치 프로그램을 어떻게 실행했는지의 여부와 관계없이 배포본을 설치할 매체를 선택할 수 있다. 이는 여러분이 어떤 하드웨어를 갖고 있는지에 따라 달라지는데 일반적으로 CD롬, FTP서버, 파이어월을 통한 FTP서버, DOS 파티션, NFS, FFS 파일시스템, 플로피 디스크, 테이프 등에서 설치가 가능하다. FTP나 NFS와 같이 네트워크에서 설치하겠다고 선택한 경우에는 어떤 장치를 통해 설치할지를 정해야 하는데 이더넷 카드, PPP, SLIP, PLIP 중에서 선택할 수 있다. 

FTP로 설치하는 경우에는 가까운 FTP서버를 선택하여야 하는데 국내에서 FreeBSD를 미러링하는 곳으로 다음이 있다. URL을 FTP 선택시에 ‘Other Site’를 선택하고 입력하면 된다. 
한국의 FreeBSD서버로 지정되어 있는 ftp.kr.freebsd.org는 현재 사용 불가능하니 선택하면 안된다. 

sunsite.kren.ne.kr/pub/OS/FreeBSD
ftp.kreonet.re.kr/pub/BSD/FreeBSD
설치 가능한 매체를 확인하는 방법은 설치 화면이 처음 뜰 때 Alt-F2를 눌러보는 것이다. 이 디버깅 화면에서는 여러 가지 정보를 보여주는데 처음에는 인식한 네트워크 카드와 네트워크로 사용할 수 있는 장치들(직렬포트, 병렬포트 등) 그리고 설치할 수 있는 하드디스크(IDE와 SCSI)를 찾아 보여주므로 자신이 설치하고자 하는 매체와 설치 파일이 지나다닐 수 있는 매체가 둘 다 인식되었는지 확인해보기 바란다. 

실행(Commit)

실행은 1-4까지의 단계를 모아 한번에 실행한다. 예를 들어 파티션이나 레이블을 변경하였더라도 이 단계를 실행하지 않았다면 저장되지 않은 단계이므로 언제라도 취소가 가능하다. 

설치 후 옵션(Configure)

설치 후 옵션은 설치 과정에서 꼭 필요한 것이 아니라 일반적인 FreeBSD 시스템 관리 도구에 가깝다. 여러분이 네트워크에서 설치하지 않는 경우에는 여러분의 네트워크 설정을 할 수 있고 NFS나 익명 FTP 서버의 설정이 가능하며 초기 시동할 프로그램의 선택, 리눅스나 SCO에뮬레이션 서버의 기동, 시간대 설정, 사용자과 그룹 추가, 콘솔 화면 설정 등이 가능하다. 

또한, XFree86을 설치한 경우 XFree86의 설정이 가능하다. 이외 설치 과정에서 하지 못했던 디스크 파티션이나 레이블, 추가 배포본의 설치가 가능하며 FreeBSD에 여러분의 이름을 등록할 수도 있다. 
설치후 옵션(처음 메뉴에서 Configuration을 선택하면 들어갈 수 있고 설치 과정에서 배포본 설치 후에 이 메뉴로 이동할 것인지를 물어보게 된다)에 대해서 최근의 변경 사항들을 중심으로 몇 가지 알아보기로 하자. 

그림 10. 설치 후 옵션

User Management

여기에서는 사용자 또는 그룹을 등록할 수 있다. 아직 그룹 멤버의 등록은 불가능하므로 Add group을 선택한 후 나오는 Group members에는 아무것도 적으면 안 된다. 사용자 등록 화면에서 주의할 것은 일반 사용자가 아니라 여러분이 관리자와 일반 사용자를 동시에 겸하거나 X윈도에서 xload 등의 특별한 권한이 필요한 경우라면 Member Groups란에 kmem, wheel이라고 하여 kmem과 wheel의 두 그룹에 동시에 속하도록 하는 것이 좋다. kmem 그룹에 속해 있으면 xload를 사용할 수 있고 wheel 그룹에 있으면 su 명령으로 루트가 될 수 있다. 그렇지 않은 사용자는 su 명령으로 루트가 되거나 xload에서 시스템 로드를 보는 것이 불가능함에 유의하자. 

홈 디렉터리와 같은 것을 빈 칸으로 남겨두면 자동적으로 기본 값이 된다. 패키지에서 ko-usersetup 패키지를 설치한 후에 사용자를 추가하면 기본 파일에 유용한 것들이 많이 추가된다. 

그림 11. 사용자 추가

Console

콘솔 메뉴에서는 기본 콘솔의 글꼴, 키맵, 키 반복율, 스크린 세이버 등을 정의할 수 있는데 현재는 콘솔에서 한글을 사용하려면 ko-han 패키지를 사용하는 방법밖에는 없으므로 특별히 독일어 등의 1바이트권 언어를 콘솔에서 보고 싶은 경우가 아니라면 Repeat를 눌러서 키 반복율 정도만 설정하고 넘어가자. 
그림 12. 키 반복을 설정

TimeZone

현재의 시간대를 설정하는 방법이다. 서울의 경우 처음에 NO를 택하고(이는 BIOS시계가 그리니치 표준시로 동작할 때에만 YES라고 답한다), 5 Asia - 21 Korean(Republic of)을 택하면 된다. 다른 나라에 살고 있다면 그 나라에 맞는 설정을 택하기 바란다.
그림 13. 시간대 설정

Mouse

2.2.6부터 새로이 개선된 moused는 지금까지 마우스의 종류에 따라 별도로 마우스를 설정하던 방식을 뛰어넘어 일관된 인터페이스를 제공한다. 이 기능은 콘솔 상에서 마우스를 통한 잘라붙이기 기능을 구현하는 것과 동시에 X윈도에서도 마우스 설정이라는 조금은 귀찮은 작업을 하지 않아도 좋게 만들어 준다. 
Type 메뉴에서는 여러분이 가진 마우스를 선택해 준다. 대부분의 경우 Auto를 선택하면 자동적으로 마우스 종류를 판별해 주며 특수한 마우스를 사용하거나 마우스 종류를 직접 지정하고 싶은 경우에는 목록에서 선택해 주기 바란다. 

Port 메뉴에서는 마우스의 장치명을 선택하는데 COM포트와 버스 마우스, PS/2 중에서 선택이 가능하다. 
Enable과 Disable 메뉴에서는 마우스 데몬을 시동하거나 중지할 수 있다. 아직 버튼은 동작하지 않지만 Enable을 누르고 마우스를 움직여 보면 콘솔 화면에 마우스가 나타날 것이다. 잘 움직이면 성공한 것이다. 한번 이 메뉴를 통해 마우스를 설정하면 X윈도를 설정할 때 마우스를 다시 선택할 필요가 없다. 

그림 14. 마우스 설정

Networking

네트워킹 메뉴는 자주 바뀌는 곳이다. 이전에는 아파치 웹 서버도 이 메뉴에서 설치하고 설정하는 일이 가능하였지만 지금은 웹서버는 삭제되고 익명 FTP서버와 PCNFSD, 라우터 등이 설정 가능하다. 
여러분이 NFS의 서버나 클라이언트가 되고 싶다면 NFS에 대한 항목을, NFS의 자동 마운터(amd)를 설정하고 싶다면 AMD과 AMD Flags 옵션을 사용하기 바란다. 

자동마운터는 NFS를 편리하게 사용할 수 있도록 해 주는데 파일이 필요할 때만 마운트하고 시간이 지나면 자동적으로 마운트를 해제하며 각 서버에 쉽게 접근할 수 있는 등 편리한 기능을 여러 가지 갖고 있는 서버이다. 특이한 것은 router가 이미 선택되어 있는 상태인데, 특별히 현재 FreeBSD머신을 라우터로 쓰고자 하는 용도가 아니라면 선택을 해제하기 바란다. 

router 메뉴를 선택하고 NO라고 적어주면 된다. Ntpdate의 경우, 주변에 네트워크 시간 서버가 있다면 이를 선택해서 컴퓨터의 시간을 자동으로 맞추어주게 할 수 있지만 네트워크에 항시 연결된 컴퓨터에서만 할 수 있다는 단점이 있다. 

그림 15. 네트워크 설정 메뉴
 

Startup

최근 릴리즈에서 도입된 Startup 메뉴는 시스템이 부팅할 때의 초기 서비스를 선택할 수 있는 곳이다. 이외의 화면에서 여러분이 선택하였던 여러 가지 사항들 즉 마우스 데몬이나 네트워크 설정도 이에 포함되며 여기에서는 그 외의 초기 설정을 조절할 수 있다. FreeBSD는 System V 방식의 시스템 초기화 방식을 따르지 않으므로 /etc/rc.d와 같은 디렉터리가 없는데 대신 /etc/rc.conf와 그 주변에서 이런 설정을 모두 해 주어야 한다. 여러 가지 옵션이 있지만 몇 가지만 설명하기로 한다.
그림 16. Startup 옵션 화면

pccard/pccard mem/pccard ifconfig 

노트북 사용자를 위한 선택이다. 하지만 노트북 사용자라면 기본 FreeBSD 배포본의 미약한 지원보다는 PAO를 사용한 설치가 더 쉬울 것이다. PAO에 대한 자세한 내용은 참고 4를 참조할것. 

startup dirs

startup dirs는 시스템 기본 애플리케이션이 아니라 패키지로 설치되는 프로그램이나 사용자 설정의 초기 시작 디렉터리를 지정하는 곳이다. 일반적으로 /usr/local/ etc/rc.d와 /usr/X11R6/etc/rc.d를 지정하는데 그대로 놓아두도록 하자. 
시스템은 부팅할 때 위 디렉터리에 *.sh라는 파일을 찾아 모두 실행하며 /etc/rc.local도 실행한다. 만약 개인적으로 시스템 부팅시에 설정하고 싶은 프로그램이 있다면 위 디렉터리를 활용하도록 하자. 몇몇 패키지는 이 디렉터리에 초기화 스크립트를 놓아두기도 한다. 

named, named flags

인터넷 도메인 이름 서버인 BIND의 설정이다. 자신의 컴퓨터에서 BIND를 운영하는 경우에 시작 여부와 옵션을 설정하도록 하자. 

nis client/server

썬의 네트워크 정보 서비스(NIS)서버와 클라이언트가 될지의 여부이다. 이 옵션을 지정하려면 NIS에 대한 사전 지식이 있어야 한다는 것에 유의하자. 즉 자신의 지역 네트워크에서 NIS를 운영하지 않을 것이라면 설정하지 말아야 한다. 

accounting

프로세스 사용 기록을 남긴다. 

lpd

프린터를 사용할 수 있도록 한다. FreeBSD는 /stand/sysi nstall을 제외하고 별도의 시스템 관리 프로그램을 제공하지 않으므로 프린터 서비스와 같은 경우에는 반드시 관리자가 직접 수동으로 설정해 주어야 한다는 불편이 있다. 

linux, SCO

각각 리눅스 에뮬레이션 모드와 SCO 에뮬레이션 모드(IBCS2)를 처음부터 작동시키기 위해 사용한다. 
초기 설정으로 해 두지 않아도, 각각 /usr/bin/linux와 /usr/bin/ibcs2 명령으로 언제라도 에뮬레이션에 해당하는 커널 모듈을 불러올 수 있다. 나중에 X윈도에서 hanIM, acroread, linux-netscape과 같은 리눅스 에뮬레이션 애플리케이션을 사용하기 위해서는 반드시 설정해 두자. 

quotas

사용자 쿼터를 설정하도록 한다. 물론 실제 사용자에게 쿼터를 얼마나 할당할 것인지는 알고 있어야 한다. 설정 파일은 별도로 작성하도록 한다. 쿼터 설정에 대한 자세한 내용은 핸드북의 10장을 보기 바란다. 

Root Passwd

루트 암호를 설정하기 위한 것이다. 

Distribution, Label, Fdisk

각각 배포본 설치, 레이블 편집기, PC 파티션 편집기이다. 이들은 설치 메뉴에서 볼 수 있는 것들이지만 설치 후의 재설정을 위해 이 메뉴에 들어있다. 

XFree86

XFree86의 GUI방식 설정 프로그램인 XF86Setup이나 이전의 명령행 방식인 xf86config 중 하나를 실행할 수 있다. XF98Setup은 일본 NEC의 IBM-PC 호환기종인 PC98에서 사용하는 것으로 우리는 사용하지 않아도 된다. XF86Setup을 수행하기 위해서는 반드시 VGA16서버를 설치해야 한다. 

Register

FreeBSD 사용자로 등록하자. 이는 여러 가지 이유가 있겠지만 결국 많이 쓰는 OS가 최후의 선택이 되기 때문이다(참고 2 참조). 왜 등록해야 하는지 사용자 등록에 관한 도움말을 통해 알았는가? 그럼 폼을 작성하고 OK를 누르자. 뉴스레터는 무료로 보내준다(사실 FTP에서 다운받으면 된다). 네트워크를 설정한 경우에는 직접 전자우편을 보내며 그렇지 않은 시스템의 경우에는 그 우편이 어디 남아있는지 알려주므로 나중에 네트워크 셋업을 하고 다시 보내도록 하자.
그림 17. FreeBSD 사용자 등록
 

참고 2 FreeBSD 사용자 등록에 관한 도움말(register.hlp)

등록 화면(그림 17)에서 FreeBSD 프로젝트의 사용자 카운터와 통계 데이터베이스에 등록할 수 있습니다. 믿어 주세요, 저도 다른 사람들만큼이나 빈칸 채우기를 싫어합니다. 그리고 등록 형식에 대한 대부분의 사람들의 반응은 다음과 같은 것입니다. “어, 이게 뭐야? 이 사람들이 나에게 쓰레기같은 편지를 보내려 하는데다가 나한테 자기들의 편의를 위해 ‘엄청난’ 어려움을 감수하길 기대하는건가?! 천만의 말씀!” 
이는 그러한 종류의 등록이 아닙니다. 여러분이 이것을 읽기 위해 몇 분만이라도 투자하기를 강력히 권하며 이렇게 간단한 등록 절차가 여러분이나 FreeBSD 모두에게 도움이 될 수 있다는걸 주지하십시오. 
  1. 여러 소프트웨어 공급업체들이 우리와 우리의 운영체계를 인정하기 시작하는데 있어 여러분이 FreeBSD 사용자로서의 긍지를 갖고 인정되는 것은 매우 중요한 일입니다. 다수의 FreeBSD 사용자들이 현재 몹시 원하는 종류의 응용 프로그램(스프레드 시트와 문서 작성기 패키지에서 게임에까지 모든 것)을 이식하는데에 매우 행복을 느끼는 수많은 ISV들 (Indepe ndent Software Vendors, 독립 소프트웨어 공급체)이 있습니다. 물론 그만한 수고의 가치가 있다고 생각한다면 말이죠. ISV들에게 FreeBSD는 수고할만한 가치가 있다고 확신시키기 위한 유일한 방법은 얼마나 많은 사용자가 있는지를 보여주는 것이며 그러기 위해서 우리는 여러분의 등록을 필요로 합니다. 현재 우리는 정확하게 FreeBSD에 얼마나 많은 사용자가 있는지를 알 수 없고 이것은 누군가에게 FreeBSD에 소프트웨어를 이식하도록 하려 할 때 거의 도움이 되지 않습니다.
  2. 우리는 여러분이 요청하지 않는 어떠한 것도 보내지 않을 것입니다. 어떤 사람들은 정말 FreeBSD의 새로운 프로그램의 발표에 관심을 가지고 있거나 보안이나 기타 중요한 조언들이 나오는 즉시 듣길 원하며, 그러한 사람들에게 등록의 부수적 효과로 받는데 관심이 있는 여러 가지 형태의 부가 품목에 대한 선택권을 드렸습니다. 기본적으로 사용자를 어떤 특별한 메일링 리스트에 올리거나(조심스럽게 선별된) FreeBSD 제품 광고자들에게 보내는 메일링 리스트 자료에 사용자들의 이름을 제공하지 않습니다. 이것은 전부 특별히 등록중에 여러분이 요구해야 합니다.
이러한 양식에서 대부분의 빈칸은 별도의 설명이 필요 없습니다. 최소한 우리가 카운터에서 확연한 이중 등록을 방지할 수 있게 하기 위한 전자우편 주소와 함께 성과 이름을 기입하셔야 합니다. 또한 부가적인 통지 서비스들 중에서 하나도 가입하지 않으면 여러분의 주소로 어떠한 편지도 가지 않을 것이며, 그리고 이는 간단한 등록의 경우 단지 ‘John Smith <smith@foo.org>’ 와 ‘John Smith <jsm@bar.com>’을 구분짓기 위해 사용됩니다. 전자 우편 주소를 갖고 있지 않다면 몇몇 종류의 우편 주소를 같은 용도로 씁니다. 

<중략> 

이러한 새로운 등록 서비스에 대한 여러분의 협력에 매우 감사하며, 여러분이 이것을 기입하는데에 단지 5분만 투자함으로써 이제 우리가 유닉스 운영체계의 중요한 일원으로서의 위치를 공고히 한다는 측면에 있어 FreeBSD에 매우 도움이 될만한 자료를 모으는데 도움이 될 것입니다.

 
Yes to All 진행중의 질문에 모두 Yes라고 답하는 것을 가정한다.
FTP username ftp설치를 할 때 익명 FTP가 아닌 경우 지정해야 한다.
Editor 일반적으로 부트 플로피에서는 /usr/bin/ee라는 조금 생소한 편집기를 사용하는데 vi로 바꾸고 싶어하는 사람도 많다. 설치할 때는 바꿀 수 없겠지만 설치한 이후에는 바꿀 수 있다. NFS export 파일 등의 설정 파일 편집에 사용된다.
Release Name 실제로 설치 디스크는 어떤 버전의 FreeBSD라도 설치할 수 있도록 설계되어 있다. 혹시 다른 버전의 설치 디스크만을 갖고 있어도 릴리즈 이름에 설치하고 싶은 이름을 제대로 적어주면 된다. 2.2.7의 경우 2.2.7-RELEASE라고 되어 있다.
Install Root 설치하고자 하는 디렉터리가 /가 아닌 경우에 적어준다.
Browser Package 문서 메뉴에 가면 HTML문서 메뉴를 볼 수 있는데, 여기에서는 FreeBSD 핸드북과 FAQ 그리고 FreeBSD사이트에 접속할 수 있도록 해 준다. 설치 과정에서는 불가능하지만 설치 후에는 이 브라우저 패키지를 설치하고 난 뒤 웹 브라우저 기능을 사용하여 핸드북과 FAQ를 읽을 수 있도록 해 준다.
Browser Exec 브라우저의 실행 파일. 넷스케이프라면 어떻게 될까..?
Gated Package, 
PCNFSD Package
설치시 Gated과 PCNFSD를 사용하겠다고 한 경우에는 이곳에 지정된 패키지를 설치하고 난 뒤 설정을 하게 된다.
표 4 : 옵션메뉴

옵션(Option)

이외에 설치 프로그램 화면 곳곳에서 옵션 메뉴를 볼 수 있는데 이들은 결국 하나의 메뉴이다. 옵션 메뉴에서는 여러 가지를 바꿀 수 있는데 표 4와 같은 것들이다. 자세한 것은 이 화면에서 F1키를 누르면 볼 수 있으며 이중 기억해 두어야 할 옵션은 다음과 같다. 
설치 과정에는 세 가지 메뉴가 있다. 설치 프로그램의 최상위 메뉴인 Novice, Express, Custom이 그것인데 각각은 출력되는 메시지나 진행 방식이 조금씩 다를 뿐 본질적으로 동일하다. 각각의 차이는 표 5와 같다. 
설치 작업이 끝나게 되면 자동적으로 Configure 메뉴로 들어가게 되므로, 기다렸다가 시스템의 설정을 마저 끝내도록 하자. 

설치 프로그램의 그 외의 기능

설치 프로그램에는 몇 가지 재미있는 기능이 있다. 그중 몇 가지를 살펴보자. 

패키지 관리

Configure - Package 메뉴에서는 원하는 패키지를 설치할 수 있는데 이 작업은 FreeBSD에서 기본적으로 제공되지 않는 공개 소프트웨어들을 바이너리 패키지 형태로 설치할 수 있다. 이들은 모두 .tgz 확장자를 가지며 그 종류에 따라 여러 가지 카테고리에 속해 있다. 2.2.7에서의 패키지 카테고리는 표 6과 같다. All은 종류에 관계없이 모든 패키지의 목록을 볼 수 있는 곳이다. 이전보다 종류가 많이 늘었다. 
 
Novice 각 단계에 앞서 친절하게 도움말이 나온다. 처음 설치해 보는 경우에는 반드시 이 도움말과 함께 각 단계의 화면의 도움말(언제라도 도움말을 보려면 F1키를 누르면 된다)을 꼭 읽어보기 바란다.
Express 각 단계를 순서대로 진행하나, 아무 메시지도 출력되지 않는다. FreeBSD를 여러 번 설치해 보아서 이미 익숙하고, 자신의 하드디스크의 구성이나 설치 방법에 대해 확신이 있다면 이 방법을 택하는 것이 여러모로 편할 것이다.
Custom 순서대로 진행하지 않고 각 단계를 메뉴별로 선택하게 한다. 어차피 설치를 하려면 앞 단계부터 순서대로 진행하여야 할 것이다. 좋은 점은 한 단계에서 틀린 것이 있더라도 다시 앞 단계로 돌아갈 수 있다는 것이다.
표 5 : 설치과정 메뉴
한 카테고리에 들어가는 패키지의 수가 늘어날수록 카테고리가 나누어지기 쉽다. 전보다 카테고리의 수가 점점 늘어나고 있는데 이는 패키지 관리자의 정책에 따라 결정된다. 현재는 기존의 카테고리 이외에 언어별로 나누어져 있으며(perl5, python, tcl), 이외 지역화된 프로그램은 모두 해당 언어에 들어가게 된다(korean, japanese, chinese, vietnam, german). FreeBSD의 패키지는 국제화가 상당히 잘 되어 있는 편인데 FreeBSD배포본 내에 패키지로 다양한 국가의 유닉스 프로그램들이 제공되기 때문이다. 

원하는 카테고리를 선택하면 해당 카테고리에 들어있는 프로그램이 나열되는데 한 패키지가 두개 이상의 카테고리에 동시에 속할 수 있으므로 같은 패키지가 다른 카테고리에 여러 번 반복되는 경우가 있다. 
패키지를 추가하려면 해당 패키지로 커서를 이동해서 스페이스를 누르면 되며 이미 설치되어 있는 시스템에서 sysinstall을 실행한 경우에는 이미 설치되어 있는 패키지에 X 표시가 되어 있다. 패키지를 지우려면 지울 패키지로 이동해서 다시 스페이스를 누르면 된다. 주의할 것은 설치시와는 달리 지울 때에는 누르는 즉시 지워지므로 확인 화면이 나오는데 잘 선택해서 실제로 지울지의 여부를 결정하기 바란다. 

설치를 원하는 패키지를 모두 선택하였으면 카테고리 선택 화면으로 돌아와서 Cancel을 누르면 된다. 
OK를 누르면 패키지를 설치한다. 또한 간단한 패키지 검색 기능도 사용할 수 있는데 카테고리 선택 화면에서 ESC를 누르고 검색어를 입력하면 검색된 패키지가 있는 카테고리의 패키지 목록이 표시되므로 유용하게 사용할 수 있다. 
 

archivers 자료를 묶고 푸는 유틸리티
astro 천문학 관련 애플리케이션
audio 오디오 유틸리티 - 대부분 지원하는 사운드카드가 필요
benchmarks 시스템 성능을 측정하는 유틸리티
biology 생물학에 관계된 소프트웨어
cad CAD(Computer Aided Design)유틸리티
chinese 중국 시장을 위해 포팅된 소프트웨어
comms 통신 유틸리티
converters 포맷 변환 유틸리티
databases 데이터베이스 소프트웨어
devel 소프트웨어 개발 유틸리티와 라이브러리
editor 일반 텍스트 편집기
emulator 다른 OS를 흉내내는 유틸리티
misc 여러 가지 재미있는 것들
german 독일어권 국가를 위해 포팅된 소프트웨어
graphics 그래픽 라이브러리와 유틸리티
japanese 일본 시장을 위해 포팅된 소프트웨어
kde K 데스크탑 환경을 위한 소프트웨어
korean 한국 시장을 위해 포팅된 소프트웨어
lang 컴퓨터 언어
mail 전자우편 패키지와 유틸리티
math 수학계산 소프트웨어
mbone mbone을 위한 애플리케이션과 유틸리티
misc 기타 유틸리티
net 네트워킹 유틸리티
news USENET 뉴스 지원 소프트웨어
perl5 PERL5 언어의 유틸리티/모듈
pilot USR Palm Pilot(tm)에 대한 소프트웨어 지원
plan9 plan9 운영체계에서 포팅된 소프트웨어
print 출력에 관계된 유틸리티
offix OFFIX관련 프로그램
python python언어 관련 유틸리티
russian 러시아 시장을 위해 포팅된 소프트웨어
security 시스템 보안 소프트웨어
shells 여러 가지 셸(tcsh, bash 등)
sysutils 여러 가지 시스템 유틸리티
textpro 텍스트 처리/검색 유틸리티
tcl75 TCL 버전 7.5와 관련 패키지
tcl76 TCL 버전 7.6과 관련 패키지
tcl80 TCL 버전 8.0과 관련 패키지
tcl81 TCL 버전 8.1과 관련 패키지
tk41 Tk4.1과 관련 패키지
tk42 Tk4.2와 관련 패키지
tk80 Tk8.0과 관련 패키지
tk81 Tk8.1과 관련 패키지
www WWW관련 유틸리티(브라우저, HTTP 서버 등)
vietnam 베트남 시장을 위해 포팅된 소프트웨어
x11 X윈도 시스템 기반 유틸리티
표 6 : 2.2.7의 패키지 카테고리 

그림 18. 패키지 카테고리 선택 화면
그림 19. 패키지 선택 화면
그림 20. 패키지 삭제 화면
그림 21. 설치할 패키지 목록 선택

Fixit

Fixit에는 세 가지 방법이 있는데 CD롬과 플로피, Shell이 그것이다. Fixit은 말 그대로 큰 고장이 있어서 정상적으로 운영할 수 없는 FreeBSD 시스템을 고칠 때 사용하는데 이때에는 Walnut Creek에서 판매하는 FreeBSD CD롬 세트의 두 번째 CD롬을 넣으면 된다. 이 CD롬은 Live Filesystem이라고 하며 전체 FreeBSD기본 세트를 CD롬 안에 넣은 것이다. Floppy는 CD의 floppies/fixit.flp를 fdimage나 rawrite로 디스켓에 옮긴 것을 말하는데 여기에도 마찬가지로 최소한의 FreeBSD 바이너리들이 들어 있지만 CD롬보다는 다양하지 못하다. Shell은 기본적인 /bin/sh을 띄워 주는데 세 가지 방법 중 가장 기능이 없으므로 별로 쓸만한 것이 못된다. 

업그레이드

기존에 2.2.6이하의 FreeBSD를 사용하고 있던 사람들은 이 옵션을 통해서 시스템을 다시 설치하지 않고 업그레이드가 가능하다. 보통 업그레이드를 하기 위해서는 여러 가지 방법이 있겠지만 이 방법은 크게 지능적이지 않아도 간단하게 시스템을 업그레이드할 수 있는 방법을 제공한다. 업그레이드란 실제적으로는 현재의 버전 위에 새 버전의 구성 요소를 덮어쓰는 작업이며 이전 배포본에 속하던 파일은 지워지지 않는다. /etc 아래의 대부분의 시스템 설정은 보관되며 나중에 사용자가 자신의 시스템에 맞게 다시 되돌려 놓아야 한다. 업그레이드는 다음 순서로 진행된다. 
백업
업그레이드 과정을 실행하기에 앞서 사용자의 홈디렉터리나 중요한 시스템 설정(보통 /etc와 /usr/local/etc에 들어있다)을 백업하기 바란다. 업그레이드시 한순간의 실수는 디스크 전체를 다시 포맷하게 할 수도 있다. 
파일시스템 마운트
디스크레이블 편집기를 수행한다. 관리자는 미리 시스템의 디스크 구조를 알고 있어야 한다. 마운트 지점을 되돌려 놓는 것만으로 충분하며 주의할 것은 기존에 자료가 들어있는 파티션의 경우 절대로 ‘newfs flag’를 지정하지 않는 것이다. 
배포본 선택
보통 설치 때처럼 배포본을 선택한다. 기존에 설치했던 그대로도 좋고 더 설치해도 좋다. 
단 이전보다 적게 배포본을 선택하면 그 부분은 이전 버전 그대로 남는다. 이전 버전의 프로그램을 잘못 실행하면 현재 시스템과 맞지 않을 수 있으므로 될 수 있으면 이미 설치해 놓았던 것과 동일하거나 그 이상으로 설치하기 바란다. 특히 커널 소스와 같은 경우는 변화에 민감하고 업그레이드한 시스템과 맞지 않을 수도 있으므로 반드시 선택해 두었다가 나중에 커널을 다시 컴파일해 보기 바란다. 
설치후
일반적인 배포본 설치와 비슷한 단계가 지나가면 관리자는 백업된 /etc 파일을 중심으로 새 설정 파일을 조사하고, 원래 시스템 설정에 맞게 확인해야 한다. 특히 /etc/rc.conf와 /etc/fstab을 읽어보기 바란다. 
FreeBSD 2.2.5에서 2.2.6으로의 큰 변화중 하나는 바로 루트 파일시스템 문법의 변화인데 만약 2.2.5 이전의 릴리즈에서 2.2.7로 업그레이드하려는 사용자가 있다면 반드시 참고하기 바란다(참고 3 참조). 

이런 변화는 한 디스크 내에 여러 개의 루트 파티션이 있을 때 선택적으로 부팅을 가능하도록 한다. 이전에는 부팅은 반드시 wd0a, sd0a와 같은 호환 조각(compatible slice)에서 되어야 한다는 제한이 있었다. 이는 디스크 하나를 FreeBSD 파티션으로 보고 레이블링을 하던 BSD관습에서 비롯된 것이었으나 다른 OS와 공존하기 위해서는 그리 좋은 제약은 아니었다. 지금까지 쉽게 바뀌지 않았던 것은 루트 파티션을 sd0a와 같은 방식으로만 이해하는 몇몇 프로그램들 때문이었다. 이제는 이 문제가 해결되어 큰 하드디스크가 있다면 두개 이상의 FreeBSD를 설치하여 사용할 수도 있다. 

Load Config

이 기능은 여러대의 컴퓨터를 설치할 때마다 일일이 같은 과정을 반복하는 수고를 덜 수 있도록 만들어진 설정 파일이다. 이 파일에는 텍스트로 다음과 같은 내용을 적게 된다. 

hostname=crate.cdrom.com 
domainname=cdrom.com 
nameserver=204.216.27.3 
defaultrouter=204.216.27.228 
ipaddr=204.216.27.230 
netmask=255.255.255.240 

ftp=ftp://time.cdrom.com/pub 
netDev=ed0 
mediaSetFTP 

dists=bin doc manpages info compat21 des src 
sbase slkm ssys distSetCustom 

...(생략) 

이와 같은 내용을 자신이 설치하려는 시스템에 맞게 적어주고 플로피에 이 파일을 저장한다(보통 install.cfg라고 하면 된다). 

플로피는 MSDOS나 UFS 포맷 어느 것이든 가능하다. 이후에는 위 설정이 모두 반영된 상태이므로 Custom에서 Commit 옵션만 주게 되면 설치를 직접 시작하게 되며 위 설정 그대로 시스템을 설치하게 된다. 
일종의 배치 파일과 비슷한 것이라고 볼 수 있는데 여러대의 FreeBSD시스템을 관리해야 하는 경우 편리하게 사용할 수 있다. 

sysinstall은 문서화가 상당히 잘 되어 있다. 따라서 문서 메뉴(최상위에서 Doc을 선택하면 된다)를 한번씩 읽어보고 설치에 임하도록 하며 어떤 메뉴 화면에서 나타나는 것들의 의미를 잘 모르는 경우에는 한번쯤 F1키를 눌러 도움말을 읽어보기 바란다. 대부분의 경우 그 화면에 맞는 도움말이 나타난다.

 
그림 22. 문서 메뉴
 

참고 3 sysinstall의 업그레이드 도움말

“FreeBSD 2.2.6은 루트 파일시스템이 마운트되는 장치의 이름에 변화를 가져왔습니다. 이 변경은 모든 시스템에 영향을 미치지만 사용자는 업그레이드 설치를 겪는 시스템에만 개입해야 합니다. 
이전에는 루트 파일시스템은 항상 호환 조각에서 마운트되었지만 같은 디스크의 다른 파티션은 해당하는 진짜 조각에서 마운트되었습니다. 예를 들어, /etc/fstab 파일이 다음과 같은 결과를 가져오는 것입니다. 

# Device Mountpoint FStype Options Dump Pass# 
/dev/wd0s2b none swap sw 0 0 
/dev/wd0a / ufs rw 1 1 
/dev/wd0s2f /local0 ufs rw 1 1 
/dev/wd0s2e /usr ufs rw 1 1 

FreeBSD 2.2.6 이상에서 이 형식이 바뀌어 ‘/’에 대한 장치가 다른 것들과 같이 일관성을 유지하도록 되었습니다. 

# Device Mountpoint FStype Options Dump Pass# 
/dev/wd0s2b none swap sw 0 0 
/dev/wd0s2a / ufs rw 1 1 
/dev/wd0s2f /local0 ufs rw 1 1 
/dev/wd0s2e /usr ufs rw 1 1 

/etc/fstab이 이 경우 수동으로 갱신되지 않는다면 시스템은 매번 /가 마운트될 때마다 변경을 해야 한다고 경고 메시지를 내보낼 것입니다(보통 시작 때). 

추가로 루트 파일시스템이 올바르게 마운트 해제가 되지 않는다면 곤란을 겪을 수 있고 이에 따라 루트 파일시스템이 다음 재부팅 때 깨끗하지 않다고 표시될 것입니다. 이 변경은 업그레이드 된 시스템이 성공적으로 재부팅되자마자 해야 합니다.” 

지금까지 FreeBSD의 설치 프로그램인 sysinstall에 대한 여러 가지 사항과 일반적인 설치 절차에 대해 알아보았다. 사실 sysinstall은 약 2년간 FreeBSD의 표준 설치 프로그램으로 사용되어 왔기 때문에 이전부터 FreeBSD를 사용해 본 적 있는 사람들은 버전이 바뀌어도 큰 어려움 없이 사용할 수 있을 것이다. 
버전이 올라갈 때마다 바뀌는 것이라면 가장 큰 것이 도움말 문서인데, 새 버전에 맞는 릴리즈 노트, XFree86정보, 도움말 등이 개선된 기능에 따라 바뀌게 된다. 
 
앞으로 이 프로그램이 어떻게 바뀔 것인지를 살펴보는 것도 재미있는 일이 될 것이다. 
 

참고 4 노트북 사용자를 위한 설치 프로그램, PAO

PAO(http://www.jp.freebsd.org/PAO/)는 노트북 사용자를 위한 FreeBSD의 특화된 설치 프로그램이다. 이 디스크를 사용하면 PC 카드의 인식, 핫-플러그, 기존 FreeBSD커널보다 더 많은 하드웨어의 지원이 가능하다. 또한 일시 중지 기능도 가능하며 기존 커널을 패치하여 PC카드 지원을 향상할 수 있다. 
아직 PAO가 FreeBSD의 안정 버전에 포함될 만큼 안정적이지 못하기 때문에 PAO는 릴리즈가 나온 이후 게이오 대학의 호소카와 다쯔미씨와 여러 사람들이 새로 만들고 있다. 현재의 PAO는 2.2.6릴리즈까지 지원한다. 따라서 노트북에 FreeBSD를 설치하고 최대로 활용하고자 하는 사용자는(기본적인 FreeBSD에도 PC 카드에 대한 지원이 있으나 PAO에 비하면 미미하다) PAO설치 프로그램을 사용해서 FreeBSD를 설치하는 것이 좋겠다. 

2.2.6의 한글 설치 프로그램은 데스크탑 버전과 PAO 버전이 있으므로 굳이 영문버전을 구할 필요 없이 한글 버전을 사용하면 된다. 단 주의할 것은 아직 2.2.7용의 PAO는 없다는 것에 주의하자. 이 글을 독자가 읽을 때쯤이면 첫 번째 베타 정도는 완성되었을지도 모르지만 필자가 이 글을 쓰는 시점에서는 아직 2.2.7용의 PAO는 나오지 않았다. 따라서 2.2.6을 구해서 사용해야 하는데 CD롬을 국내에서 구하기 어려우니 될 수 있으면 FTP를 통한 설치가 좋겠다. 

PC카드를 위한 설치방법은 데스크탑에서 설치하는 것과 별 차이가 없다. 다만 다른 점은 설정 메뉴(Configure)에 PC-카드라는 메뉴가 하나 추가되었다는 것뿐이다. 이 메뉴에서는 다음을 설정한다. 
시스템을 설치한 후 PC-카드 옵션을 선택하면 다음 사항을 차례대로 수행한다. 중요한 시스템 설정 파일 몇 가지를 고치므로 될 수 있으면 시스템을 설치하고 다시 부팅한 후에 /stand/sysinstall을 불러 수행하자. 설치하자마자 수행하게 되면 컴파일 등이 동작하지 않을 것이다. 

/etc 아래의 파일을 교체
/etc 아래에 들어갈 설정 파일 중 몇 가지를 교체한다. 교체된 파일의 원본은 백업본으로 남겨 둔다. 
커널 소스 백업
PAO기능을 위해 릴리즈 커널 소스를 패치하기 위해 기존 소스를 백업한다. 설치 단계에서 꼭 커널 소스를 모두 설치하자. 그렇지 않으면 이 과정 이후가 실패하게 된다. 
커널 소스 패치와 컴파일, 설치
릴리즈 커널 소스에 PAO 패치를 하고 컴파일을 하고 설치한다. 이 작업은 여러분의 컴퓨터 속도에 따라 다르지만 수분 내지 수십분이 걸릴 수 있다. 새로운 커널이 설치되며 이전 커널은 kernel.old라는 이름으로 백업된다. 
랩탑용 바이너리 설치
apm, shutdown, wlconfig, pccardd와 zzz 등의 랩탑용 시스템 바이너리가 설치된다. 바이너리 패키지를 몇 가지 /usr/sbin에 추가하므로 설치를 선택해 주는 것으로 충분하다. 
PC-카드 설정
APM 사용과 PC카드 관리 데몬(pccardd)을 초기에 기동할 것인지 설정한다. 노트북에 따라서는 APM 바이오스가 오동작하는 경우도 있으므로 APM 기능이 FreeBSD에서 잘못 동작한다고 생각되면 사용하지 않도록 해야 한다. 

이제 다시 부팅하면 PC카드 관리 데몬이 동작하여 여러분의 컴퓨터에 있는 PC카드를 자동적으로 인식하고 네트워크 카드인 경우 네트워크 설정을 시도할 것이다. 미리 네트워크 설정을 해 두자. 

PAO는 네트워크 카드, 모뎀, SCSI 컨트롤러, IDE 컨트롤러 등 여러 가지 PC카드 장치를 지원하지만 지원하지 않는 하드웨어도 여럿 있다. 자세한 지원 하드웨어의 목록은 문서 메뉴의 PC-카드를 꼭 읽어보기 바란다. 

2.2.7 릴리즈를 2.2.6의 PAO 플로피로 설치할 수는 있지만 PC-카드 설정 메뉴에서 커널 패치는 제대로 작동하지 않을 것이다. 커널 패치가 실패하면 PAO 기능의 99%는 사용할 수 없으므로 2.2.7에서 PAO를 사용하고 싶다면 PAO버전 플로피가 나올 때까지 기다리자. PAO에 대한 자세한 내용과 새 소식은 일본 FreeBSD 사용자 그룹의 PAO페이지(http://www.jp.freebsd.org/PAO/)에서 볼 수 있다. 일본 사이트이지만 설명은 영어로 되어 있으니 꼭 읽어보자.
 
 

 

FreeBSD 2.2.7 CD의 전체적인 디렉터리 구성

XF86332/ XFree86 3.3.2 패치3+ x-tt 06
bin/ 기본 시스템
cam/ cam패치(설명 참조)
catpages/ 미리 포맷된 텍스트 매뉴얼
compat1x/ 1.x 호환 라이브러리
compat20/ 2.0 호환 라이브러리
compat21/ 2.1 호환 라이브러리
des/ des코드
dict/ 영어사전
doc/ 문서
extra/ 기타 자료
floppies/ 설치용 플로피
games/ 게임
info/ GNU info파일
manpages/ 매뉴얼 페이지
packages/ 패키지
ports/ 포트
proflibs/ 프로파일 라이브러리
src/ 소스
tools/ 도스용 유틸리티(FIPS, presizer등)
setup.exe 도스용 셋업 프로그램
*.TXT 기본 문서(필독 요)

extra와 cam, tools 디렉터리를 제외하고는 모두 설치용 디렉터리이다. extra 디렉터리에는 다음과 같은 것들이 들어 있다. 
 
 

app/jdk FreeBSD용 Java Development Kit 1.1.6
app/oss FreeBSD용 OSS(Open Sound System) 

사운드카드 드라이버 평가버전(5일)

app/blender Blander 3D 디자인 패키지, 데모 버전이다.
doc/handbook-ko 한글 번역 핸드북(미완성)
doc/newsletter FreeBSD 뉴스레터 1호와 2호
xperimnt/coda CODA 분산 파일시스템
xperimnt/picobsd 한장짜리 꼬마 FreeBSD. 설치할 필요도 없다!
i18n-flp/2.2.6-RELEASE 2.2.6용 한글 설치 프로그램
patched-src/2.2.7-RELEASE ko-binpatch패키지의 소스
patched-src/XF332 xtt06의 소스

cam 디렉터리는 FreeBSD CAM 패치인데 CAM패치는 SCSI드라이버의 완전히 새로운 구현 방법이다. 이 패치를 사용하려면 커널 소스 패치가 필요하므로 안의 문서를 잘 읽고 도전해 보기 바란다. 현재는 베타 상태이므로, 특별히 도전해 보고 싶은 사람 이외에는 권장하지 않는다. 

원래 FreeBSD 2.2.7 배포본에 비해 달라진 점

Walnut Creek의 CDROM 배포본과 달라진 점은 다음과 같다. 
korean/ 디렉터리의 재구성
ko-afterstep-1.0pr3h1, ko-fvwm95-2.0.42ah3, ko-hanmutt-0.60h9, ko-hfvwm-2.0.43, ko-hlatexpsfonts-0.95가 삭제되었다. 
ko-hanterm-xf-3.3.1.13은 ko-hanterm-xf15로 업그레이드 
ko-nhppf-1.2는 ko-nhppf-2.1로 업그레이드 
ko-nh2ps-2.1은 ko-nh2ps-2.3으로 업그레이드 
ko-pine-3.96k.2는 ko-pine-3.96k.3으로 업그레이드 
나머지 패키지는 새로 추가된 것이다. 
윈도 매니저의 국제화 버전 추가
x11/fvwm-I18N, x11/fvwm95-I18N, x11/afterstep10-I18N, 
x11/afterstep-I18N, x11/windowmaker 
misc/gettext의 추가로 print/a2ps가 gettext를 사용하도록 변경
shells/bash1과 shells/tcsh의 변경
graphics/gimp1을 재컴파일, 변경
print/teTeX을 재컴파일
많은 패키지를 삭제
삭제 또는 패키지로 만들어지지 않은 패키지의 목록은 CD롬의 pack ages/NO_PKG_LIST를 읽어보기 바란다. 
(주의)
CD의 내용이 기사 이후에 조금 변경될 가능성이 있음을 양해해 주기 바란다.
 

3부. 패키지 활용