강좌
클라우드/리눅스에 관한 강좌입니다.
자격증 분류

리눅스마스터1급 : 커널 컴파일을 위한 커널 옵션 설정

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

리눅스마스터1: 커널 컴파일을 위한 커널 옵션 설정

 

 

 

 

 

커널 컴파일을 위한 커널 옵션 설정 작업은 make 명령어로 커널 컴파일을 수행할 때 컴파일하게 될 항목(요소, 내용)들을 선택하는 것이다.

 

 

 

이에 따라 커널 컴파일을 함에 있어서 생성되는 새로운 커널의 기능과 성능 및 커널의 크기가 이 단계에서 결정된다.

 

 

 

따라서 커널에 어떤 기능과 어떤 모듈들을 가지도록 선택할 것인가를 시스템의 용도와 기능에 맞도록 신중하게 선택할 필요가 있다.

 

 

 

그리고 여기서 각각의 커널 컴파일 옵션들을 선택할 때에 하드웨어적인 지식을 어느 정도 가지고 있어야 한다.

 

 

 

, 커널 컴파일 옵션 선택 작업을 하는 이 단계에서 자기의 시스템 하드웨어에 맞는 올바른 선택을 해야 하기 때문이다.

 

 

 

또한 커널 컴파일 단계에서 가장 신중해야 할 단계이면서도 직접 컴파일을 수행하는 make 작업과 함께 가장 많은 시간을 소비하는 단계이기도 하다.

 

 

 

그만큼 커널 컴파일의 결정적인 단계라고 할 수 있다.

 

 

 

 

 

커널 옵션 설정 방법

 

 

커널 옵션 설정 방법은 크게 텍스트 문답 방식의 방법(make config), 메뉴 형식의 방법(make menuconfig), 확장된 메뉴 형식의 방법(make nconfig), X윈도우 형식(make xconfig 또는 make gconfig) 등의 방법이 존재한다.

 

 

 

그렇지만, 이들 방법들은 모두 다 같은 방법이고, 결국은 /usr/src/linux/.config 라는 파일에 옵션들이 저장된다.

 

 

 

 

텍스트 문답 방식의 방법(make config)

 

 

“make config”는 초기의 컴파일 옵션 설정 방법으로 전통적으로 많이 사용해 왔던 방법이다.

 

 

 

가장 세부적인 설정을 할 수 있는 반면 모든 설정에 대해 일일이 답을 해야 하며 사용중인 서버의 세부적인 하드웨어의 내용을 알고 있어야 정확한 설정이 가능하다.

 

 

 

또한 문답식 설정 방법이므로 설정작업 중간에 잘못된 부분이 있다면 처음부터 다시 해야 하는 단점이 있다.

 

 

 

만약 실수를 했다면 계속 진행하고 마지막에 저장을 한 후 다시 “make config"를 진행하면 저장된 값들이 기본 값으로 되어 있으므로 실수를 한 부분까지 가서 설정을 바꾼 후 계속 진행하면 된다.

 

 

 

 

 

 

 

 

 

# make config

 

 

 

 

 

321b99fa8ee3480b928de5ca587af27b_1686718233_9521.png
 

 

 

메뉴 형식의 방법(make menuconfig)

 

 

두 번째의 메뉴 형식의 방법은 시스템에 ncurses 라이브러리가 설치가 되어 있어야 가능하다.

 

 

 

이 방법은 텍스트 상에서 메뉴 형식으로 키보드의 방향키를 이용하여 해당 항목에 <Enter>를 치면서 선택은 스페이스바를 누름으로서 커널 설정이 가능하다.

 

 

 

1번 방법보다는 매우 진보된 방법이고 실수를 해도 쉽게 수정이 가능하므로 편리하다.

 

 

 

가장 보편적으로 사용되는 방법이라고 볼 수 있다.

 

 

 

 

 

상기한 바와 같이 ncurses 라이브러리는 텍스트 상의 화면 제어를 위해 필요하므로, 실행되지 않으면 다음과 같은 명령으로 설치되어 있는지 확인한다.

 

 

 

 

 

 

 

 

# rpm -qa |grep ncurses

 

 

 

 

 

또는

 

 

 

 

 

# rpm -q ncurses

# rpm -q ncurses-devel

 

 

 

 

 

이것이 설치되어 있지 않으면 make menuconfig 실행시 라이브러리 의존 에러를 낸다.

 

 

 

설치가 되어 있지 않으면 배포판 CD-ROM이나 홈페이지에서 ncurese를 구해 설치할 수 있다.

 

 

 

 

 

 

 

 

 

# rpm -ivh ncurses*

 

 

 

 

 

다음과 같이 “make menuconfig" 명령으로 실행한다.

 

 

 

 

 

 

 

 

 

# make menuconfig

 

 

 

 

 

321b99fa8ee3480b928de5ca587af27b_1686718254_3065.png
 

 

 

확장된 메뉴 형식의 방법(make nconfig)

 

 

“make nconfig” 명령은 메뉴 형식의 방법보다 관리자에게 더 많은 편리성을 제공한다.

 

 

 

특히 <F1>부터 <F9>까지의 펑션키를 활용하여 설명, 정보제공, 저장, 검색 등 여러가지 기능이 추가되었다.

 

 

 

메뉴 형식의 방법처럼 방향키와 스페이스바/엔터 키를 활용하여 설정할 수 있다.

 

 

 

 

 

321b99fa8ee3480b928de5ca587af27b_1686718271_6903.png
 

 

 

 

X윈도우 형식(make xconfig 또는 make gconfig)

 

 

“make xconfig”X 윈도우 모드로 설정할 수 있게 해 주는 방법이다.

 

 

 

이 방법은 GUI 환경이라는 장점이 있지만, X 윈도우가 설치되어 있어야 사용이 가능하다.

 

 

 

그리고 마우스를 사용한다는 점을 제외하면 “make menuconfig”의 방법과 거의 흡사한 방법이다.

 

 

 

이 방법을 사용하려면 X 윈도우 상에서 터미널에서 실행해야 한다.

 

 

 

 

그리고 Tcl/Tk 라는 X 윈도우 그래픽 툴킷 라이브러리가 설치되어 있어야 한다.

 

 

 

이 라이브러리가 없다면 역시 에러를 발생한다.

 

 

 

make xconfig 실행시 에러가 나왔다면 tcl/tk가 설치되어 있는지 확인한다.

 

 

 

 

 

 

 

 

 

# rpm -qa |grep tcl

# rpm -qa |grep tk

 

 

 

 

 

또는

 

 

 

 

 

# rpm -q tcl

# rpm -q tk

 

 

 

 

 

또한 설치가 되어 있지 않으면 배포판 시디나 홈페이지에 가서 다운받은 후 설치한다.

 

 

 

 

 

 

 

 

 

# rpm -ivh tcl*

# rpm -ivh tk*

 

 

 

 

 

다음과 같이 “make xconfig”로 실행한다.

 

 

 

이것은 qt 기반의 프로그램이다.

 

 

 

이에 대해 "make gconfig" 명령을 내리면 gtk를 기반으로 한 프로그램이 실행된다.

 

 

 

