Trans:GentooX86Handbook1-5

Gentoo Korea Wiki
둘러보기로 가기 검색하러 가기

젠투 설치파일 설치하기

스테이지 타르볼 설치하기

날짜/시간을 올바르게 설정하기

계속하기 전에 여러분의 날짜/시간을 확인하고 갱신할 필요가 있습니다. 잘못 설정한 시간은 나중에 이상한 결과를 유도할 수도 있습니다!

현재 날짜 시간을 확인하려면 date를 실행합니다.


코드 예제 1.1: 날짜/시간 확인하기
# date

Fri Mar 29 16:21:18 UTC 2005


날짜/시간이 잘못 표시되었다면 date MMDDhhmmYYYY 문법(M:월, D: 일, h:시, m:분, Y:연도)을 사용하여 갱신합니다. 이 단계에서 여러분은 국제기준(UTC)시간을 사용해야 합니다. 여러분의 시간대에 대해서는 나중에 지정할 수 있을 것입니다. 예를 들어 2005년 3월 29일 16시 21분으로 날짜를 설정하려면 다음 명령을 내립니다.


코드 예제 1.2: 국제기준(UTC) 날짜/시간 설정하기
# date 032916212005


선택하기

다음 단계에서는 스테이지 3 타르볼을 여러분의 시스템에 설치하기 위한 작업을 할 필요가 있습니다. 여러분에게는 인터넷에서 필요한 타르볼을 내려받거나 젠트 통합 CD중 하나로 시동했을 경우 디스크에서 타르볼을 복사하는 방법 중 하나를 선택할 여지가 있습니다. 대부분의 경우, 여러분이 내려받을 스테이지 파일이 어떤 것인지를 결정하기 위해 도움을 받으려면 uname -m 명령을 사용할 수 있습니다.

미니멀 CD와 라이브DVD에는 스테이지 3 압축파일이 없습니다.

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

스테이지 타르볼 내려받기

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


코드 예제 2.1: 젠투 마운트 지점으로 이동하기
cd /mnt/gentoo


설치 매체에 따라 스테이지를 다운로드 할 수 있는 도구들이 있습니다. links를 사용할 수 있다면 젠투 미러 목록을 바로 탐색하여 여러분께 가장 가까운 미러를 선택할 수 있습니다. links http://www.gentoo.org/main/en/mirrors.xml 를 입력하고 Enter키를 누릅니다.

links를 사용할 수 없다면 여러분의 일처리에 lynx가 있어야 합니다. 프록시를 통해 이동할 필요가 있다면 http_proxyhftp_proxy 변수값을 export 명령으로 설정합니다.


코드 예제 2.2: lynx에서 사용할 프록시 정보 설정하기
# export http_proxy="http://proxy.server.com:port"

# export ftp_proxy="http://proxy.server.com:port"


이제 여러분이 이 과정을 처리하는데 links를 가지고 있다고 가정하겠습니다.

가까운 미러를 선택합니다. 보통 HTTP 미러로 충분하지만, 이것 말고도 다른 프로토콜로 구성된 미러도 있습니다. releases/x86/autobuilds/ 디렉터리로 이동합니다. 여러분의 아키텍처에서 사용할 수 있는 모든 스테이지 파일을 볼 수 있을 것입니다 (아마 제각각의 하위아키텍처 다음에 이름이 붙은 하위디렉터리에 저장되어 있을 것입니다). 그 중 하나를 선택하고 D를 눌러 내려받습니다. 이 과정이 끝나면 Q를 눌러 탐색 프로그램을 빠져 나갑니다.

대부분의 PC사용자들은 stage3-i686-<release>.tar.bz2 스테이지 3 압축 파일을 사용할 것입니다. 대부분 최신 PC는 i686을 고려합니다. 오래된 머신을 사용한다면 위키피디아의 i686 호환 프로세서 목록을 확인해보실 수 있습니다. Pentium, K5, K6, Via C3 및 이와 유사한 오래된 프로세서들은 좀 더 일반적인 스테이지 3를 필요로 합니다. i486보다 오래된 프로세서는 지원하지 않습니다.


코드 예제 2.3: links로 미러 목록 탐색하기
# links http://www.gentoo.org/main/en/mirrors.xml

