· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
GentooX86 Handbook_Ko_1-5

1. 젠투 설치파일의 설치

1.1. 스테이지 타르볼 설치

1.1.1. 날자 시간을 올바르게 조정하기

계속 진행하기 전에 날짜/시간을 점검하고 갱신합니다. 설정을 못한 시간은 나중에 괴상한 결과를 유발하게 됩니다!

현재 날짜와 시간을 점검하기 위해 date 명령을 실행합니다.

예제 1-1: 날자/시간 점검
# date
Fri Mar 29 16:21:18 UTC 2005

만약 날짜/시간이 잘못 출력되었다면, MMDDhhmmYYYY(월, 일, 시, 분, 초, 연) 날짜 문법을 이용하여 갱신합니다. 이 단계에서는 UTC시간대를 적용합니다. 나중에 timezone을 설정할 수 있습니다. 예를 들어 2005년 3월 29일, 16:21 로 설정할 경우 다음과 같이 합니다.

예제 1-2 : UTC시간대 기준 날자/시간 조정
# date 032916212005

*** 오자가 있습니다. : '# date 032916212005' 이 아니라 '# date 052916212005'이겠죠.. (03월이 아리라 05월 이 맞다는 뜻임)

--- 예를 들어 2005년 5월 29일

+++ 예를 들어 2005년 3월 29일 : 수정하였습니다. 원본에는 March라고 되어 있는데 워낙 급하게 번역하다보니 숫자를 잘못 넣었네요. 예제는 이상 없습니다. 감사합니다. =)

1.1.2. 선택

다음 단계에서는 시스템에 스테이지 3 타르볼을 설치할 필요가 있습니다. 인터넷으로부터 필요한 타르볼을 받는 선택사항이 있고, 또는 통합 CD나 LiveDVD로 부팅했을 경우 디스크로부터 복사하는 방법이 있습니다. 만약 통합 CD나 LiveDVD를 가지고 있으며 디스크의 스테이지 파일을 쓰기 원한다면, 인터넷으로 부터 받는 것은 디스크에 있는 파일 만큼의 쓸데없는 대역폭 낭비나 다를바가 없습니다. 대부분의 경우에는 uname -m 명령으로 어떤 스테이지 파일을 다운로드 받아야 하는지를 결정하는데 도움 줄 것입니다.

최소 CD 와 LiveCD는 스테이지3 아카이브가 없지만, LiveDVD에는 있습니다.

1.2. 기본: 인터넷의 스테이지 사용하기

1.2.1. 스테이지 타르볼 내려받기

파일 시스템을 마운트한 젠투 마운트지점으로 이동합니다 (대부분 /mnt/gentoo와 같을 것입니다).

예제 2-1 : 젠투 마운트지점로의 이동
# cd /mnt/gentoo

설치 수단에 따라 스테이지를 내려받기 위한 많은 툴들을 가지게 됩니다. 유효한 링크를 찾았다면, 젠투 미러리스트를 검색하여 지역적으로 가까운 미러를 "즉시" 선택할 수 있습니다.

만약 links가 없다면 lynx를 사용할 수 있도록 조치해야 할 것입니다. 프록시를 통해 접근하고자 한다면 http_proxy와 ftp_proxy 변수에 값을 대입해주어야 합니다. (export!)

예제 2-2 : lynx를 위한 프록시 설정
# export http_proxy="http://proxy.server.com:port"
# export ftp_proxy="http://proxy.server.com:port"

이제 우리는 독자 여러분이 links를 가지고 있다고 보겠습니다.

releases/x86/2008.0/ 디렉토리로 이동합니다. 독자 여러분이 소유한 아키텍처에 따른 모든 사용가능한 스테이지 파일을 볼 수 있을 것입니다(그것들은 각각의 서브아키텍처 이름이 부여된 서브디렉토리 안에 존재할 것입니다). 그중 하나를 선택하고 D를 눌러 내려받으십시오. 다 되었을 경우 Q를 눌러 브라우저를 종료합니다.

대부분의 PC 사용자들이라면 stage3-i686-2008.0.tar.bz2 stage3 아카이브를 받을 것입니다. 모든 최신 PC는 i686으로 고려되었습니다. 만약 구형머신을 사용한다면 위키피디아에서 i686호환 프로세서 리스트를 점검해보기 바랍니다. Pentium, K5, K6, Via C3와 같은 구형 프로세서들은 일반 x86 스테이지3을 필요로 합니다. i486 그 이전의 것은 지원하지 않습니다.