그렇지만 이것이 실행되려면 적정한 버전의 qt 또는 gtk의 개발 패키지(qt-dev 또는 gtk-dev)가 시스템에 설치되어 있어야 한다.

 

 

 

따라서 실행이 되지 않는 경우에는 관련 패키지를 설치하면 되겠지만, 만약 관련 패키지를 설치하는 것이 어렵다면 “make menuconfig”를 사용하는 것이 간편하다.

 

 

 

 

 

 

 

 

# make xconfig

 

 

 

 

 

321b99fa8ee3480b928de5ca587af27b_1686718291_3984.png
 

 

 

 

이러한 방법들로 생성된 /usr/src/linux/.config파일을 직접 수정할 수도 있다.

 

 

 

또한 옵션을 선택할 때 어떠한 기능인지 자세하게 알고 싶으면 각각 해당 항목마다 자세한 도움말 기능을 제공하므로 자세한 기능을 알고 싶으면 그때마다 Help를 참조하면 된다.

 

 

 

 

커널 옵션 설

사실 커널 컴파일 옵션 설정은 커널 컴파일 가운데 가장 까다로운 부분이다.

 

 

 

웹사이트의 정보, Help(<F1>) 및 소스 디렉토리 아래의 Document들을 참고하여 설정한다.

 

 

 

 

한편, 리눅스 커널은 시스템 부팅 시에 파일 전체가 RAM에 적재되므로 크기가 클수록 시스템의 리소스를 많이 사용하게 된다.

 

 

 

따라서 리눅스 커널을 필요한 한도에서 최소화하는 것이 시스템 성능을 위해 좋다.

 

 

 

 

특정한 기능을 커널 자체에 포함시키는 것은 모듈 보다 좀 더 좋은 성능을 구현할 수 있으나 잘못된 하드웨어 정보나 자신에게 해당되지 않는 하드웨어를 커널 자체에 포함시키면 커널 패닉을 초래 할 수도 있다.

 

 

 

따라서 대부분의 드라이버 등은 모듈로 선택하는 것이 좋다.

 

 

 

모듈 방식은 해당 기능이 커널 파일에 포함되어 있는 것에 비해 속도가 느리지만, 모듈을 사용하도록 설정한 경우에만 커널 파일과 함께 RAM에 적재되므로 시스템의 최적화를 위해 중요하다.

 

 

 

그러나 자신의 컴퓨터의 하드웨어 드라이버가 아닌 드라이버들이나 아주 불필요한 요소들은 대부분 빼도 좋다.

 

 

 

예를 들어 ISDN, Telepony 등이 그런 것들이다.

 

 

 

한편, 커널 모듈은 별도로 추가 및 삭제가 가능하므로 커널 컴파일이 잘못 되었을 때의 커널 패닉에 대비도 하면서, 다양한 하드웨어를 선택적으로 사용할 수 있는 장점이 있다.

 

 

 

 

커널 컴파일 옵션을 선택하기 전에 주의할 점은 자신의 시스템에 대한 최소한의 환경조사이다.

 

 

 

될 수 있으면 자세하게 알고 있는 것이 좋다.

 

 

 

주로 마더보드의 칩셋, 사운드카드, CPU 타입, 이더넷 카드 종류 등이 이에 해당되는 하드웨어 정보이다.

 

 

 

 

상기한 바와 같이, 모듈로 컴파일 할 것인지 커널 속에 넣을 것인지는 각 장단점이 있으나 일반적인 시스템에 자주 쓰는 기능에 대해서 커널에 포함시키고, 모듈로 컴파일하면 더 유리한 곳에서는 모듈을 선택한다(“make menuconfig”의 경우에는 *M으로 표시).

 

 

 

“make xconfig”를 실행한 경우에 저장은 윗부분의 플로피 디스켓 아이콘을 클릭하면 되고, 설정이 끝난 후에는 File 메뉴의 Quit를 클릭한다.

 

 

 

만약 “make menuconfig”를 실행한 경우에는 “Save Configuration to an Alternate File”에서 설정 내용을 파일로 저장할 수 있고, 종료는 <Exit>를 선택하면 된다.

 

 

 

 

 

다음에 옵션들에 대한 주요한 사항들을 살펴보도록 한다.

 

 

 

 

 

 

 

 

 

 

반복적인 커널 컴파일 작업커널 컴파일 설정을 한 번에 제대로 하고 커널 컴파일을 하는 경우는 드물기 때문에 반복해서 설정을 수정하고 커널 컴파일을 해야 한다.

 

 

 

이 경우에는 .config 파일을 다른 이름으로 저장해 두고 설정을 수정할 때마다 이 파일을 불러들여서 작업하는 방법이 있다(불러들여서 수정한 다음에는 다시 .config 파일로 저장한다). 이 경우에 깨끗하게 커널 컴파일을 하기 위해서는 make mrproper 과정부터 다시 해주는 것이 좋다.

 

 

 

 

make oldconfig커널 컴파일하다가 옵션 설정 이외의 문제가 발생하거나 새로 리눅스를 설치하고 예전의 커널 컴파일 옵션을 그대로 사용할 때에는 make oldconfig 명령을 사용한다.

 

 

 

이 명령은 .config 파일을 읽어들여서 설정으로 적용한다.

 

 

 

 

 

 

 

 

 

 

 

64-bit Kernel

 

시스템이 64비트 기반인 경우에 선택한다.

 

 

 

 

 

General Setup

 

이 부분은 swap, System V IPC, Sysctl 지원, Auditing 지원, hot-pluggable 장치, IRQ 서브 시스템, RAM 디스크 등 일반적인 사항들에 대해서 설정하는 부분이다.

 

 

 

 

Enable Loadable module support

 

Enable loadable module support는 커널이 동적으로 로딩 가능하게 모듈을 사용하게 하는 기능이며 일반적으로 많이 쓰이는 기능이므로 선택한다.

 

 

 

리눅스 커널의 가장 큰 특징은 커널과 모듈의 혼합 형태라는 것이다.

 

 

 

그런데, 어떤 드라이버를 커널에 포함시켰으나 자주 안 쓰일 때도 있을 것이다.

 

 

 

프린터 기능을 예로 들면, 인쇄를 할 때만 그 기능을 쓰게 될 것이다.

 

 

 

이러한 드라이버들은 꼭 커널에 포함시켜 메모리를 낭비할 필요가 없다.

 

 

 

모듈이라는 기능으로 컴파일하여 필요시에만 메모리에 올리고 필요 없을 때는 메모리에서 내리면 편리할 것이다.

 

 

 

이처럼 커널 모듈은 실행하고 있는 커널에 추가하거나 삭제될 수 있는 컴파일 된 작은 코드이다.

 

 

 

모듈의 종류는 디바이스 드라이버, 파일 시스템, 이진 실행가능 코드 양식 등일 수 있다.

 

 

 

*.ko 형태의 파일(원래는 *.o 형태이지만, *.kokernel object를 의미한다)로 존재하며(/lib/modules라는 디렉토리에 생긴다) 이러한 기능을 추가시키려면 이 기능을 선택한다.

 

 

 