(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-<release>.tar.bz2.DIGESTS

stage3-i686-<release>.tar.bz2: OK


스테이지 타르볼 압축풀기

이제 여러분의 시스템에 내려 받은 스테이지의 압축을 풉니다. 가장 간단한 방법으로 수행하기 위해 tar 명령을 사용하겠습니다.


코드 예제 2.5: 스테이지 압축 풀기
# tar xvjpf stage3-*.tar.bz2


같은 옵션 (xvjpf)을 사용했는지 확인해보시기 바랍니다. x추출(Extract), v는 압축 푸는 과정에 무슨 일이 일어나는지 자세하게 보기 위한 자세히(Verbose), jbzip2형식의 압축 풀기, p권한 보존, f는 표준 출력이 아닌 파일을 추출하고 싶다는 것을 표현합니다.

이제 스테이지를 설치했으니 포티지 설치하기로 계속 진행합니다.

포티지 설치하기

포티지 스냅샷 압축풀기

이제 여러분이 설치할 수 있는 프로그램 제목과 사용할 수 있는 프로파일 등에 대한 정보를 제공하는 파일들의 모음인 포티지 스냅샷을 설치해야 합니다.

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

파일시스템을 마운트한 젠투 마운트 지점으로 이동합니다 (아마 대부분 /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


컴파일 옵션 설정하기

개요

젠투를 최적화하기 위해 포티지 동작에 영향을 줄 많은 변수를 설정할 수 있습니다. 이 모든 변수들은 (export를 사용하여) 환경 변수처럼 설정할 수 있지만 오래 지속되는 것은 아닙니다. 설정을 유지하기 위해 포티지에서는 포티지 설정 파일로서 /etc/make.conf 파일을 여러분께 제공합니다. 우리가 이제 편집할 파일입니다.


참고: 사용할 수 있는 모든 변수에 대한 주석 목록은 /mnt/gentoo/usr/share/portage/config/make.conf.example에서 찾을 수 있습니다. 젠투 설치를 성공적으로 수행하기 위해서는 아래에 보여드리는 변수들만 설정하시면 됩니다.


이 다음에 이야기할 최적화 변수 내용을 바꿀 수 있게 여러분 취향에 맞는 편집기를 실행합니다 (안내서에서 저희는 nano를 사용합니다) .


코드 예제 4.1: /etc/make.conf 열기
# nano -w /mnt/gentoo/etc/make.conf


여러분들께서 알아차리셨겠지만, make.conf.example은 일반적인 방식으로 정리되어 있습니다. 주석 줄은 "#"으로 시작하고 나머지 줄들은 VARIABLE="content" 문법을 사용하여 변수를 설정합니다. make.conf파일 또한 같은 문법을 사용합니다. 이들 각각의 변수는 다음에 이야기합니다.

CFLAGS와 CXXFLAGS

CFLAGSCXXFLAGS 변수는 각각 gcc C와 C++ 컴파일러를 최적화 하는 플래그를 설정합니다. 여기에 일반적인 내용을 설정했지만 여러분은 제각각의 프로그램에 대해 이 플래그를 최적화 할 경우 성능만을 극대화 할 것입니다. 모든 프로그램들은 다르기 때문입니다.

make.conf에서는 일반적으로 가장 즉각적으로 반응하는 시스템을 만들거라 생각하는 최적화 플래그를 설정합니다. 이 변수를 실험적 설정에 적용하지 마십시오. 최적화를 너무 많이 하면 프로그램을 엉망으로 만들 수가 있습니다(깨지거나, 뭔가가 잘못되거나, 제 기능을 못할 수도 있습니다).

모든 가능한 최적화 옵션을 설명하지는 않을 것입니다. 만약 이 내용들을 모두 알고 싶다면 GNU 온라인 설명서gcc 정보 페이지를 읽어보시기 바랍니다(info gcc 리눅스 시스템에서만 동작합니다). make.conf.example파일에는 수많은 예제와 정보들이 있습니다. 이걸 살펴보는 것 또한 잊지 마시기 바랍니다.

첫번째 설정은 대상 아키텍처의 이름을 지정하는 -march=또는 -mtune= 플래그입니다. 가능한 옵션은 .make.conf.example 파일에 (주석으로) 설명했습니다.

두번째는 gcc최적화 수준 플래그를 지정하는 -O(영이 아닌 대문자 O) 플래그입니다. 가능한 수준은 s(크기 최적화), 또는 속도 최적화를 위한 0 (최적화 안 함), 1, 2, 3 이상의 플래그(모든 수준앞에 같은 플래그가 붙고 거기에 또 뭔가가 붙습니다)가 있습니다. -O2를 기본적으로 추천합니다. -O3는 시스템 영역에서 사용할 때 문제가 일어나는 것으로 알려져 있기 때문에 아얘 여러분들에게 -O2 설정을 박아두는 것을 권장하는 것입니다.

다른 잘 알려진 최적화 플래그로 -pipe(수많은 컴파일 스테이지들끼리 통신할 떄 임시 파일을 사용하기보단 파이프를 사용합니다). 생성한 코드에는 영향을 주지 않습니다만 메모리를 더 많이 사용합니다. 적은 메모리를 가진 시스템에서는 gcc가 죽을 수도 있습니다. 이 경우 이 플래그를 사용하지 마십시오.

-fomit-frame-pointer(프레임 포인터를 필요로 하지 않는 함수에 대해 레지스터의 프레임 포인터를 유지하지 않습니다)를 사용하면 프로그램을 디버깅하는데 이상한 영향을 줄지도 보릅니다.

CFLAGSCXXFLAGS를 설정할 때 다양한 최적화 플래그를 조합할 것입니다. 스테이지3 압축파일에서 압축을 풀어놓은 기본 값으로 충분할 것입니다. 다음 예제는 그냥 예제일 뿐입니다.


코드 예제 4.2: CFLAGS와 CXXFLAGS 변수 설정하기
CFLAGS="-O2 -march=i686 -pipe"

# 두 변수에 같은 값을 사용합니다
CXXFLAGS="${CFLAGS}"



참고: 다양한 컴파일 옵션이 여러분의 시스템에 어떻게 영향을 주는지에 대한 많은 정보를 보려면 [컴파일 최적화 안내서]를 보도록 합니다


MAKEOPTS

MAKEOPTS에는 여러분이 꾸러미를 설치할 때 동작 시킬 병렬 컴파일 갯수를 설정합니다. 좋은 선택 값은 여러분의 시스템에 있는 CPU 의 갯수(또는 CPU 코어 갯수)에 1을 더하는 것이지만, 이 지침서가 항상 완벽한 것은 아닙니다.


코드 예제 4.3: 단일 CPU 시스템에서의 일반적인 MAKEOPTS 값
MAKEOPTS="-j2"


준비! 시! 작!

/mnt/gentoo/etc/make.conf를 여러분의 취향에 맞게 고치고 저장(nano사용자는 Ctrl-X를 누르시면 됩니다)합니다. 준비되셨으니 젠투 베이스 시스템 설치하기로 계속 진행합니다.