예제 2-3 : links로 미러 탐색하기
# links http://www.gentoo.org/main/en/mirrors.xml

(If you need proxy support with links:)
# links -http-proxy proxy.server.com:8080 http://www.gentoo.org/main/en/mirrors.xml

스테이지3 타르볼을 받는 것을 확인해보세요. 스테이지1이나 스테이지2를 이용한 설치는 더이상 지원되지 않습니다.

내려받은 스테이지 타르볼의 무결성을 점검하려면 md5sum를 사용하여 미러상에 제공된 MD5 검사합의 출력을 비교해보시기 바랍니다.

예제 2-4 : 스테이지 타르볼의 무결성 점검
# md5sum -c stage3-i686-2008.0.tar.bz2.DIGESTS
stage3-i686-2008.0.tar.bz2: OK

1.2.2. 스테이지 타르볼 풀기

이제 시스템에 내려받은 스테이지를 풀겠습니다. 우리는 이를 쉽게 진행하기 위해 tar를 사용합니다.

예제 2-5 : 스테이지 풀기
# tar xvjpf stage3-*.tar.bz2

xvjpf 옵션을 사용하였는지 확인해보기 바랍니다. x는 풀기, v는 푸는과정중에 어떤 일이 일어났는가 상세확인, j는 bzip2 압축해제 사용, p는 퍼미션 보존, f는 표준 출력이 아니라 파일로서 압축이 풀리길 원한다는 의미입니다.

이제 스테이지가 설치되었습니다. [http]포티지 설치로 계속 하도록 하겠습니다.

1.3. 포티지 설치

1.3.1. 포티지 스냅샷 풀기

이제 설치 할 수 있는 소프트웨어 타이틀이 무엇인지, 새로운 프로파일이 어떤 것들이 있는지 등을 알려주는 포티지 파일들 모음인 포티지 스냅샷을 설치할 때입니다.

1.3.2. 포티지 스냅샷 내려받고 설치하기

파일 시스템이 마운트된 마운트 지점으로 이동합니다.( /mnt/gentoo ?)

예제 3-1 : 마운트 지점으로 이동
# cd /mnt/gentoo

links (혹은 lynx)를 실행하여 젠투 미러 리스트로 이동합니다. 지역적으로 근접한 미러로 이동한다음 snapshots/ 디렉토리를 엽니다. 그곳에 최신 포티지 스냅샷이 있습니다. (portage-latest.tar.bz2) 선택하고 D를 누르세요.
예제 3-2 : 젠투 미러리스트 조회
# links http://www.gentoo.org/main/en/mirrors.xml

이제 Q를 눌러 브라우저를 빠져나옵니다. 이제 포티지 스냅샷이 /mnt/gentoo에 위치했을 것입니다.

내려받은 스냅샷의 무결성을 검사하려면 md5sum 을 사용해서 미러상에 제공되는 MD5 검사합과 비교해보세요.

예제 3-3 : 포티지 스냅샷의 무결성 검사
# md5sum -c portage-latest.tar.bz2.md5sum
portage-latest.tar.bz2: OK

다음 단계에서 우리는 파일 시스템에 포티지 스냅샷을 추출합니다. 정확한 명령을 확인하세요 대문자 C입니다. 소문자 c가 아니고요.

예제 3-4 : 포티지 스냅샷 추출
# tar xvjf /mnt/gentoo/portage-latest.tar.bz2 -C /mnt/gentoo/usr

1.4. 컴파일 옵션 설정

1.4.1. 소개

젠투를 최적화하기 위해 포티지 기능에 영향을 주는 몇몇 변수들을 설정할 수 있습니다. 이 모든 변수들은 (export를 사용하는)환경 변수로 작용할 수 있지만 영구적인 것은 아닙니다. 이 설정사항을 보존하기 위해 포티지에서는 포티지를 위한 환경 설정파일 /etc/make.conf를 제공합니다. 이것이 우리가 지금부터 편집할 파일입니다.

유의사항: 모든 가능한 변수들의 설명이 붙은 리스트는 /mnt/gentoo/etc/make.conf.example에 있습니다. 성공적인 젠투 설치를 위해서는 아래에 언급한 변수들만 필요할 것입니다.

손에 익은 에디터를 실행하여 (우리는 nano를 사용합니다) 우리가 이후에 언급할 변수들을 최적화 할 수 있습니다.

예제 4-1 : /etc/make.conf
# nano -w /mnt/gentoo/etc/make.conf

