Trans:GentooX86Handbook2-3

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

포티지 기능

포티지 기능

포티지는 여러분의 더 나은 젠투 경험을 만들어줄 수많은 추가 기능이 있습니다. 이 수많은 기능들은 성능, 신뢰성, 보안 등을 개선하기 위한 몇몇 프로그램 도구에 의지합니다.

이들 포티지 기능을 활성화 하거나 비활성화 하려면, 공백으로 구분한 여러 기능 키워드가 들어있는 /etc/portage/make.conf의 FEATURES 변수를 편집할 필요가 있습니다. 대부분의 경우 기능과 관련한 추가 도구를 설치해야 할 필요가 있습니다.


코드 예제 1.1: make.conf 맨 페이지 찾아보기
$ man make.conf


FEATURE에 기본적으로 설정한 내용을 찾아보려면 emerge --info를 실행하고 FEATURE 변수를 검색하거나 grep으로 검색합니다.


코드 예제 1.2: 이미 설정한 FEATURES 찾아보기
$emerge --info


분산 컴파일

distcc 사용하기

distcc 프로그램은 네트워크 상에서 꼭 동등할 필요가 없는 많은 장비들을 통해 분산 컴파일을 수행하는 프로그래입니다. distcc 클라이언트는 사용가능한 distcc 서버(distccd 실행)에 필요한 정보를 보내서 클라이언트에 대한 소스코드 일부를 컴파일 할 수 있게 합니다. 이 네트워크에서는 컴파일 시간이 더 빨라집니다.

distcc에 대한 더 자세한 정보(와 젠투에서 받는 방법)를 찾으려면 [젠투 distcc 문서]를 보실 수 있습니다.

distcc 설치하기

distcc는 컴파일 할 내용을 전달하는 여러분의 컴퓨터의 작업을 각 모니터로 전달합니다. 만약 그놈을 사용한다면 USE 변수에 'gnome'을 넣으세요. 하지만 그놈을 사용하지 않고도 모니터를 확보하려면 USE 변수에 'gtk'를 놓도록 합니다.


코드 예제 2.1: distcc 설치하기
# emerge distcc


포티지 지원 활성화하기

distcc를 /etc/portage/make.conf의 FEATURES 변수에 추가합니다. 다음, 여러분이 좋아하는대로 MAKEOPTS 변수를 편집합니다. 알려져있는 지침대로라면 "-jX"의 X에 distccd를 실행하는 CPU의 갯수 + 1을 채워넣는 것입니다만 다른 숫자를 넣었을 때 결과가 더 좋게 나올 수도 있습니다.

이제 distcc-config를 실행하고 사용할 수 있는 distcc 서버의 목록을 입력합니다. 간단한 예로, 사용할 수 있는 DistCC 서버가 192.168.1.102(현재 호스트), 192.168.1.103, 192.168.1.104(두개의 원격 호스트)라고 가정합니다.


코드 예제 2.2: 사용할 수 있는 세 대의 distcc 서버를 사용하도록 distcc 설정하기
# distcc-config --set-hosts "192.168.1.102 192.168.1.103 192.168.1.104"


마찬가지로 distcc 데몬을 실행하는 걸 잊지 마시기 바랍니다


코드 예제 2.3: distccd 데몬 시작하기
# rc-update add distccd default

# /etc/init.d/distccd start


컴파일 캐시하기

ccache 정보

ccache는 빠른 컴파일러 캐시입니다. 프로그램을 컴파일 할 때 중간 내용을 캐시해서 여러분이 같은 프로그램을 언제 다시 컴파일 하든지 상관 없이 컴파일 타임은 급격하게 줄어들게 됩니다. ccache를 처음 실행할 때 보통 컴파일 할 때보다 훨씬 느릴 것입니다. 그 다음 다시 컴파일 할 때 더 빨라질 것입니다. ccache는 여러분이 같은 프로그램을 여러번 컴파일 할 때만 도움이 될 것입니다. 따라서 이는 대부분 프로그램 개발자들에게만 유용합니다.

ccache의 이모저모에 관심이 있다면 ccache 홈페이지를 방문해 주시기 바랍니다.


주의: ccache는 수많은 컴파일 실패를 유발하는 것으로 알려져 있습니다. 때로는 이머지할 수 없는 꾸러미가 될 수 있게, ccache가 낡아빠진 코드 객체나 깨진 파일을 유지하기도 합니다. 만약 이런 일이 일어난다면(즉, "File not recognized: File truncated"와 같은 오류 메시지를 만났다면), 버그를 보고 하기 전에 ccache를 비활성화 한 상태(/etc/portage/make.conf에서 FEATURES="-ccache")에서 프로그램을 다시 컴파일 해보시기 바랍니다. 개발작업을 하지 않는 한 ccache를 활성화 하지 마십시오.


ccache 설치하기

ccache를 설치하려면 emerge ccache를 실행합니다.


코드 예제 3.1: ccache 설치하기
# emerge ccache


포티지 지원 활성화하기

/etc/portage/make.conf를 열고 FEATURES 변수에 ccache를 추가하십시오. 다음 CCACHE_SIZE라고 하는 새 변수를 추가하고, "2G"로 설정합니다.


코드 예제 3.2: /etc/portage/make.conf에 CCACHE_SIZE 편집하기
CCACHE_SIZE="2G"


ccache 기능을 확인하려면 ccache에게 현재 상태를 제공해달라고 요정합니다. 포티지가 다른 ccache 홈 디렉터리를 사용하기 때문에, 마찬가지로 CCACHE_DIR 변수를 설정할 필요가 있습니다.


코드 예제 3.3: ccache 상태 보기
# CCACHE_DIR="/var/tmp/ccache" ccache -s


/var/tmp/ccache 위치는 포티지의 기본 ccache 홈 디렉터리 입니다. 이 설정을 바꾸시려면 /etc/portage/make.conf에서 CCACHE_DIR 변수 값을 설정할 수 있습니다.

그러나 ccache를 실행하려면, ${HOME}/.ccache의 기본 위치를 사용하는데, 이것은 (포티지) ccache 상태를 물어볼 때 CCACHE_DIR 변수를 설정해야 할 이유이기도 합니다.

비 포티지 C 컴파일 목적으로 ccache 사용하기

비 포티지 컴파일을 목적으로 ccache를 사용하려면 PATH변수의 시작 부분에 (/usr/bin 앞에 ) /usr/lib/ccache/bin을 추가합니다. 여러분의 사용자 홈 디렉터리에 있는 .bash_profile을 편집하시는 방법으로 처리할 수 있습니다. .bash_profile을 사용하는 것이 PATH 변수를 정의하는 한 가지 방법입니다.


코드 예제 3.4: .bash_profile 편집하기
PATH="/usr/lib/ccache/bin:/opt/bin:${PATH}"


바이너리 꾸러미 지원

미리 빌드한 꾸러미 만들기

미리 빌드한 꾸러미 설치하기

파일 가져오기