Trans:GentooX86Handbook1-6

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

젠투 베이스 시스템 설치하기

루트 바꾸기

선택요소: 미러 선택하기

소스코드를 빨리 내려받기 위해 빠른 미러를 선택하는것을 추천합니다. 포티지는 make.conf 파일에서 GENTOO_MIRRORS 변수를 찾을 것이고 여기에 나열한 미러를 사용할 것입니다. 미러 목록을 탐색하고 여러분에게 가까운(대부분의 경우 이런 것들이 가장 빠릅니다) 미러(혹은 다수의 미러들)를 검색할 수 있지만, 여러분이 원하는 미러를 선택할 수 있게 하는 멋진 인터페이스를 제공하는 mirrorselect라는 괜찮은 도구를 제공합니다. 그냥 선택할 미러를 쭉 둘러보고 스페이스바를 눌러 하나 이상의 미러를 선택하시면 됩니다.


예제 코드 1.1: GENTOO_MIRRORS 변수를 설정하기 위해 mirrorselect 사용하기
# mirrorselect -i -o >> /mnt/gentoo/etc/make.conf


두번째로 중요한 설정은 make.conf에 SYNC를 설정하는 것입니다. 이 변수에는 포티지 트리(ebuild와 내려받고 프로그램을 설치하는데 포티지가 필요로 하는 모든 정보를 담은 스크립트들의 모음입니다)를 갱신할 때 여러분이 사용하고 싶어하는 rsync 서버 주소가 들어있습니다. SYNC 서버를 여러분이 직접 입력할 수 있지만, mirrorselect가 여러분을 위해 동작을 쉽게 처리할 수 있습니다.


예제 코드 1.2: mirrorselect를 사용하여 rsync 미러 선택하기
# mirrorselect -i -r -o >> /mnt/gentoo/etc/make.conf


mirrorselect를 실행하고 난 후 /mnt/gentoo/etc/make.conf 의 설정을 다시 확인해보시는 것이 바람직합니다. !


참고: make.conf에 직접 SYNC 서버를 설정하려면, 여러분과 가까운 위치에 미러가 있는지 지역 미러 목록을 확인해보시는게 좋습니다. 단일 미러를 선택하는 것보다는 rsync.us.gentoo.org와 같은 순환 주소를 선택하는 것을 권장합니다. 이 설정을 통해 다양한 미러에서 불러올 수 있으며, 특정 미러가 끊어져 있을 경우 안전장치 수단을 제공합니다.


DNS 정보 복사하기

새 환경에 진입하기 전에 아직도 한가지가 남아있는데, /etc/resolv.conf의 DNS 정보를 복사하는 것입니다. 새 환경으로 진입하고 나서도 네트워크를 계속 동작하도록 보장하려면 이 과정을 행할 필요가 있습니다. /etc/resolv.conf에는 여러분의 네트워크에 대한 이름 서버 주소가 있습니다.


코드 목록 1.3: DNS 정보 복사하기
(심볼릭 링크를 복사할 수 없는지 확인하기 위해 "-L" 옵션이 필요합니다)

# cp -L /etc/resolv.conf /mnt/gentoo/etc/


필요한 파일시스템 마운트하기

잠시 리눅스 루트를 새로운 위치로 바꾸겠습니다. 이 뿐만 아니라, 새 환경이 올바르게 동작하는지 확인하려면, 사용할 수 있는 다양한 파일시스템을 만들 필요가 있습니다.

루트를 바꾼 환경에서 설치 과정 중에 커널이 제공하는 정보를 사용할 수 있게 하려면 /proc 파일시스템을 /mnt/gentoo/proc에 마운트 하고 /dev와 /sys 파일시스템을 마운트하고 바인딩합니다.


코드 예제 1.4: /proc, /sys, /dev 마운트하기
# mount -t proc none /mnt/gentoo/proc

# mount --rbind /sys /mnt/gentoo/sys
# mount --rbind /dev /mnt/gentoo/dev


새 환경으로 진입하기

모든 파티션을 초기화 했고 기본 환경을 설치했습니다. 이제 새 설치 환경으로 루트를 바꿀 차례입니다. 이는 현재 설치 환경 (설치 CD나 다른 설치 매체) 에서 여러분의 설치 시스템 (다시 말해서 초기화한 파티션) 으로 바꿈을 의미합니다.

이 루트 옮기기는 세 단계 과정으로 끝냅니다. 첫번째로 chroot명령을 사용하여 (설치 매체에서) / 에서 /mnt/gentoo로 루트를 바꿀 것입니다. 그 다음 근본적인 환경 변수를 만드는 env-update를 사용하여 새 환경을 만들 것입니다. 마지막으로 source 를 사용하여 변수를 메모리에 불러들일 것입니다.


코드 예제 2.5: 새 환경으로 루트 바꾸기
# chroot /mnt/gentoo /bin/bash

# env-update
>> Regenerating /etc/ld.so.cache...
# source /etc/profile
# export PS1="(chroot) $PS1"


축하합니다! 이제 젠투 리눅스 환경에 들어왔습니다. 물론 설치하기 위한 장이 아직도 남은 고로 끝나려면 아직 멀었습니다. :-) 언제든지 루트를 바꾼 환경에 접근할 다른 터미널이나 콘솔이 필요한 경우, 여러분이 해야할 일은 위 단계를 다시 실행하는 것입니다.

포티지 설정하기

포티지 트리 갱신하기

이제 포티지 트리를 최신버전으로 갱신해야 합니다. emerge --sync가 그러한 일을 합니다.


코드 예제 2.1: 포티지 트리 갱신하기
# emerge --sync