이 기능을 선택했으면 모듈을 컴파일하기 위해 커널 컴파일 후 모듈 컴파일 명령 make modules 및 모듈 설치 명령 make modules_install을 잊지 말아야 한다.

 

 

 

몇몇의 하드웨어 드라이버들은 모듈로 컴파일 하는 것이 유리하다.

 

 

 

 

 

Enable the block layer

 

커널에서 블록 레이어 지원을 제거하려면 이것을 사용하지 않는 것으로 체크한다.

 

 

 

이것은 임베디드 장치들에 대해 유용할 수 있다.

 

 

 

만약 이것을 사용하지 않는 것으로 하면, 블록 장치 파일들을 사용할 수 없게 되고, ext3와 같은 어떤 파일 시스템들은 사용이 불가하게 된다.

 

 

 

또한 SCSI 장치와 USB 저장 장치를 사용할 수 없게 된다.

 

 

 

 

 

Processor type and features

 

Processor family, ACPI NUMA detection 등을 설정할 수 있다.

 

 

 

다음은 몇 가지 옵션들의 설명이다.

 

 

 

 

 

Processor familyCPU의 종류를 지정하는 옵션이다.

 

 

 

정확한 CPU를 지정함으로서 각각 CPU에 기능이라던지 버그 수정 등을 최적화하는데 사용된다.

 

 

 

일반적으로 모든 x86계열 CPU에서 작동하는 커널을 만들려면 이 옵션을 386으로 설정하면 된다(배포판 커널은 어느 컴퓨터에 설치될지 모름으로 486이나 386에 선택되어 컴파일 되어 있다). 또한 컴파일 시 CPU 문제로 새로운 커널로 부팅 시 커널 패닉이 발생한다면 안정적으로 386으로 선택하면 된다.

 

 

 

하위 CPU에서 상위 CPU로 선택하였으면 반드시 동작된다고 보장 못한다.

 

 

 

그 반대의 경우엔 대체로 잘 된다(예를 들어 386으로 컴파일 된 커널을 상위 펜티엄 시스템에서 사용하는 것). 자신이 CPU 종류를 잘 모르면 “# cat /proc/cpuinfo” 명령을 사용하면 자세히 나온다.

 

 

 

 

Toshiba Laptop support : 도시바 노트북인 시스템에서만 선택한다.

 

 

 

도시바 랩탑을 쓰고 있다면 이 옵션을 선택하면 바이오스 설정과 절전 옵션 등 Toshiba 랩탑을 위한 시스템 관리 모드를 사용할 수 있다.

 

 

 

CPU microcode loading support : Intel IA32 CPU microcode support - Pentium Pro, Pentium II, Pentium III, Pentium 4, Xeon과 같은 IA32 계열 Intel 프로세서의 마이크로코드와 AMD0x10과 그 이후의 제품들에 대해 지원을 위해 업데이트할 수 있는 기능이다.

 

 

 

/dev/cpu/*/msr - Model-specific register support : 특권이 있는 프로세스들에게 x86 Model-Specific Registers (MSRs)을 지원하는 기능이다.

 

 

 

시스템이 CPU가 두 개 이상인 멀티프로세서 시스템이고 이 기능을 사용하는 프로그램이 있다면 선택한다.

 

 

 

MSR은 멀티프로세서 상에서 직접적으로 특별한 CPU에 접근한다

/dev/cpu/*/cpuid - CPU information support : x86 CPUID instruction을 실행하기 위해 특정한 프로세서에서 프로세스들이 접근 할 수 있게 기능을 지원한다.

 

 

 

 

MTRR(Memory Type Range Register) support : 이 기능은 인텔 Pentium II, Pentium Pro, AMD K6, K7 시스템의 PCIAGP 버스 비디오 카드를 사용하는데 유용한 기능이며 이미지를 2.5배 이상 빨리 쓸 수 있도록 한다.

 

 

 

DivxDVD 등의 압축률이 높은 동영상을 리눅스 시스템에서 감상하려면 이 옵션은 필수적이다.

 

 

 

MTRR이 없더라도 이 기능을 켜두는 것이 이미지 처리 성능 향상에 좋으므로 선택을 권장한다.

 

 

 

 

Symmetric Multi-processing Support : 두 개 이상의 프로세서(CPU)를 사용하는 멀티프로세싱 시스템을 위한 설정이다 CPU 각각에 대한 정보는 “# cat /proc/cpuinfo” 명령이나 X 윈도우용 유틸리티로 볼 수 있다.

 

 

 

SMP를 사용하기 위해서는 Enhanced Real Time Colck Support 항목도 선택을 해야하며, Advanced Power Management 항목은 선택하지 않아야 한다.

 

 

 

그러나 하나의 CPU를 가진 시스템에서 이 기능을 사용하면 제대로 동작하지 않거나 오히려 시스템이 느려질 수 있다.

 

 

 

따라서 하나의 CPU 라면 선택하지 않는다.

 

 

 

이것을 선택하면 “Local APIC support on uniprocessors” 항목은 자동으로 사용된다.

 

 

 

서버급 시스템이 아닌 대부분의 일반 사용자들은 하나의 CPU를 사용한다.

 

 

 

 

 

Powermanagement ACPI options

 

 

ACPI, CPU Frequency scaling 등에 관한 세부적인 설정을 하는 부분이다.

 

 

 

노트북을 사용하는 경우에는 ACPI 설정을 해야 한다.

 

 

 

 

 

BUS options(PCI etc)

 

PCI, PCMCIA/CardBus, PCI Hotplug 등에 관한 지원 여부 및 세부 설정을 할 수 있다.

 

 

 

 

Excutable file formats

 

커널이 실행 가능한 바이너리 파일들의 형식으로 ELF, a.out ECOFF, MISC 등을 지원할 것인지와 IA32 에뮬레이션을 지원할 것인지를 결정한다.

 

 

 

 

 

Networking support

 

일반적으로 많이 쓰이는 일부에 대한 설명이다.

 

 

 

대부분의 기능은 쓰이지 않을 것이라고 생각된다.

 

 

 

 

 

Packet Socket : 매개 네트워크 프로토콜 없이 직접적으로 네트워크 장치와 통신하는 어플리케이션에서 사용된다.

 

 

 

예를 들면, tcpdump 같은 것에서 사용된다.

 

 

 

이 기능이 필요하다면 선택한다.

 

 

 

 

Packet socket : mmapped IO : 패킷 프로토콜 드라이버는 IO 메커니즘을 사용하여 더 빠른 통신을 한다.

 

 

 

Network packet filtering framework(Netfilter) : 이전 커널에서 방화벽 또는 매스커레이딩'이란 이름으로 불리던 옵션들의 새롭게 추가되고 교체된 기능이다.

 

 

 

리눅스 박스를 지나가는 네트워크 패킷을 커널 수준에서 걸러내기(filtering) 및 조각내기(mangling)를 위한 네트워크 필터링 기능이다.

 

 

 

패킷 필터링의 일반적인 사용은 리눅스 시스템을 방화벽으로 만들어 외부 인터넷으로부터 지역 네트워크를 보호하는 것이다.

 

 

 

