다음 부분에서는 Red Hat Enterprise Linux 설치 프로그램인 Anaconda를 부팅하는 과정을 다루고 있습니다.
첫번째 CD-ROM은 부팅 가능하며 설치를 시작하는데 사용될 수 있습니다. CD-ROM 기반 설치를 사용할 수 없는 경우 (예, 네트워크를 통하여 Red Hat Enterprise Linux 3를 설치하시려면), 첫번째 CD-ROM에서 images/ 디렉토리에 포함된 CD-ROM 이미지 파일인 boot.iso 파일을 사용하시면 됩니다.
다음 부분에서는 Red Hat Enterprise Linux 설치 프로그램인 Anaconda 관련 사항에 대해 다루어 보겠습니다.
Red Hat Enterprise Linux 3에서 CD-ROM 사용 순서가 변경되었습니다. 첫번째 CD-ROM은 설치 프로그램을 부팅할 때 뿐만 아니라 다음 CD-ROM을 마친 후 다시 필요합니다.
Red Hat Linux 설치 프로그램에는 설치 매체의 무결성을 테스트할 수 있는 기능이 내장되어 있으며, CD, 하드 드라이브 ISO와 NFS ISO 설치 방식으로 작동 가능합니다. Red Hat은 설치를 시작하시기 전이나 설치상 문제점을 보고하시기 전에 모든 설치 매체를 미리 테스트해 보시기를 권장합니다 (지금까지 보고된 대부분의 문제점은 실제로 잘못 구워진 설치 CD로 인해 발생되었습니다). 설치 매체를 테스트하시려면, boot: 프롬프트에서 linux mediacheck 명령을 입력하시면 됩니다.
Red Hat Enterprise Linux 3는 이제 Logical Volume Management (LVM)를 지원합니다. LVM은 디스크 공간을 한개 이상의 논리 볼륨에 할당하여, 손쉽게 크기 재조정이 가능한 파일 시스템을 구현하는데 사용되는 수단입니다.
직렬 터미널을 사용하는 텍스트 모드 설치는 UTF-8을 지원하는 터미널에서 가장 잘 작동합니다. UNIX와 리눅스 시스템에서, Kermit은 UTF-8을 지원합니다. Windows에서 Kermit '95가 잘 작동합니다. UTF-8을 지원하지 않는 터미널은 설치 과정에서 영어만 사용할 경우 작동할 것입니다. 설치 프로그램에 "utf8" 부팅 옵션을 전달하시면 보다 개선된 직렬 화면 표시가 사용됩니다. 예:
linux console=ttyS0 utf8
Red Hat Enterprise Linux 설치 프로그램에서 방화벽 설정 화면이 보다 간단해졌습니다. 이전 "최상위 수준", "중간 수준", 및 "방화벽을 사용하지 않음" 설정이 보다 간단한 켜고/끄기 형식으로 대체되었습니다. 추가로 기본 방화벽 설정은 연결 상태를 감시(stateful)하고 있기 때문에 보다 더 안전합니다. 새로운 방화벽 설정으로 NIS 인증, NFS, DNS를 사용하는 사용자들은 추가 사용자 설정을 하지 않아도 방화벽을 사용 가능하게 되었습니다 (포트와 프로토콜을 지정한 사용자 설정은 여전히 사용 가능합니다).
알림: 이러한 변경 사항은 보안 수준 설정 도구 (redhat-config-securitylevel)에도 해당됩니다.
VNC를 통한 설치가 이제 지원됩니다. VNC 기반 설치를 시작하시려면 부팅 옵션으로 vnc라고 입력하시면 됩니다. 필요하다면 부팅시 옵션에 "vncpassword=<password>"라고 추가하여 암호를 설정하실 수 있습니다. VNC 화면은 "<host>:1"에 나타날 것입니다. 여기서 <host>는 Red Hat Enterprise Linux가 설치될 시스템의 호스트명이나 IP 주소를 말합니다.
Red Hat Enterprise Linux 설치 프로그램이 청취하고 있는 VNC 클라이언트에 연결을 시작하는 것도 가능합니다. vncconnect 부팅 옵션을 사용하시면 됩니다:
linux vnc vncconnect=<client>[:<port>]
(여기서 <client>는 청취하고 있는 VNC 클라이언트를 실행 중인 시스템의 호스트명이나 IP 주소를 뜻하며, <port>는 VNC 클라이언트가 이러한 유형의 연결에 사용되는 기본 포트인 포트 5500에서 청취하고 있지 않을 경우, 지정 가능한 옵션 포트를 나타냅니다). 다음 예시에서는 표준 포트와 비표준 포트에 부팅 옵션을 지정하는 방법을 보여주고 있습니다:
linux vnc vncconnect=pigdog.example.com
linux vnc vncconnect=pigdog.example.com:27910
청취하고 있는 VNC 클라이언트를 실행할 시스템은 적절한 소프트웨어를 시작시켜 VNC 클라이언트를 청취 모드에서 실행합니다. Red Hat Enterprise Linux 3에 포함된 VNC 클라이언트의 경우 다음 명령을 사용하시면 됩니다:
vncviewer -listen
또한 새로운 킥스타트 지시자가 VNC 기반 설치를 지원하기 위해 추가되었습니다:
vnc [--password <password>] [--connect <host>[:<port>]]
(여기서 --password <password>는 VNC 암호를 지정하는데 사용되는 옵션 매개 변수이며, [--connect <host>[:<port>]]는 청취하고 있는 VNC 클라이언트를 실행하는 시스템의 호스트 (옵션으로 포트)를 지정하는 옵션 매개 변수입니다.)
알림: VNC 관련 부팅 옵션을 지정하시는 경우, 킥스타트 파일에서 상응하는 옵션들이 변경될 것입니다.
다음 부분에서는 입력 방법 사용과 관련된 일반적인 정보를 다루고 있습니다.
입력 방법 기능을 사용하여 워드 프로세싱, 이메일과 채팅 메신저와 같은 일반 응용 프로그램에서 서양어(western)가 아닌 문자를 입력할 수 있습니다. Red Hat Enterprise Linux에는 다음과 같은 언어에 대한 입력 방법을 제공합니다:
중국어 (간체와 번체)
일본어
한국어
다음 항목은 각 언어에 대한 입력 방법 사용법에 대하여 설명하고 있습니다.
중국어 간체
중국어 간체 문자를 입력하시려면 miniChinput 입력 방법을 사용하시면 됩니다. 입력 방법을 사용하시려면 Ctrl-Space을 누르십시오.
miniChinput 입력 방법은 다음 모듈을 지원합니다:
· intelligent pinyin 입력
· gbk pinyin 입력
· shuang pin 입력
· 내부 코드 (gb18030 코드) 입력
설치 과정에서 중국어 간체 지원을 선택하시면 miniChinput 패키지가 기본으로 설치됩니다.
중국어 번체
중국어 번체 문자를 입력하시려면 xcin 입력 방법을 사용하십시오. 이 입력 방법을 사용하시려면 Ctrl-Space 키를 누르시면 됩니다. Shift-Ctrl 이나 Ctrl-Alt-Num 키를 누르시면 입력 모듈을 변경하실 수 있습니다.
xcin 입력 방법은 다음과 같은 모듈을 지원합니다:
· CJ
· Simplex
· Phone
· CantonPing
· Bimsphone
· Bimspinyin
· Array30
· Cantonping (억양 없이)
설치 과정에서 중국어 번체 언어 지원을 선택하시면 xcin 패키지가 기본으로 설치됩니다.
일본어
일본어 문자를 입력하시려면 Canna, FreeWnn 또는 skk 입력 방법을 사용하셔야 합니다. 입력 방법을 사용하시려면 Shift-Space 키를 누르십시오.
지원되는 모듈은 다음과 같습니다:
· romaji
· kana (설정 파일에 따라서 Canna만 지원)
설치 과정에서 일본어 지원을 선택하시면 Canna, FreeWnn, skkinput 패키지가 기본으로 설치됩니다.
한국어
한국어 문자를 입력하시려면 ami 입력 방법을 사용하십시오. 입력 방법을 사용하시려면 Shift-Space 키를 누르시기 바랍니다.
설치 과정에서 한국어 지원을 선택하시면 ami 패키지가 기본으로 설치됩니다.
다음 부분에서는 설치 후 사항들을 다루고 있습니다.
Apache HTTP 서버가 2.2 버전으로 업데이트되었습니다. 업데이트된 패키지는 1.3 버전을 대체하며 httpd으로 이름이 변경되었습니다.
· auth_ldap, mod_put, mod_roaming, mod_auth_any, mod_bandwidth, mod_throttle, mod_dav 모듈이 삭제되었습니다.
· WebDAV 기능이 이제 httpd 패키지에 포함되었습니다.
알림: 기존 설정 파일에 일부 수정이 불가피합니다. 제 3자 Apache 모듈도 업데이트하셔야 합니다. 자세한 정보는 /usr/share/doc/httpd-*/migration.html을 참조하시기 바랍니다.
이제 LPRng 프린터 스풀러가 CUPS로 대체되었으며, CUPS를 설정하시려면 프린터 설정 도구 (redhat-config-printer)를 사용하시길 권장합니다. 이 도구를 시작하기 위해서는, 메뉴에서 메뉴 항목을 선택하시면 됩니다.
보안 수준 설정 도구 (redhat-config-securitylevel)가 간단해졌습니다. 이전 "최상위 수준", "중간 수준", 및 "방화벽을 사용하지 않음" 설정이 보다 간단한 켜고/끄기 형식으로 대체되었습니다. 추가로 기본 방화벽 설정은 연결 상태를 감시(stateful)하고 있기 때문에 보다 더 안전합니다. 새로운 방화벽 설정으로 NIS 인증, NFS, DNS를 사용하는 사용자들은 추가 사용자 설정을 하지 않아도 방화벽을 사용 가능하게 되었습니다 (포트와 프로토콜을 지정한 사용자 설정은 여전히 사용 가능합니다).
알림: 이러한 변경 사항은 Red Hat Enterprise Linux 설치 프로그램에도 해당됩니다.
이제 단순 그래픽 인쇄 대기열 관리 도구인 GNOME Print Manager가 포함되었습니다. 메뉴에서 항목을 선택하시면 도구가 시작됩니다. 추가로 대기 중인 인쇄 작업이 있다면, 패널의 시스템 통지 영역에 아이콘이 나타날 것입니다.
Red Hat Enterprise Linux 3는 setarch 유틸리티를 포함합니다. Setarch는 uname 명령의 출력 결과를 변경할 수 있습니다. 32-비트 응용 프로그램 (uname -m 명령을 사용하여 값을 알 수 있습니다)을 64 비트 환경에서 실행하는 것과 같이 여러 가지 경우에 이 유틸리티가 유용하게 사용됩니다.
setarch 명령 사용 형식은 다음과 같습니다:
setarch <arch> <command>
(여기서 <arch>는 적절한 아키텍쳐 (예, i386)를 나타내며, <command> 부분은 아키텍쳐가 수정될 때 실행할 명령을 나타냅니다.) <command> 명령을 생략할 수도 있습니다. 이 명령이 생략되면 /bin/sh가 실행됩니다)
또한 일부 응용 프로그램 (예, 이전 버전 Java)은 3GB 가상 주소 공간을 사용하도록 작성되었습니다; 3GB 보다 큰 가상 주소 공간을 가진 시스템에서 (예, 64 비트 x86-64 시스템이나 hugemem 커널을 운영하는 32 비트 시스템)에서는 이러한 응용 프로그램이 제대로 작동하지 않을 가능성이 있습니다. setarch 유틸리티는 이러한 응용 프로그램이 제대로 작동할 수 있도록 3GB 가상 주소 공간을 에뮬레이트할 수 있습니다.
setarch -3 java
Red Hat Enterprise Linux 3는 리눅스 용 새로운 POSIX 스레드 구현인, 원시 POSIX 스레드 라이브러리(NPTL)를 포함합니다. 이 라이브러리는 성능을 개선시키고 확장성을 증가시켜 줍니다.
이 스레드 라이브러리는 이전 LinuxThread 구현과 함께 바이너리 호환 가능하도록 설계되었습니다; 그러나, POSIX 표준에서 벗어나는 LinuxThreads 구현에 의존한 응용 프로그램은 고쳐져야 합니다. 주목할 만한 차이점들은 다음과 같습니다:
· 신호 처리 방식이 스레드 당 신호 처리 방식에서 POSIX 프로세스 신호 처리 방식으로 변경되었습니다.
· getpid() 명령은 모든 스레드에서 동일한 값을 돌려줍니다.
· pthread_atfork 명령을 사용하여 등록된 스레드 처리 프로그램은 vfork()가 사용되면 실행되지 않습니다.
· 관리 스레드 없음
만일 응용 프로그램이 NPTL을 사용하여 적절히 작동하지 않는다면, 다음과 같은 환경 변수를 설정하여 이전 LinuxThreads 구현을 사용하여 프로그램을 실행하실 수 있습니다:
LD_ASSUME_KERNEL=<kernel-version>
사용 가능한 버전은 다음과 같습니다:
· 2.4.19 — 플로팅 스택 (floating stacks)를 갖춘 Linuxthreads
errno, h_errno, 및 _res 명령을 사용하는 소프트웨어는 사용되기 이전에 #include 부분에 적절한 헤더 파일을 포함해야 합니다 (errno.h, netdb.h, resolv.h). 그러나 소프트웨어가 고쳐지기 전에 임시 방편으로 LD_ASSUME_KERNEL=2.4.19을 사용하는 방법도 있습니다.
스레드 취소 기능을 사용한 다중 스레드 C++ 프로그램은 LD_ASSUME_KERNEL=2.4.19 환경 변수 설정을 사용하여 LinuxThreads 라이브러리를 사용하도록 설정하셔야 합니다. 그렇지 않으면 스레드 취소 기능이 사용될 경우 (발생한 예외 상황을 발견하지 못했기 때문에) 이 프로그램은 비정상적으로 종료될 가능성이 있습니다.
C 런타임 환경 함수를 사용하도록 새롭게 작성된 C++ 코드는 이러한 취소 기능을 고려하여 작성되었습니다. 다음과 같은 방법을 사용하시면 됩니다:
· 호출 프로그램이 예외 발생 가능성을 인식하도록 C++ 함수에 throw()를 지정하지 않고 코드에 예외 상황을 함께 컴파일하는 방법. 이것은 기본 컴파일 옵션입니다; 컴파일하실 때 -fno-exceptions을 지정하실 필요가 없습니다.
· 취고 가능한 C 런타임 함수를 호출하는 기능으로 들어가기 전에 취소 기능을 완전히 비활성화하는 방법. 다음과 같은 호출을 사용하시면 됩니다:
pthread_setcancelstate (PTHREAD_CANCEL_DISABLE, &oldstate)
C 함수가 호출된 후 다음 호출을 사용하여 취소 기능을 다시 활성화 가능합니다:
pthread_setcancelstate (oldstate, NULL)
알림: 이 시점에서 취소 기능이 실행되었으므로 pthread_setcancelstate()를 호출하는 함수는 예외가 활성화되어 컴파일되어야 하며 예외 발생(throwing exceptions)으로 표시되어야 합니다.
Red Hat Enterprise Linux 3에 다음과 같은 새로운 시스템 메시지가 추가되었습니다:
응용 프로그램 버그: <app-name>(<app-pid>)에서 SIGCHLD는 SIG_IGN으로 설정되었지만 wait()을 호출합니다. ('man 2 wait'을 입력하여 NOTES 섹션을 참조하시기 바랍니다). 문제 해결되었습니다.
이 메시지 (시스템 콘솔이나 시스템 로그 파일에 표시된 메시지)는 응용 프로그램이 자식 프로세스를 처리하는 과정에서 완전하게 표준을 준수하지 않는다는 것을 의미합니다. 이 메시지를 보신다면, 응용 프로그램의 개발자에게 알려주시기 바랍니다.
Red Hat Enterprise Linux 3는 C, C++, Java 용 PIE (Position Independent Executables)를 생성하는 기능을 갖추고 있습니다. 이 기능은 컴파일시에는 -fpic 및 -fPIC과 유사한 -fpie 및 -fPIE GCC 옵션을 사용하고 링크시에는 -pie 옵션을 사용하여 활성화 가능합니다.
fileutils, textutils, sh-utils, 그리고 stat 패키지는 최신 coreutils 패키지로 대체되었습니다.
네트워크 관리 도구 (redhat-config-network)를 포함한 RPM의 이름과 기능이 변경되었습니다. redhat-config-network RPM은 도구의 그래픽 사용자 인터페이스를 포함하는 반면, redhat-config-network-tui에는 도구만 포함됩니다 (텍스트 기반 인터페이스 포함).
XHTML1 — XML로 재구성된 HTML — 에 대한 지원이 개선되었습니다. 지원을 개선하기 위하여 xhtml1-dtd 패키지를 추가하고 시스템 카탈로그에 DTD를 설치하고 libxml2 도구와 xsltproc 도구에 원시 지원을 추가하였습니다.
XML 도구킷은 Relax-NG 검증 지원과 대용량 파일을 스트리밍할 수 있도록 기능 확장되었습니다.
OProfile 시스템 차원의 프로파일러가 Red Hat Enterprise Linux 3에 추가되었습니다. OProfile은 많은 최신 컴퓨터에 내장된 특수 하드웨어를 사용하여, 프로그래머들이 시스템 성능을 분석할 수 있게 해주는 도구입니다. OProfile에 대한 문서 자료는 oprofile 패키지에서 찾으실 수 있습니다; Red Hat Enterprise Linux 3를 설치하신 후, rpm -qd oprofile 명령을 입력하여 사용 가능한 문서 목록을 보실 수 있습니다. 보다 자세한 정보는 OProfile 웹사이트인 http://oprofile.sourceforge.net를 방문해 보시기 바랍니다.
알림: Red Hat Enterprise Linux 3에서 OProfile에 대한 커널 지원은 2.5 개발용 커널의 이전 버전 호환 가능한(backported) 코드에 기반합니다. 따라서 OProfile 문서 자료를 참조하실 때 2.5 버전에 대한 기능은 커널 버전이 2.4이지만, 실제로는 Red Hat Enterprise Linux 커널에 해당한다는 사실을 기억해 주십시오. 이와 마찬가지로, 2.4 커널에만 해당하는 기능들은 Red Hat Enterprise Linux 커널에 적용되지 않습니다.
현재 X 윈도우 시스템에는 두가지 글꼴 하부시스템이 사용되며, 각 글꼴 하부시스템은 다음과 같은 서로 다른 특성을 갖습니다:
· 원래의 (15년 이상된) 하부 시스템은 "핵심 X 글꼴 하부 시스템"이라고 불립니다. 이 하부 시스템에 의해 렌더(render)된 글꼴들은 anti-aliased (경계선을 부드럽게 처리)되지 않았고, X 서버에 의해 처리되며, 다음과 같은 이름을 갖습니다:
-misc-fixed-medium-r-normal--10-100-75-75-c-60-iso8859-1
- 최신 글꼴 하부 시스템은 "fontconfig"로 알려져 있으며, 응용 프로그램이 직접 글꼴 파일을 사용할 수 있도록 해줍니다. Fontconfig는 종종 "Xft" 라이브러리와 함께 사용되며, 이 라이브러리는 응용 프로그램이 fontconfig 글꼴을 antialiasing 기능을 사용하여 화면으로 렌더(render) 해주는 역할을 합니다. Fontconfig는 다음과 같이 보다 기억하기 쉬운 이름을 사용합니다:
Luxi Sans-10
시간이 지나면, fontconfig/Xft는 핵심 X 글꼴 하부 시스템을 대체할 것입니다. 현재 Qt 3 또는 (KDE와 GNOME 응용 프로그램을 포함한) GTK 2 도구킷을 사용하는 응용 프로그램은 fontconfig와 Xft 글꼴 하부 시스템을 사용합니다; 그 외 다른 대부분의 응용 프로그램은 X 글꼴을 사용합니다.
향후 Red Hat은 기본 로컬 글꼴 접근 방식으로서 XFS 글꼴 서버 대신에 fontconfig/Xft만 지원할 가능성도 있습니다.
알림: 앞에서 설명된 글꼴 하부 시스템 사용법에서 한가지 예외가 되는 프로그램이 있습니다. Openoffice.org는 독자적인 글꼴 렌더링 기술을 사용합니다.
Red Hat Enterprise Linux 3 시스템에 새로운 글꼴을 추가하시려면, 새로운 글꼴을 사용할 글꼴 하부시스템의 종류에 따라 필요한 절차가 달라진다는 사실을 기억하셔야 합니다. 핵심 X 글꼴 하부시스템의 경우, 다음과 같은 절차를 따르셔야 합니다:
1. /usr/share/fonts/local/ 디렉토리를 만드셔야 합니다 (이미 존재하지 않는 경우):
mkdir /usr/share/fonts/local/
2. 새로운 글꼴 파일을 /usr/share/fonts/local/로 복사합니다.
3. 다음 명령을 입력하여 글꼴 정보를 업데이트합니다 (책 배치 문제로 다음 명령이 여러 줄로 보일 수도 있습니다. 하지만 각 명령은 한 줄로 입력하셔야 합니다):
ttmkfdir -d /usr/share/fonts/local/ -o /usr/share/fonts/local/fonts.scale
mkfontdir /usr/share/fonts/local/
4. /usr/share/fonts/local/ 디렉토리를 만드셨다면, 이 디렉토리를 X 글꼴 서버 (xfs) 경로에 추가하십시오:
chkfontpath --add /usr/share/fonts/local/
fontconfig 글꼴 하부 시스템에 새로운 글꼴을 추가하는 것은 보다 간단합니다; 새로운 글꼴 파일은 /usr/share/fonts/ 디렉토리에만 복사하시면 됩니다 (개별 사용자는 글꼴 파일을 ~/.fonts/ 디렉토리로 복사함으로서 각자 개인 글꼴 설정을 수정하실 수 있습니다).
새로운 글꼴이 복사된 후, fc-cache을 사용하여 글꼴 정보 캐시를 업데이트 하십시오:
fc-cache <directory>
(여기서 <directory>는 /usr/share/fonts/ 또는 ~/.fonts/ 입니다.)
개별 사용자는 Nautilus에서 fonts:///를 검색하여 새로운 글꼴 파일을 그곳으로 끌어와 복사하는 방법을 사용하여 그래픽 모드에서 글꼴을 설치할 수도 있습니다.
알림: 만일 글꼴 파일명이 ".gz"로 끝이 난다면, 이 파일은 gzip을 사용하여 압축된 파일로서, fontconfig 글꼴 하부 시스템이 그 글꼴을 사용하기에 앞서 (gunzip 명령을 사용하여) 합축 해제하셔야 합니다.
fontconfig/Xft에 기반한 새로운 글꼴 시스템으로 전환함으로서, GTK+ 1.2 응용 프로그램은 글꼴 기본 설정 대화 상자를 통해 만들어진 어떠한 변경 사항에도 영향을 받지 않습니다. 이러한 응용 프로그램에서 ~/.gtkrc.mine 파일에 다음과 같은 줄을 추가하여 글꼴을 설정하실 수 있습니다:
style "user-font" {
fontset = "<font-specification>"
}
widget_class "*" style "user-font"
(여기서 <font-specification> 부분은 "-adobe-helvetica-medium-r-normal--*-120-*-*-*-*-*-*"와 같이 전형적인 X 응용 프로그램에서 사용된 스타일에서 글꼴 지정을 나타냅니다.)
Sendmail 메일 전송 에이전트 (MTA)는 로컬 컴퓨터가 아닌 다른 호스트에서의 네트워크 접속을 허용하지 않도록 기본 설정되어 있습니다. Sendmail을 다른 클라이언트에서 사용될 서버로 설정하시려면, /etc/mail/sendmail.mc 파일에서 DAEMON_OPTIONS 옵션이 네트워크 장치를 청취하도록 변경하십시오. (또는 이 옵션을 dnl 주석 구문자를 사용하여 모두 주석 처리하십시오). 그 후 루트로 로그인 하신 후 다음과 같은 명령을 실행하여 /etc/mail/sendmail.cf 파일을 재생성하시기 바랍니다:
make -C /etc/mail
만일 sendmail-cf 패키지가 설치되어 있지 않으면, 위의 명령이 작동하지 않습니다.
Red Hat Enterprise Linux 3의 기본 FTP 서버는 vsftpd이며 SysV 서비스로 실행됩니다.
fdisk의 파티션 크기를 배율 지정하는 방법이 달라졌습니다.
fdisk 명령은 이제 새로운 디스크 파티션을 생성시 다른 방식으로 크기를 배율 지정합니다. 크기 끝에 붙는 K, M, G는 각각 천, 백만, 천만배의 바이트 수를 각각 나타냅니다. 이렇게 함으로서 디스크 드라이브 제조 회사에서 제공하는 디스크 용량보다 일관되도록 표시할 수 있습니다.
따라서 만일 사용자가 512MB 파티션을 생성하려고 하는 경우 512*1024*1024 (536,870,912) 뒤에 "M"을 붙여 크기를 지정할 수 있습니다. 수백만에 이르는 수를 올림한 다음 (537,000,000) 에 백만으로 나누면 (537) +537M으로 지정할 수 있습니다.
이전 버전의 Red Hat Linux 및 Red Hat Enterprise Linux에서 생성된 실행 파일들과 동적 공유 객체들 (공유 라이브러리로도 알려진 DSO)을 호환성 지원하지만 객체 (.o) 파일은 지원하지 않습니다. 이전 버전에서 만들어진 객체 파일들은 어떠한 시스템 헤더 파일을 포함하지 않고 생성된 경우에만 Red Hat Enterprise Linux 3에서 새로운 실행 파일들과 DSO를 만들 수 있습니다.
이렇게 하지 않으면, 이 파일을 사용할 수 있는 유일한 방법은 객체 파일들을 호환 가능한 버전의 glibc (compat-glibc 패키지 일부)에 링크하셔야 합니다. 새롭게 생성된 객체 파일은 호환성 패키지의 헤더를 사용해야 합니다. 예를 들어 객체 파일을 컴파일하시려면 다음을 컴파일러 명령행의 시작 부분에 추가하시기 바랍니다:
-I/usr/lib/i386-redhat-linux7/include
생성된 실행 파일이나 DSO를 링크하기 위해서 명령행에 다음을 추가하십시오:
-L/usr/lib/i386-redhat-linux7/lib
만일 이전 객체 파일과 최신 시스템 헤더로 컴파일된 객체 파일과 함께 사용한다면 부정적인 결과를 초래할 수 있습니다. 이전 객체 파일을 일반 시스템 라이브러리와 링크한다면 완전히 사용이 불가능한 실행 파일이나 찾기 힘든 버그를 가진 (예, 메모리 손상) 실행 파일이 생성될 가능성이 있습니다.
다음 부분에서는 Red Hat Enterprise Linux 3 커널과 관련된 사항을 다루고 있습니다.
Red Hat Enterprise Linux 3 커널은 새로운 커널 패키징 기술을 사용합니다. 사용 가능한 하드웨어의 너무나 다양하기 때문에, Red Hat이 모든 하드웨어 구성 요소를 완벽하게 지원하는 것은 거의 불가능합니다. 따라서 완전하게 지원되는 하드웨어의 커널 모듈은 표준 kernel 패키지에 남겨두는 반면, 지원되지 않는 새로운 패키지들도 Red Hat Enterprise Linux 3에 포함됩니다.
포함된 각 커널 패키지에는 상응하는 지원되지 않는 커널 패키지가 있습니다. 예를 들어, kernel-smp-2.4.21-3.EL.i686.rpm에 대한 지원되지 않는 커널 패키지는 kernel-smp-unsupported-2.4.21-3.EL.i686.rpm 입니다.
알림: 지원되지 않는 커널 패키지는 Red Hat Enterprise Linux 설치 프로그램에 의해 설치되지 않습니다; 따라서 지원되지 않는 커널 모듈을 사용하시려면, 여러분이 직접 시스템이 사용하는 커널에 상응하는 지원되지 않는 커널 패키지를 설치하셔야 합니다.
적절한 지원되지 않는 커널 패키지를 설치하신 후, 다음 명령을 사용하여 모듈 의존성 트리와 initrd를 업데이트하셔야 합니다:
/sbin/new-kernel-pkg --mkinitrd --depmod --install <kernel-version>
(여기서 <kernel-version>는 설치된 커널의 버전을 나타냅니다.)
지원죄디 않는 패키지에 포함된 드라이버들은 best-effort 기반으로 제공됩니다. 업데이트와 업스트림 수정이 시간이 지나도 적용되지 않으며 완전하게 지원되는 드라이버와 비교하여 동일한 지원을 받지 못할 경우도 있다는 것을 의미합니다. 일부 경우, Red Hat에 지원되지 않는 패키지에 포함된 드라이버에 대한 특별 고객 지원을 요청 가능합니다.
Red Hat Enterprise Linux 3 커널은 보다 정확한 프로세스 타이밍 기능을 제공합니다. 이러한 새로운 프로세스 타이밍 모드는 타임스탬프(timestamp)를 사용하여 정지 시간과 처리 시간의 정확한 타이밍을 제공합니다. 이 기능이 활성화되었을 경우, 일반 감시 도구 (예, top, vmstat, procinfo)와 getrusage 시스템 호출을 사용하여 이러한 정보를 보실 수 있습니다.
타임스탬프를 사용한 프로세스 타이밍 기능을 사용하시려면, 다음 부팅 옵션을 사용하여 시스템을 부팅하셔야 합니다:
process_timing=<value>
여기서 <value>는 다음 중 한개나 그 이상을 의미합니다. 여러 다른 값은 콤마로 구분합니다:
· irq — 타임스탬프를 사용하여 IRQ 인터럽트를 계산
· softirq — 타임스탬프를 사용하여 커널에서 softirq 시간을 계산
· process — 프로세스가 타임스탬프를 사용한 프로세스 타이밍을 스스로 사용할 수 있게 해줌 (모든 프로세스에서 디폴트 값으로 비활성화되어 있습니다)
· all_process — 모든 프로세스에서 타임스탬프를 사용한 프로세스 타이밍 기능을 사용함 (정지 작업도 포함)
· everything — irq,softirq,all_process를 지정하는 것과 동일
만일 process 옵션을 사용하여 시스템을 부팅한다면, 아무런 프로세스도 처음에는 기본값으로 타임스탬프를 사용한 프로세스 타이밍 기능을 사용하지 않습니다. 그러나 프로세스는 prctl() 시스템 호출을 사용하여 자신의 프로세스 타이밍 모드를 결정하고 수정 가능합니다. 프로세스 타이밍 모드를 결정하는 시스템 호출은 다음과 같습니다:
mode = prctl(PR_GET_TIMING, 0, 0, 0, 0);
프로세스 타이밍 모드를 설정하는 시스템 호출은 다음과 같습니다:
status = prctl(PR_SET_TIMING, <mode>, 0, 0, 0)
(여기서 <mode>은 전형적인 프로세스 타이밍 모드를 사용할 경우 PR_TIMING_STATISTICAL이며, 타임스탬프를 사용한 프로세스 타이밍 모드를 사용할 경우 PR_TIMING_TIMESTAMP를 지정하시면 됩니다.) 한개의 프로세스 타이밍 모드를 활성화하시면 다른 모드가 자동으로 비활성화된다는 사실을 염두해 두십시오.
알림: prctl() 시스템 호출은 process 값을 사용하여 시스템을 부팅한 경우에만 사용 가능합니다. 그렇지 않으면, 시스템 호출은 -EINVAL를 출력할 것입니다. all_process 옵션을 사용하여 부팅한 시스템 상에서 타임스탬프를 사용한 프로세스 타이밍 기능을 비활성화 시키려고 한 경우에도 동일한 결과가 출력됩니다.
자식 프로세스의 타이밍 모드는 부모 프로세스에서 이어 받습니다; 그러나 자식 프로세스는 prctl() 시스템 호출을 사용하여 자신의 프로세스 타이밍 모드를 수정할 수 있습니다 (앞서 설명된 조건에 따라 달라집니다).
특정 Mylex SCSI 호스트 버스 어댑터에 사용되는 BusLogic 드라이버는 표준 커널 패키지로 제고오디지만 커널이 VMWare™ 가상 기계 소프트웨어에서 guest 운영 시스템일 경우에만 지원됩니다. 그 이유는 BugLogic 드라이버에서 VMWare는 에뮬레이트된 SCSI 어댑터를 나타내기 때문에 이 환경은 VMWare, Inc에 의해 완전히 테스트되고 지원됩니다. BusLogic 드라이버 공식 리눅스 커널에서 수년간 관리되지 않았고 Red Hat Enterprise Linux 커널에서 광범위한 테스팅을 거치지 않았기 때문에 물리적 SCSI 호스트 어댑터에서는 지원되지 않습니다.
Qlogic ISP1x80/1x160 SCSI 어댑터 용 qla1280 드라이버는 공식 리눅스 커널에서 수년간 관리되지 않았습니다. 따라서 이 드라이버는 비록 Intel x86 아키텍쳐에서 제대로 작동하지만 다른 아키텍쳐에서는 올바르게 작동하지 않습니다. 이러한 이유로 Red Hat은 Intel x86 플랫폼에서 사용되는 qla1280 드라이버만 지원합니다.
netdump 기능이 현재 비활성화되었습니다. 향후 커널 업데이트에서 netdump 기능을 활성화할 경우 netdump 가능한 커널이 설치된 후 netdump 기능을 사용할 수 있도록 netdump 패키지가 포함되었습니다.
IPv6 기능을 제공하기 위해 새로운 커널 지원이 추가되었습니다. 이 지원은 2.6.0-test3의 업스트림 2.6 기반 구현과 일관됩니다.
Red Hat은 이번 Red Hat Enterprise Linux 출시판에는 추가 IPv6 기능 (예, Mobile IP에 사용될 표준 기능)을 포함하지 않을 것이라는 점을 기억해 주십시오; 저희가 추구하고자 하는 목표는 기존 기능에 존재하는 버그를 중심적으로 해결하는 것입니다.
이제 ext3 파일 시스템에서 EA (Extended Attributes)와 ACL (Access Control Lists) 기능을 사용 가능합니다. 또한 NFS에서 ACL 기능을 사용 가능합니다.
Red Hat Enterprise Linux 3는 ext3 파일 시스템에서 EA와 ACL 기능을 지원하는 커널을 포함합니다. 또한 NFS-익스포트된 파일 시스템에서 ACL 관련 작업을 지원할 수 있도록 NFS에 프로토콜 확장이 추가되었습니다.
지역적으로 마운트된 파일 시스템에서 ACL 기능을 사용하기 위해서는, -o acl 마운트 옵션을 사용하여 파일 시스템을 마운트하셔야 합니다. 기본 값으로, NFS 서버는 기본 파일 시스템이 ACL를 지원한다면, ACL을 사용합니다. 이 기능을 비활성화하려면, no_acl export 옵션을 지정하셔야 합니다.
EA는 기본적으로 ACL 지원을 위해 사용됩니다. EA를 따로 사용하시려면, -o user_xattr 마운트 옵션을 사용하여 파일 시스템을 마운트하셔야 합니다.
이 기능에 대한 지원은 여러 패키지로 구성됩니다:
· 커널 — ext3 파일 시스템에서 디스크 상에 EA와 ACL 저장할 수 있는 기능 및 EA와 ACL을 조작하는 시스템 호출 기능을 제공합니다. 결론적으로, 이 커널 패키지는 파일 접근시 ACL 기능을 사용하는 메커니즘을 제공합니다.
· e2fsprogs — fsck가 새로운 기능을 사용하여 파일 시스템을 검사할 수 있도록 새로운 디스크별 확장 속성 포맷에 대한 정보를 포함합니다.
· attr, libattr — 파일에 첨부된 확장 속성을 사용 가능하게 해줍니다
· acl, libacl — 파일들에 ACL 세트를 설정, 수정하고 질의할 수 있는 도구를 제공합니다
· libattr-devel, libacl-devel — acl과 attr 라이브리를 사용하여 프로그램을 개발하는데 필요한 라이브러리와 include 파일.
· star — tar와 pax 포맷 아카이브를 생성하고 여는 압축 도구로서 EA와 ACL를 백업하고 복구하는데 사용됩니다.
알림: star 명령에 사용되는 옵션은 tar 명령 옵션과 완전히 동일하지 않습니다; 따라서, star 메뉴얼 페이지를 먼저 확인하시기 바랍니다.
· samba — 이 배포판에서 Samba는 ACL 기능을 export할 수 있습니다. samba 문서 자료에서 이 설정을 활성화하는 방법에 대한 정보를 찾아보시기 바랍니다.
추가로 coreutils 패키지가 업데이트되었습니다. 따라서 cp 와 mv 명령을 사용하여 파일과 연관된 ACL과 EA를 복사 가능합니다.
ACL을 설정하고 읽는 방법에 대한 보다 많은 정보를 원하신다면, setfacl와 getfacl 맨페이지를 참조하시기 바랍니다. ACL에 대한 일반적인 정보는 acl 맨페이지에서 찾으실 수 있습니다.
알림: 일반 tar 명령과 dump 명령을 사용해서는 ACL과 EA를 백업할 수 없습니다.
이전 시스템과의 호환성:
ACL 또는 EA가 설정되지 않은 ext3 파일 시스템은 이전 커널에서 변경되지 않고 작동하며, 이전 e2fsprogs 유틸리티를 사용하여 검사 가능합니다.
주어진 파일 시스템 상에서 어떠한 파일에라도 EA 또는 ACL이 설정된다면, 그 파일 시스템은 ext_attr 속성을 갖게 됩니다. 이 속성은 다음 명령을 사용하여 보실 수 있습니다:
tune2fs -l <filesystemdevice>
ext_attr 속성을 얻은 파일 시스템은 이전 커널을 사용하여 마운트될 수 있습니다. 그러나 이러한 커널은 설정된 ACL을 실행하지 않습니다.
알림: 이전 버전 파일 시스템 검사 프로그램인 e2fsck는 ext_attr 속셩을 가진 파일 시스템 확인을 거부합니다. 1.22 이전 버전의 e2fsprogs 패키지가 해당됩니다.
Red Hat Enterprise Linux 3 커널은 이제 TCP 상에서 NFS 가능합니다. TCP를 통하여 NFS를 사용하시려면, 클라이언트 시스템 상에 NFS-익스포트된 파일 시스템을 마운팅하실 경우 mount 명령에 "-o tcp" 옵션을 함께 사용하셔야 합니다.
알림: NFS에 사용되는 기본 전송 프로토콜은 아직 UDP 입니다; "-o tcp" 옵션과 함께 mount 명령을 입력하시면 TCP를 사용하여 NFS 익스포트된 파일 시스템을 마운트할 수 있습니다; 그렇지 않으면 UDP가 기본으로 사용됩니다.
이 커널에는 연결된 모든 SCSI 호스트 어댑터에서 새로운 장치를 검색할 수 있는 다음과 같은 명령이 추가되었습니다:
echo "scsi scan-new-devices" > /proc/scsi/scsi
이 커널은 현재 비표준으로 추가된 커널입니다. Red Hat이 공식 리눅스 커널을 개발 조사하는 과정에서 향후 커널에서는 다른 매개 변수를 사용하여 동일한 기능을 제공하거나 동일한 매개 변수의 의미가 달라질 수도 있습니다.
사용자 모드 메모리 잠금에 사용되는 허가 규칙 (permission semantics)이 변경되었습니다.
Red Hat Enterprise Linux 3는 이제 루트가 아닌 사용자도 자신의 RLIMIT_MEMLOCK 자원 범위 내에서 사용자 모드 메모리 잠금 시스템 호출을 사용할 수 있도록 허용합니다. 기본 제한은 프로세스 당 페이지 한 장입니다. 시스템 관리자는 /etc/security/limits.conf 파일을 사용하여 사용자-id, 그룹-id 또는 시스템 전체에 대한 제한을 변경할 수 있습니다. 루트 프로세스는 더 이상 이러한 자원 제한에 영향을 받지 않습니다.
이러한 변경에 영향을 받는 시스템 호출에는 mlock(2), munlock(2), mlockall(2), munlockall(2), shmctl(2)가 있습니다.
( x86-64 )