대개 언급된 바와 같이 make.conf.example 파일은 시작줄이 #로 주석처리가 되어 있고 다른 줄의 경우 VARIABLE="content" 문법을 사용하여 변수값을 정의했습니다. make.conf 도 같은 문법을 사용합니다. 이들 변수에 대해서는 다음에 언급됩니다.

1.4.2. CHOST

CHOST 변수는 시스템을 위한 대상 빌드 호스트를 언급합니다. 이 변수는 올바른 값으로 설정되어야 합니다. 시스템이 파괴될 수 있으니 변경하지 마십시오! 만약 CHOST 파일이 독자여러분께 올바르게 보이지 않는다면 잘못된 스테이지3 타르볼을 쓰게 될 것입니다.

1.4.3. CFLAGS와 CXXFLAGS

CFLAGS와 CXXFLAGS 변수는 gcc C와 C++컴파일러 각각을 위해 최적화 플래그를 정의하는 변수입니다. 비록 우리가 일반적으로 여기에 동의한다지만 각각의 프로그램에 대해 개별적인 플래그들을 최적화한다면 엄청난 성능 향상을 가져오게 됩니다. 왜냐면 모든 프로그램은 각기 다르기 때문입니다.

make.conf에서 일반적으로 독자여러분의 시스템이 좀 더 빠르게 응답하게 하는 최적화 플래그를 정의할 거입니다. 실험적인 설정 내용을 이 변수에 넣지 마십시오! 과도한 최적화는 프로그램을 잘못되게 (깨지거나 맛이 가거나 제 기능을 못하는) 할 수도 있습니다.

우리는 가능한 모든 최적화 옵션을 설명하지 않을 것입니다. 만약 그 모든것을원한다면 [http]GNU 온라인 메뉴얼이나 gcc info페이지를 읽기바랍니다. (info gcc 는 리눅스 시스템에서만 볼 수 있습니다). make.conf.example 파일 자체만으로도 수많은 예제와 정보가 있습니다. 이걸 보는걸 잊지 마십시오!

처음 설정사항은 -march= 나 -mtune= 플래그인데 대상 아키텍처의 이름을 열거합니다. 가능한 옵션은 make.conf.example 파일에 있습니다. (주석으로).

두번째의 것은 -O 플래그입니다.(대문자 O지, 숫자 0은 아닙니다) 이는 gcc의 최적화 클래스 플래그를 열거합니다. 가능한 클래스는 좀더 속도를 최적화하기 위한 s (for size-optimized), 0 (zero - for no optimizations), 1, 2, 3 플래그들이 있습니다 (모든 클래스는 이전 클래스와 동일하며, 특별한 어떤 것이 추가 됩니다). -O2 옵션이 기본 추천사항입니다.

다른 잘 알려진 최적화 플래그는 -pipe (각각의 컴파일 단계간 통신을 위해 임시 파일을 쓰는것이 아니라 파이프를 사용합니다)입니다. 이는 생성된 코드에 영향을 주지 않습니다.

-fomit-frame-pointer (프레임 버퍼를 필요로 하지 않는 함수를 위해 레지스터 내부의 프레임 포인터를 유지하지 않습니다) 을 사용하면 어플리케이션의 디버깅에 중대한 영향을 줄 수 있습니다.

CFLAGS와 CXXFLAGS를 정의했을 때, 각각의 최적화 플래그를 합칠 수 있습니다. 기본 값은 스테이지3 아카이브를 충분히 풀었을때 포함되어 있습니다. 다음은 그냥 예시일 뿐입니다.

예제 4-2 : CFLAGS와 CXXFLAGS의 정의
CFLAGS="-O2 -march=i686 -pipe"
# Use the same settings for both variables
CXXFLAGS="${CFLAGS}"

1.4.4. MAKEOPTS

MAKEOPTS 옵션을 통해 패키지를 설치할때 얼마나 많이 병렬 컴파일을 수행할 것인지를 정의합니다. 최적의 선택은 시스템의 CPU수 +1 입니다만 이 가이드라인이 항상 완벽한 것은 아닙니다.

예제 4-3 : 일반적인 1CPU 시스템에서의 MAKEOPTS
MAKEOPTS="-j2"

1.4.5. 준비, 요이~ 땅~!

/mnt/gentoo/etc/make.conf를 취향에 맞게 갱신하시고 저장하세요(nano 사용자라면 Ctrl-X를 치면 됩니다). 이제 [http]젠투 기반 시스템 설치를 계속할 준비가 되었습니다.




sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2009-02-28 17:03:05
Processing time 0.0108 sec