방화벽으로 쓰일 때 이 기능을 패킷 필터라 부르며 사적인 네트워크 패킷을 형태(type), 근원(source), 목적지(destination) 등을 기초로 거절할 수 있다.

 

 

 

방화벽의 또 다른 형태는 프록시 기반(proxy-based one)으로도 구축한다.

 

 

 

그러나 프록시 서버 설정은 까다로운 문제이다.

 

 

 

프록시는 네트워크 트래픽을 훨씬 더 자세하게 살펴보며 프록시 기반 방화벽은 대개 로컬 클라이언트에서 실행중인 프로그램을 바꿀 것을 요구한다(예를 들어 인터넷 브라우저의 프록시 서버 설정 등에 대한 내용). 프록시 기반 방화벽은 커널에서 지원하는 기능이 아니지만 자주 패킷 필터와 조합해서 쓰이므로 이 옵션은 활성화하는 것이 좋다.

 

 

 

이 옵션의 또 다른 기능으로는 요즘 많이 쓰고 있는 IP공유 기능이다.

 

 

 

이것은 리눅스 매스커레이드(MASQUERADE)라고 불리며 NAT(Network Address Translation)에 대한 기능이다.

 

 

 

이 기능은 공인 IP 주소가 없는 로컬 네트워크 머신들을 인터넷에 연결할 때 리눅스 시스템을 게이트웨이(gateway)로 만들기 위해 쓰인다.

 

 

 

공인 IP를 가진 리눅스 매스커레이딩 서버는 내부에서 보낸 패킷을 자신이 보낸 것처럼 해서 주고받을 수 있다.

 

 

 

그리고 포트 포워딩이라는 메커니즘을 사용하면 서버들까지도 매스커레이딩을 통해 외부 인터넷에 서비스를 제공할 수 있다.

 

 

 

또 다른 기능으로는 투명한 프록시(transparent proxying)에도 쓰인다.

 

 

 

로컬 네트워크에 물린 머신을 외부 호스트에 연결하려 할 때 리눅스박스가 그 트래픽을 몰래 로컬 서버로 보내서 프록시 서버에 있는 캐시를 보여준다.

 

 

 

이렇게 네트워킹 패킷 필터링 내에는 이전에 매스커레이딩(ipmasqadm)이라 부르던 도구, 패킷 필터링(ipchains), 투명한 프록시(transparent proxying), 포트포워딩 메커니즘(portforwarding, ipfwadm) 등 다양한 모듈들이 있다.

 

 

 

네트워킹 패킷 필터링을 사용하기 위해서 "Fast switching"옵션은 선택하지 않는다.

 

 

 

빠른 스위칭은 넷필터를 우회하기 때문이다.

 

 

 

리눅스 시스템을 라우터나 게이트웨이로 쓰려면 이 기능을 선택하고 이러한 기능이 필요 없다면 선택하지 않는다.

 

 

 

Unix domain sockets : 소켓은 네트워크에 연결하고 접근하기 위한 표준 메커니즘이다.

 

 

 

리눅스 박스가 네트워크에 연결되지 않아도 X 윈도우 시스템이나 syslog 같은 많은 일반적인 프로그램이 소켓을 사용한다.

 

 

 

그러므로 이 기능은 필수적이다.

 

 

 

선택하지 않으면 몇 가지 중요한 서비스들이 제대로 작동하지 않는다.

 

 

 

TCP/IP networking : 인터넷과 이더넷 환경 네트워크에서 사용하는 표준 프로토콜이다.

 

 

 

인터넷뿐만 아니라 여러 가지 응용으로도 쓰인다(예를 들어 X 윈도우만 하더라도 다른 컴퓨터와 연결되어 있지 않더라도 자기 자신을 위해 이것을 쓴다). 그러므로 인터넷의 연결뿐만 아니라 TCP/IP를 쓰는 다른 응용을 위해서 반드시 선택해야 된다.

 

 

 

IP: multicasting : 멀티캐스팅이란 미리 정한 몇몇의 시스템에만 메시지를 보내는 기능이다(broadcast는 일정한 네트워크 안의 모든 장치에게 메시지를 보내는 기능이다). MBONE, 오디오나 비디오 broadcast를 목적으로 구성된 높은 대역의 인터넷에서 사용된다.

 

 

 

이와 같은 프로젝트를 하려면 선택하나 대부분 사용자에게는 필요 없는 기능이다.

 

 

 

IP: advanced router : 리눅스 박스를 주로 라우터 전용으로 사용할 것이라면 선택한다.

 

 

 

라우터는 패킷 경로를 제어하는 것으로 패킷을 어떤 게이트웨이로 보낼 것인지를 결정한다.

 

 

 

라우터가 게이트웨이 역할까지 하는 경우가 많기 때문에 때로는 게이트웨이로 많이 알려져 있다.

 

 

 

이 옵션은 일반적인 라우팅 기능에 필터링 및 보안(예를 들어, IP 속이기 예방) 등 몇 가지 향상된 기능을 지원한다.

 

 

 

IP: kernel level autoconfiguration : 클라이언트 시스템이 부팅할 때 BOOTP 서버로부터 네트워크 설정 정보를 가져오는 기능이다.

 

 

 

디스크가 없이 부트하는 시스템에 쓰인다.

 

 

 

IP: tunneling : 터널링이란 한 프로토콜 안에 다른 프로토콜의 자료를 캡슐화하여 서로 다른 프로토콜 사이에서 전송하는 기능이다.

 

 

 

예를 들어 이것은 모바일 IP(Mobile IP) 환경에서 사용된다.

 

 

 

IP: TCP Syncookes support : TCP/IP의 약점을 이용해 서버에 접속을 할 수 없도록 하는 SYN attack(이 약점을 이용해 TCP/IP hijack 등 공격을 한다)을 막아준다.

 

 

 

이 기능을 사용하면 TCP/IP 스텍에서 SYN cookies라고 불리는 암호화된 프로토콜을 사용하므로 컴퓨터가 공격을 받고 있더라도 합법적인 사용자가 계속해서 접속할 수 있도록 한다.

 

 

 

The IPv6 protocol : Internet Protocol의 다음 버전(IP version 6)에 대한 지원이다.

 

 

 

아직 실험적이다.

 

 

 

IPv6128비트의 주소 공간을 더욱더 늘린 것으로 향후 인터넷 주소 고갈 문제를 해결할 것이다.

 

 

 

IPv6는 중간 연결방법 없이 현재 버전 IPv4와 호환이 가능하다.

 

 

 

아직은 쓰이지 않으므로 선택하지 않는다.

 

 

 

Asynchronous Transfer Mode(ATM) : ATMLAN WAN(Wide Area Net- works)에서 쓰이는 고속 네트워킹 기술이다.

 

 

 

ATM은 고정된 패킷 크기를 사용하며 연결 지향 및 더 작은 대역폭을 사용하도록 협상할 수 있다.

 

 

 

ATM을 사용하려면 리눅스 시스템에 ATM 카드가 필요하다.

 

 

 

또한 ATM에 맞는 드라이버도 선택한다.

 

 

 

 

The IPX protocol : Novell 네트워크와 호환성을 위해 필요하다.

 

 

 