(프레임버퍼나 직렬 콘솔 같은 느린 터미널을 사용한다면
이 과정을 빠르게 진행하기 위해 --quiet 옵션을 추가할 수 있습니다:)
# emerge --sync --quiet


rsync 트래픽을 가로 막는 방화벽 뒤에 있다면 포티지 스냅샷을 내려받고 설치할 emerge-websync를 사용할 수 있습니다.

새 포티지 버전이 있다고 결고를 받았다면 포티지를 갱신해야 합니다. emerge --oneshot portage를 사용하여 바로 수행할 수 있습니다.

올바른 프로파일 선택하기

먼저 제대로 짚고 넘어갈 것이 있습니다.

프로파일은 젠투 시스템의 빌드 블록입니다. USE, CFLAGS 그리고 다른 중요한 변수에 대한 기본값을 정의할 뿐만 아니라 일부 꾸러미 버전의 범위로 시스템을 가두어두기도 합니다. 이것들은 모두 젠투 개발자가 관리합니다.

이전에 각각의 프로파일은 사용자가 손을 대지 않았습니다. 그러나 프로파일 변경이 필요하다고 결정하는 상황이 있을 수도 있습니다.

다음 명령을 사용하면 현재 여러분이 사용하고 있는 프로파일이 무엇인지 볼 수 있습니다.


코드 예제 2.2: 시스템 프로파일 확인하기
# eselect profile list

Available profile symlink targets:

 [1]   default/linux/x86/10.0 *
 [2]   default/linux/x86/10.0/desktop
 [3]   default/linux/x86/10.0/server


보시는 바와 같이, 어떤 아키텍처에서는 desktopserver 하위 프로파일도 있습니다. eselect profile list를 실행하면 사용할 수 있는 모든 프로파일을 보여줄 것입니다.

여러분의 아키텍처에 대해 사용할 수 있는 프로파일을 보고 나면 여러분은 원하는 다른 한가지를 사용할 수 있습니다.


코드 예제 2.3: 프로파일 바꾸기
# eselect profile set 2



참고: developer 하위 프로파일은 특별히 젠투 리눅스 개발 작업을 위한 것입니다. 이는 일반적인 개발 환경을 설정하는데 도움을 준다는 의미가 아닙니다.


USE 변수 설정하기

USE는 젠투가 사용자들에게 제공하는 가장 강력한 변수중 하나입니다. 제각각의 프로그램들은 각각의 항목을 선택적으로 지원하거나 지원하지 않고 컴파일 할 수 있습니다. 예를 들어 어떤 프로그램은 gtk 지원이나 qt 지원과 함께 컴파일 할 수 있습니다. 다른 프로그램들의 경우 SSL을 지원하거나 지원하지 않고 컴파일 할 수 있습니다. 어떤 프로그램은 심지어 x11 지원 (X 서버) 대신 프레임버퍼 지원(svgalib) 을 포함하고 컴파일 할 수도 있습니다.

대부분의 배포판은 최대한 많은 지원 요소를 포함하고 프로그램의 크기와 시작 시간을 늘리며, 엄청나게 많은 의존성을 알리지 않고 각 배포판의 꾸러미를 컴파일합니다. 젠투에서는 꾸러미와 함께 컴파일할 옵션을 설정할 수 있습니다. 이게 바로 USE를 가지고 노는 영역으로 끌고 들어올 곳입니다.

USE 변수에는 컴파일 옵션에 대응하는 키워드를 설정합니다. 가령 ssl을 넣으면 프로그램에서 ssl을 지원하도록 ssl-지원과 컴파일할 것입니다. -X를 넣으면 X 서버 지원을 없앨 것입니다(앞에 음의 부호가 붙은 걸 확인하세요). gnome gtk -kde -qt4를 넣으면 그놈에 시스템을 완전히 최적화하기 위해 그놈(과 gtk) 지원을 팜께 컴파일하고 kde(와 qt) 지원을 뺄 것입니다.

기본 USE 설정은 여러분이 가진 프로파일의 make.defaults 파일에 있습니다. /etc/make.profile이 가리키는 디렉터리에서 make.defaults 파일을 찾을 것이며, 이 뿐만 아니라 모든 상위 디렉터리도 찾을 것입니다. 기본 USE 설정은 make.defaults 파일의 모든 USE 설정을 몽땅 합쳐놓은 것입니다. /etc/make.conf에 들어있는 것은 이들 기본 설정에 대해 계산됩니다. 만약 USE 설정에 뭔가를 추가했다면 기본 목록에 추가 됩니다. USE 설정에서 뭔가를 제거했다면 (플래그 앞에 음의 부호를 붙였다면) (모든 기본 목록에 들어있었다면) 기본 목록에서 제거됩니다. 절대로 /etc/make.profile 디렉터리에 있는 내용을 바꾸지 마십시오.여러분이 포티지를 갱신할 때 모든 내용을 덮어쓰게 됩니다!

USE에 대한 완전한 설명은 젠투 핸드북의 두번째 부분 [USE 플래그]에서 찾으실 수 있습니다. 사용할 수 있는 USE 플래그에 대한 완전한 주석은 시스템의 /usr/portage/profiles/use.desc에서 찾으실 수 있습니다.


코드 예제 2.4: 사용할 수 있는 USE 플래그 보기
# less /usr/portage/profiles/use.desc

(화살표 키로 스크롤 할 수 있습니다, 'q'를 누르면 빠져나갑니다)


예제를 통해 DVD, ALSA, CD 기록 지원을 포함하는 KDE 기반 시스템에 대한 USE 설정을 보여드리도록 하겠습니다.


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



코드 예제 2.6: USE 설정
USE="-gtk -gnome qt4 kde dvd alsa cdr"