리눅스를 노벨 네트웨어 서버 또는 클라이언트로 에뮬레이션하여 사용할 때 필요하다.

 

 

 

 

Appletalk protocol support : Apple에서는 AppleTalk라는 애플 전용의 프로토콜을 사용하는데 리눅스 박스는 매킨토시 컴퓨터에 대한 프린터 및 파일 서버 역할을 해줄 수 있다.

 

 

 

네타토크(Netatalk)라는 프로그램을 사용하여 매킨토시에 대한 서비스 서버를 만들 수 있다.

 

 

 

 

DECnet Support : 디지털 이큐먼트사(현재는 컴팩에 인수됨)에서 만든 DECnet 네트워킹 연결을 위해서 사용된다.

 

 

 

802.1d Ethernet Bridging : 리눅스 박스를 이더넷 브리지로 사용한다.

 

 

 

일반적으로 브리지보다 효율적인 기능을 가진 라우터가 더 많이 쓰인다.

 

 

 

CCITT X.25 Packer Layer(EXPERIMENTAL) : X.25 프로토콜을 쓰는 네트워크에 관련된 내용이다.

 

 

 

잘 쓰이지 않으므로 선택을 하지 않는다.

 

 

 

 

Device Drivers

 

Network device, SCSI, USB, Multimedia, Sound Card, Sony MemoryStick, LED 등의 장치에 대한 설정이다.

 

 

 

 

Network device support부분의 하위 메뉴이다.

 

 

 

 

- Network device support : 이더넷 디바이스와 PPP, SLIP, PLIP 등의 전체적인 네트워크 장치들을 지원한 리눅스 시스템이 네트워크에 연결되려면 반드시 선택해야 되는 항목이다.

 

 

 

- ARCnet Support : ARCnet 칩셋이 있는 네트워크 카드를 가졌다면 선택한다.

 

 

 

ARCnet은 전송률이 낮지만 그 대신 전송 케이블이 훨씬 길어질 수 있어 공장 등에서 사용되기도 한다.

 

 

 

- Dummy net driver Support : 가짜 인터페이스를 만들어 IP를 부여 할 수 있게 하는 기능이다.

 

 

 

IP로 가는 패킷들은 없어지게 된다.

 

 

 

PPPSLIP를 사용한다면 선택한다.

 

 

 

모듈로 컴파일하면 더미 터미널 여럿을 동시에 사용할 수 있기 때문에 모듈로 컴파일 하는 것을 권장한다.

 

 

 

 

- Bonding driver support : 여러 개의 이더넷 채널을 합쳐서 사용하려면 선택한다.

 

 

 

시스코 에서는 이 기능을 Etherchannel이라 부르며 Sun에서는 Trunking 리눅스에서는 Bonding이라 부른다.

 

 

 

다른 컴퓨터에 이더넷 연결을 여러 개 가지고 있다면 이 기능을 이용해서 여러 배 속도를 가진 하나의 장치처럼 작동하도록 만들 수 있다.

 

 

 

시리얼 라인의 EQL 기능과 유사한 기능이나 이 기능은 이더넷에 해당된다.

 

 

 

- EQL(serial line load balancing) support : 시리얼 라인 접속의 일종인(보통 모뎀으로 접속) PPP, SLIP 연결 등의 연결을 하나로 합쳐서 향상된 속도를 가진 하나의 연결로 사용하는 기능이다.

 

 

 

만약 전화선을 두 개를 가지고 있고 모뎀도 두 개라면 이 기능을 쓰면 두 배의 속도 향상을 가져올 수 있다.

 

 

 

- Universal TUN/TAP device driver support : TUN/TAP는 사용자 영역의 프로그램들을 위한 패킷 수신과 전달을 한다.

 

 

 

TUN/TAP는 물리적인 매체로부터 패킷을 받는 대신 사용자 영역의 프로그램으로부터 받고 물리적인 매체를 통해 패킷을 보내는 대신 사용자 영역의 프로그램에 그것들을 쓰는 간단한 Point-to-Point나 이더넷 장치로 생각할 수 있다.

 

 

 

- General Instruments Surfboard 1000 : Surfboard 1000 내장 케이블 모뎀 드라이버 지원이므로 없는 시스템은 선택하지 않는다.

 

 

 

- Ethernet (10 or 100 Mbit) : 10/100 Mbit에 해당되는 이더넷 카드(네트워크 인터페이스 카드 또는 LAN 카드를 말함)에 대한 설정이다.

 

 

 

이것을 설정하기 전에 리눅스 시스템에 있는 이더넷 카드의 정확한 모델명을 알아야 한다.

 

 

 

대부분 이더넷 카드는 잘 지원이 되고 있다.

 

 

 

이 항목을 선택하고 하위에 나오는 항목 중 리눅스 시스템에 해당되는 이더넷 카드를 선택한다.

 

 

 

이때 커널 컴파일시 해당되지 않는 이더넷 카드를 선택하면 이 부분에 에러가 발생 할 수 있으므로 될 수 있으면 모듈로 선택하는 것이 좋다.

 

 

 

여기서는 자주 쓰는 이더넷 카드 몇 개에 대해서 설명한다.

 

 

 

 

3COM cards : 가장 유명한 3COM의 어댑터에 대한 장치이다.

 

 

 

Other ISA cards : 과거 구형의 ISA 버스에 쓰는 이더넷 카드에 대한 지원이다.

 

 

 

 

EISA, VLB, PCI and on board controllers : 요즘에 가장 많이 쓰이는 PCI 방식의 이더넷 카드이다.

 

 

 

AMD PCnet32, DECchip Tulip, EtherExpressPro/ 100, PCI NE2000, RealTek RTL-8139 등에 해당된다.

 

 

 

RealTek RTL- 8029AS 등에 해당되는 모델은 PCI NE2000으로 설정하도록 한다.

 

 

 

- Ethernet(1000 Mbit) : 기가비트 이더넷 장치에 대한 지원이다.

 

 

 

해당되는 장치가 있다면 하위 항목에서 해당되는 적절한 장치를 선택한다.

 

 

 

- FDDI driver support : FDDI(Fiber Distributed Data Interface)는 고속 LAN 디자인이며 고속 이더넷을 대체한다.

 

 

 

FDDI는 구리선이나 광섬유로 연결할 수 있다.

 

 

 

이런 네트워크에 연결되어 있거나 FDDI 장치 드라이버가 필요하면 선택하고 하위 항목에서 해당되는 적절한 장치를 선택한다.

 

 

 

- PLIP(parallel port) support : 이더넷 카드가 없는 시스템에서 병렬 포트를 이용하여 TCP/IP 프로토콜로 두 개의 리눅스 시스템 연결을 지원한다.

 

 

 

PLIP에는 FX 케이블을 통해 4bits씩 전송하는 mode 0 와 특별한 PLIP 케이블을 이용해 8bits 씩 전송하는 mode 1이 있다.

 

 

 

- PPP(point-to-point) support : PPPSLIP보다 향상된 기능을 가진 시리얼 라인(전화선 등) 네트워킹 프로토콜이다.

 

 

 

모뎀 및 ADSL 등을 통해 인터넷에 연결되면 필요하다.

 

 

 

 

- SLIP(serial line) support : PPP 이전에 많이 사용하던 시리얼 라인 네트워크 프로토콜이다.

 

 

 

CSLIP은 압축 SLIP(compressed SLIP)이다.

 

 

 

- Wireless LAN : radio와 무선 랜을 지원한다.

 

 

 

무선 랜 환경이면 하위 항목에서 해당되는 적절한 드라이버를 선택한다.

 

 

 

- Fibre Channel driver support : Fibre Channel은 대용량 저장 장치에 쓰이는 고속 시리얼 프로토콜이다.

 

 

 

이 프로토콜은 SCSI와 호환되며 대체할 수 있다.

 

 

 

Fibre channel 어댑터 카드가 있고 사용하기를 원한다면 SCSI supportSCSI generic support 항목도 선택해야 한다.

 

 

 

- Wan interfaces support : 프레임 릴레이 임대 회선 등과 같은 WAN(Wide Area Networks). 보통 비동기 모뎀 접속 속도보다 훨씬 빠른 데이터 전송률을 이용하여 원거리의 LAN(Local Area Networks)을 상호 연결하는데 사용된다.

 

 

 

일반적으로 WAN에 연결하려면 꽤 고가 장비인 WAN 라우터가 있어야 한다.

 

 

 

하지만 이에 대한 대안으로 리눅스 커널에 WAN 라우팅 기능을 넣을 수 있다.

 

 

 

시중에 판매되는 비교적 저가의 WAN 인터페이스 카드를 이용하면 저렴한 비용으로 리눅스를 이용해 완벽한 WAN 라우터를 만들 수 있다.

 

 

 

이러한 WAN 장치를 가지고 리눅스 시스템을 WAN 라우터로 사용할 것이면 선택한다.

 

 

 

 

SCSI device suppprtSCSI 하드 디스크, 테이프, 드라이브, 시디롬 및 그 밖의 다른 SCSI 장비를 갖고 있다면 선택한다.

 

 

 

SCSI 지원기능을 활성화하려면 반드시 SCSI 호스트 어댑터의 이름을 알고 있어야 한다.

 

 

 

SCSI 컨트롤러가 없더라도 병렬 포트용 100Mb 아이오메가 ZIP 드라이브를 가지고 있거나, CD-R, CD-RW 등을 가지고 있다면 이 옵션을 활성화해야 한다.

 

 

 

만약 리눅스 시스템의 루트 파일 시스템이 SCSI 디스크에 있다면 E-IDE 하드드라이브와 마찬가지로 모듈로 컴파일하면 부팅이 되지 않는다.

 

 

 

SCSI tape, SCSI CD-ROM은 모듈로 선택해도 좋다.

 

 

 

 

- SCSI generic support : SCSI 어댑터로 연결해서 쓰는 CD-Writer, 스캐너, 신디사이저 등의 장치에 쓰인다.

 

 

 

이 기능은 커널에서 바로 지원하지 않으므로 지원하는 특별한 소프트웨어들이 필요하다.

 

 

 

예를 들어, CD-Writercdwritecdrecord등의 소프트웨어를 구해야 한다.

 

 

 

그 밖의 장비들은 SCSI-HOWTOSCSI-Programming-HOWTO 문서를 참조한다.

 

 

 

 

- Probe all LUNs on each SCSI device : CD Jukebox와 같이 하나 이상의 LUN(SCSI 논리장치번호)을 지원하는 SCSI 장치가 장치되어 있는데도 한 개의 LUN만이 인식된다면 이 기능을 선택해서 강제로 SCSI 드라이버가 다수의 LUN을 검색하도록 할 수 있다.

 

 

 

다수의 LUN을 지원하는 SCSI 장치는 논리적으로 다수의 SCSI 장치처럼 동작한다.

 

 

 

대다수의 SCSI장치는 하나의 LUN만을 지원하므로 대부분 이 기능을 선택하지 않아도 되며 선택하지 않는 편이 더 안정적이다.

 

 

 

 

- Verbose SCSI error reporting (kernel size +=12K) : 이 기능을 선택하면 SCSI 하드웨어에 관한 에러 메시지가 자세히 나와서 이해하기가 쉽다.

 

 

 

대신 커널 크기는 약 12K 증가한다.

 

 

 

 

- SCSI logging facility : SCSI에 관련된 debug에 사용할 수 있는 logging 도구를 활성화한다.

 

 

 

/proc filesystem supportSysctl support 항목을 설정하면, echo scsi log token [level] > /proc/scsi/scsi 명령어로 로깅 기능을 활성화할 수 있다.

 

 

 

선택하지 않으면 SCSI에 관련된 문제 가운데 어떤 것들은 추적하기 어려워질 수 있다.

 

 

 

 

- PCMCIA SCSI adapter support : 랩탑에서 사용하는 SCSI 장치에 대한 설정이다.

 

 

 

SCSI 호스트 어댑터로 동작하는 PCMCIACardBus 카드가 있다면 적절한 것들을 설정한다.

 

 

 

 

Character devices : 터미널, 비디오 어댑터, 마우스, 프린터 등 다양한 장치들의 지원에 대한 항목이다.

 

 

 

 

- Legacy (BSD) PTY support : PTY는 소프트웨어로 구동되는 가상 장치이다.

 

 

 

마스터와 슬레이브 두 부분으로 구성되어 있는데 슬레이브는 물리적 터미널과 똑같이 동작하며 터미널을 흉내낸다.

 

 

 

마스터 장치는 슬레이브로부터 데이터를 읽거나 데이터를 쓸 때 사용한다.

 

 

 

전형적인 마스터 프로그램은 telnet 서버나 xterm이다.

 

 

 

리눅스는 BSD 형식을 따라 마스터는 /dev/ptyxx, 슬레이브는 /dev/ttyxx를 사용하였지만 몇 가지 문제가 있어 새로 Unix98 naming 표준을 지원한다.

 

 

 

새로운 표준을 따르면 장치 이름들이 조금 달라지는데, 과거 /dev/ttyp2로 불리던 슬레이브는 /dev/pts/2로 바뀌게 되었다.

 

 

 

/dev/pts/의 파일들은 가상 파일 시스템에 의해서 동작 중 자동적으로 생성된다.

 

 

 

- Parallel printer support : 프린터와 함께 병렬 포트를 사용하는 PLIP, 병렬포트 방식의 아이오메가 ZIP등의 장치를 함께 사용하려면 반드시 모듈로 설정한다.

 

 

 

- Support for console on line printer : 프린터를 콘솔로 삼으면 커널 메시지가 발생할 때 종이 등 매체에 인쇄할 수 있는 기능이다.

 

 

 

 

- /dev/nvram Support : PC에서 CMOS RAM, Atari에서 Non-Volatile RAM 이라 부르는 비휘발성 메모리로 만든 리얼 타임 클럭(RTC) 가운데 50byte를 읽거나 쓸 수 있도록 한다.

 

 

 

하드 디스크에 두기는 위험한 데이터나 전원이 꺼져도 잃어버리면 안 되는 중요한 데이터를 저장하는데 유용하다.

 

 

 

- Enhanced Real Time Clock support : 소프트웨어가 컴퓨터 실시간 시계를 사용할 수 있도록 하는 기능이다.

 

 

 

SMP 기능을 사용한다면 반드시 선택한다.

 

 

 

 

Multimedia support : 웹캠, 비디오 그래픽 장치 및 TV 장치들에 대한 옵션이다.

 

 

 

 

 

USB support보통 많이 쓰이는 USB 방식 입력장치들에 대한 지원이다.

 

 

 

키보드, 마우스, 조이스틱 등이 여기에 해당된다.

 

 

 

EHCI HCD (USB 2.0) support, OHCI HCD support, UHCI HCD (most Intel and VIA) support와 같이 "USB Host Controller Drivers"로 세 가지가 있다.

 

 

 

EHCI HCDUSB 2.0을 지원하고 OHCI HCDUSB 1.1을 지원한다.

 

 

 

만약 Intel이나 VIA를 사용한다면 UHCI HCD를 사용하도록 한다.

 

 

 

만약 USB 키보드, 마우스 또는 조이스틱을 사용하기를 원한다면 HID input layer support 부분에 체크한다.

 

 

 

이때 Input core support 부분에도 체크해야 한다.

 

 

 

UHCI support 항목이나 OHCI support 항목 중 하나를 반드시 선택해야 된다(시스템에 내장되어 있는 USB 하드웨어 방식에 따라 적절한 것을 선택한다).

 

Graphics supportVGA, ATI, INTEL, VIA 등 그래픽 카드에 대한 드라이버와 관련한 설정이다.

 

 

 

 

 

Firmware Drivers

 

BIOS, ISCSI 부트 펌웨어, 구글 펌웨어 드라이버 등에 대한 설정이다.

 

 

 

 

File systems

 

 

리눅스에서 사용 할 수 있는 다양한 파일 시스템에 대한 설정이다.

 

 

 

리눅스는 매우 다양한 파일 시스템을 마운트하여 쓸 수 있다.

 

 

 

읽기, 쓰기를 모두 지원하지만, 일부 파일 시스템에서는 읽기만 가능할 수도 있다.

 

 

 

DANGEROUS 라고 표시된 기능은 선택하지 않는 것이 좋다.

 

 

 

 

Second extended fs support : 리눅스에서 사용하는 리눅스 표준 파일 시스템이었다.

 

 

 

현재는 ext4가 주 표준 파일 시스템이다.

 

 

 

모듈로 설정하도록 한다.

 

 

 

 

Ext3 journalling file system support : ext2 파일 시스템의 저널링 버전이다.

 

 

 

그리고 사실상 표준 파일 시스템이다.

 

 

 

따라서 기본적으로 ext2 파일 시스템으로 마운트해서 사용하는 것이 가능하다.

 

 

 

반드시 커널에 포함하도록 한다.

 

 

 

 

The Extended 4 (ext4) filesystem : ext3 파일 시스템의 다음 버전이다.

 

 

 

그렇지만 ext3와 호환이 되지는 않는다.

 

 

 

Reiserfs support : 저널링(journaling) 파일 시스템인 Reiserfs 대한 지원이다.

 

 

 

ReiserFS를 파일 시스템을 이용하기 위해서는 ReiserFS 파일 시스템 관련 프로그램들은 따로 설치해서 사용해야 하는데, 이 프로그램들은 Asianux에 이미 설치되어 있다.

 

 

 

http://www.namesys.com의 사이트를 참조하도록 한다.

 

 

 

 

XFS fileystem support : SGI IRIX 플렛폼에서 기원한 높은 성능의 저널링 파일 시스템이다.

 

 

 

ext3, Reiserfs와 함께 자주 사용 된다.

 

 

 

이것의 하위 메뉴에서 직접 Quota support를 포함시켜야 한다.

 

 

 

 

Quota Support : 리눅스 시스템을 사용하고 있는 각 사용자들의 디스크 공간을 사용자별로 설정할 때 사용한다.

 

 

 

ext2 파일 시스템에서 동작하며 자세한 설정을 위해서는 quota에 관련된 추가적인 프로그램을 사용해야 된다.

 

 

 

Quota mini-HOWTO를 읽어보면 자세한 설정 방법이 나오며 개인적인 용도의 사용자라면 필요 없는 기능이다.

 

 

 

현재 ext2, ext3, Reiserfs를 지원한다.

 

 

 

Kernel automounter version 4 support : automounter는 요청에 따라 원격 파일 시스템을 커널 수준에서 자동으로 마운트하는 기능이다.

 

 

 

이와 비슷한 BSDamd 보다 매우 적은 리소스를 차지한다.

 

 

 

이 기능을 사용한다면 NFS filesystem support 항목도 선택해야 한다.

 

 

 

 

 

CD-ROM/DVD Filesystems

- ISO9660 cdrom filesystem support : 요즘에 가장 많이 사용되고 있는 표준 시디롬을 위한 파일 시스템이다.

 

 

 

모두 ISO9660 표준으로 포맷된 시디가 많을 것이므로 이 기능 또한 시디롬을 사용한다면 필수적이다.

 

 

 

CD-ROM을 부트 디바이스로 사용한다고 하면 이것은 모듈로 설정하면 안 된다.

 

 

 

- Microsoft Joliet CDROM extensions : Microsoft에서 개발한 유니코드 형식의 긴 파일이름을 지원하는 확장 ISO9660 CDROM 파일 시스템이다.

 

 

 

 

- UDF file system support(read only) : 파일 시스템은 CD-RW, CD-ROMDVD 드라이버에서 사용되는 새로운 파일 시스템이다.

 

 

 

DVD 디스크 또는 패킷 라이팅 포맷으로 기록된 CD-RW 미디어를 (아답텍의 DirectCD와 같이 UDF 유틸리티로 기록을 한 시디) 지원 할 것이라면 이 기능을 선택한다.

 

 

 

아직 읽기 기능만 지원한다.

 

 

 

 

DOS/FAT/NT Filesystems : MSDOS, VFAT, NTFS 등의 파일 시스템을 설정한다.

 

 

 

- MSDOS fs support : FAT 기반의 MS-DOS, VFAT(Windows-95/98/ME) 등 마이크로 소프트 기반의 파일 시스템을 마운트하여 사용할 때 필요하다.

 

 

 

- VFAT (Windows-95) fs support : MSDOS fs support과 둘 중에 하나를 선택해서 사용할 수 있다.

 

 

 

두 개 모두 선택하는 것이 좋다(VFAT를 선택하지 않으면 윈도우즈 파티션에서 긴 파일명을 볼 수가 없다.

 

 

 

DOS 파일형식으로 보인다.

 

 

 

) Windows95/98/ME/XP와 멀티부팅을 하는 시스템에서 Windows 파일 시스템을 마운트하여 읽기 및 쓰기를 원하는 시스템에선 선택한다.

 

 

 

 

- NTFS filesystem support(read only) : Microsoft NTNTFS 파일 시스템에 대한 지원이다.

 

 

 

읽기와 쓰기 모두 가능하다.

 

 

 

Windows 2000/2003 NT와 멀티부팅을 하고 NT 파일 시스템을 마운트하여 읽기 및 쓰기가 필요하면 선택한다.

 

 

 

 

 

Miscellaneous filesystems

- ADFS file system support : ADFS(Advanced Disk File System)Acorn 기반의 Risc PC에 사용되는 파일 시스템이다.

 

 

 

해당되지 않으면 선택하지 않는다.

 

 

 

- Amiga FFS filesystem support : FFS(The Fast File System)은 아미가 OS 버전 1.3 이후로 아미가 시스템의 하드 디스크에서 사용하는 공통적인 파일 시스템이다.

 

 

 

해당되지 않으면 선택하지 않는다.

 

 

 

 

- Apple Macintosh filesystem support(experimental) : 매킨토시 형식으로 포맷된 플로피 디스크와 하드 드라이브 파티션을 읽고 쓸 수 있다.

 

 

 

- EFS file system support (read only) : EFSSGI사의 IRIX OS에서 비표준 ISO-9660 CDROM과 파일 파티션에서 사용되는 오래된 파일 시스템에서 사용하는 파일 시스템이다.

 

 

 

 

 

Psedo filesystem

- /proc filesystem support : 시스템 상태에 대한 정보를 가상 파일 시스템 형태로 제공하는 것이다.

 

 

 

실제 디스크 공간을 점유하지는 않는다.

 

 

 

프로세스 등 시스템 정보를 제공하며 또한 설정도 변경할 수가 있다.

 

 

 

주로 cat 명령으로도 정보를 볼 수 있다.

 

 

 

예를 들어, 인터럽트 정보를 보려고 하면 “# cat /proc/interrupts” 다른 예로 CPU 정보를 보려한다면 “# cat /proc/cpuinfo” 등의 형식으로 사용한다.

 

 

 

 

- Tmpfs Virtual memory file system support (former shm fs) : 공유 메모리를 파일 시스템 형식으로 마운트하여 사용함으로서 효율적이고 빠르게 사용할 수 있도록 한 것이다.

 

 

 

tmpfs 방식으로 기존의 RAM 디스크와 틀린 점은 RAM 디스크는 크기가 고정되어 있는 반면에 tmpfs는 늘었다 줄었다 하는 방식이다.

 

 

 

또한 이 방식은 기존의 RAM 디스크 기능을 대체할 수 있어서 매우 유용한 기능이다.

 

 

 

 

 

Network File SystemsNFS, SMB, CIFS, Coda, NCP 등의 네트워크를 통해 다른 시스템의 파일 시스템들을 지원하기 위한 옵션들이다.

 

 

 

- NFS filesystem support : NFS 파일 시스템 기능 지원이다.

 

 

 

유닉스에서는 NFS라는 표준 네트워크 파일 시스템을 통해 서로의 파일 시스템을 마운트해서 쓴다.

 

 

 

NFSSun에서 개발되었고 현재는 모든 유닉스 계열 OSNFS를 지원한다.

 

 

 

이 기능은 네트워크 상에 다른 유닉스 시스템이 있고 그 유닉스 파일 시스템을 네트워크로 마운트해서 파일을 엑세스하고 싶다면 선택한다.

 

 

 

상대편 시스템은 NFS 서버, 리눅스 박스는 클라이언트가 된다.

 

 

 

NFS 서버를 위해서는 nfsd, mountd, portmap 등이 실행되어야 한다.

 

 

 

또한 /etc/export 파일에서 클라이언트 시스템의 권한을 허용해야 한다.

 

 

 

UNIX NFS는 대개 TCP/IP 프로토콜을 사용하며 서버의 파일 시스템을 자신의 파일 시스템처럼 마운트하여 사용한다.

 

 

 

 

- NFS server support : 커널 기반의 NFS 서비스이다.

 

 

 

사용자 영역의 프로그램의 일종인 nfsd보다 더 빠르지만 불안하다.

 

 

 

- CIFS support (advanced network filesystem, SMBFS successor) : CIFS 프로토콜은 기존의 CIFSSMB 프로토콜과 같이 윈도우즈 운영체제에서 랜을 통해 리눅스 시스템의 파일과 프린터를 공유하기 위해 사용하는 프로토콜이다.

 

 

 

윈도우즈의 네트워크 환경에서처럼 리눅스 시스템을 발견할 수 있고 반대로 위와 같은 클라이언트 시스템의 파일 시스템을 유닉스 디렉토리처럼 마운트할 수 있게 한다.

 

 

 

- NCP filesystem support (to mount NetWare volumes) : NCP(netware core protocol)IPX를 이용한 랜 프로토콜이며 노벨 네트웨어 클라이언트가 NCP를 통해 파일 서버를 접근할 때 사용한다.

 

 

 

노벨 네트웨어 클라이언트를 위한 파일서버로의 기능이 필요 없다면 선택하지 않는다.

 

 

 

- Coda filesystem support (advanced networks fs) : CodaNFS와 유사한 진보된 네트워크 파일 시스템이다.

 

 

 

이 기능을 선택하면 리눅스 박스는 Coda 클라이언트로 동작 할 수 있다.

 

 

 

CodaNFS 보다 많은 이점이 있다(비접속 운영, 캐시, 보안과 인증 등).

 

Native Language Support 다른 파일 시스템을 마운트 할 때 파일 시스템은 고유 언어 문자셋으로 파일이름을 다룰 수 있다.

 

 

 

마이크로소프트 FAT 파일 시스템은 각 언어 고유 문자 체계를 다룰 수 있다.

 

 

 

이 문자 체계는 DOS 코드 페이지 부분에 저장되어 있다.

 

 

 

DOS/Windows 파티션에 있는 파일을 안전하게 읽거나 쓰려면, 알맞은 코드 페이지를 포함해야 한다.

 

 

 

또한, 마이크로소프트 FAT 파일 시스템이나 혹은 JOLIET 형식의 CDROM에 들어 있는 고유 언어 문자들로 된 파일 이름을 화면에서 제대로 보려면 알맞은 입출력 문자체들이 필요하다.

 

 

 

대부분 한글 Windows 95/98/ME/XP/ 2000/2003에서 한글로 된 파일명에 ??????로 나오는 경우는 아래와 같은 부분을 지정한다.

 

 

 

 

 

 

 

 

Korean charset (CP949, EUC-KR)

 

 

 

 

 

파일 시스템을 마운트할 때 사용될 기본 NLS(고유문자체계:Native Language character Set)를 지정한다.

 

 

 

Codepage 437(United States, Canada), Codepage 949(UnifiedHangul)는 필수적으로 선택한다.

 

 

 

위 부분은 한글 코드에 대한 페이지이므로 한글로된 파일명을 정확하게 읽으려면 선택해야 된다.

 

 

 

 

기본 옵션은 utf8로 되어 있는데, 근래에는 한글을 사용할 때에 utf8을 사용하는 경우도 있다.

 

 

 

 

 

 

 

 

 

Default NLS Option: utf8

 

 

 

 

 

다음과 같은 NLS UTF8 부분을 포함시킨다.

 

 

 

 

 

 

 

 

 

NLS UTF8

 

 

 

 

 

 

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,150 명
  • 현재 강좌수 :  36,432 개
  • 현재 접속자 :  317 명