Handbook:Parts/Portage/Variables/ko

포티지 설정
앞서 말씀드린 바와 같이 포티지는 와 하위 디렉터리 중 하나에 정의한 수많은 변수로 설정할 수 있습니다. 더욱 많은 완전한 정보를 보시려면 와 포티지의 맨 페이지를 참고하십시오.

configure 및 컴파일러 옵션
포티지가 프로그램을 빌드할 때 다음 변수의 내용을 컴파일러와 configure 스크립트에 전달합니다.
 * CFLAGS와 CXXFLAGS에서는 C와 C++ 컴파일시 결정한 컴파일러 플래그를 정의합니다
 * CHOST 에서는 프로그램 configure 스크립트에 제공할 빌드 호스트 정보를 정의합니다
 * MAKEOPTS 에서는 make 명령에 전달할 내용을 지정하며 보통 컴파일 과정에 사용할 병렬화의 양을 지정합니다. make 옵션에 대한 더 많은 내용은 make 맨 페이지에서 찾을 수 있습니다.

USE 변수는 configure와 컴파일 과정에서 사용합니다만 이전 장에서 상당히 자세히 설명했습니다.

병합 옵션
포티지가 제각각의 프로그램 제목에 대해 새 버전으로 머지했을 경우, 시스템에 남아있는 오래된 파일을 지울 것입니다. 포티지에서는 이전 버전을 언머징하는데 5초의 기회 시간을 제공합니다. 이 5초라는 값은 CLEAN_DELAY 변수에서 지정합니다.

EMERGE_DEFAULT_OPTS를 설정하면 매번 emerge를 실행할 때마다 지정한 옵션으로 실행할 수 있습니다. 일부 쓸모 있는 옵션으로는 --ask, --verbose, --tree 등이 있습니다.

포티지에서 보호한 위치
포티지는 보호된 위치에 파일을 저장하지 않았을 경우 동일한 소프트웨어 제목을 가진 새 버전에서 제공하는 파일을 덮어씌웁니다. 보호된 위치는 CONFIG_PROTECT 변수에 정의하며 보통 설정 파일 위치가 됩니다. 나열할 디렉터리는 공백으로 구분합니다.

보호한 위치에 기록할 파일은 이름을 바꾸어두며 사용자는 (존재 추정할 수 있는) 설정 파일의 새 버전이 존재함을 포티지가 알려줍니다.

emerge --info 출력에서 현재 CONFIG_PROTECT 설정을 찾아볼 수 있습니다:

포티지 설정 파일 보호에 대한 더 많은 내용은 emerge 맨 페이지의 CONFIGURATION FILES 섹션에 있습니다:

디렉터리 제외
보호된 위치의 각각의 하위 디렉터리를 '보호 해제' 하려면 CONFIG_PROTECT_MASK 변수를 사용할 수 있습니다.

서버 위치
요청된 정보 또는 데이터가 시스템에 없다면, 포티지는 해당 정보를 인터넷으로부터 가져옵니다. 다양한 정보와 데이터 채널에 대한 서버 위치는 다음 변수에 정의했습니다:
 * GENTOO_MIRRORS: 소스 코드가 있는 서버 위치의 목록을 정의합니다
 * PORTAGE_BINHOST: 여러분의 시스템에 대해 미리 빌드한 꾸러미의 각각의 서버 위치를 정의합니다.

세번째 설정은 포티지 트리를 업데이트 할 때 사용하는 rsync 서버의 위치를 포함합니다. 이 설정은 파일(또는 디렉터리로 정의했다면 디렉터리에 있는 파일)로 정의했습니다:
 * sync-type은 서버의 형식을 정의하며 기본은 "rsync"입니다
 * sync-uri는 포티지가 포티지 트리를 가져올 때 사용하는 각각의 서버를 정의합니다

GENTOO_MIRRORS와 sync-type, sync-uri 변수는 mirrorselect 프로그램에서 자동으로 설정할 수 있습니다. 이 프로그램을 사용할 수 있으려면 를 먼저 설치해야 합니다. 더 많은 정보에 대해서는 mirrorselect의 온라인 도움말을 참고하십시오:

여러분의 환경에서 프록시 서버 사용이 필요하다면, http_proxy, ftp_proxy, RSYNC_PROXY 변수를 사용하여 프록시 서버를 선언할 수 있습니다.

가져오기 명령
포티지에서 소스코드를 가져올 필요가 있을 때, 기본적으로 wget 명령을 사용합니다. FETCHCOMMAND 변수를 통해 이 명령을 바꿀 수 있습니다.

포티지에서는 부분적으로 다운로드한 소스 코드의 나머지 부분도 다시 다운로드 할 수 있습니다. 이 또한 역시 wget 명령을 기본으로 사용하지만 RESUMECOMMAND 변수에서 바꿀 수 있습니다.

FETCHCOMMAND와 RESUMECOMMAND 변수가 올바른 위치에 소스코드를 저장하는지 확인하십시오. 이들 변수 안에 소스 코드 위치와 배포파일 위치를 가리키도록 각각 \${URI}와 \${DISTDIR}를 사용해야 합니다.

FETCHCOMMAND_HTTP, FETCHCOMMAND_FTP, RESUMECOMMAND_HTTP, RESUMECOMMAND_FTP 등의 프로토콜별 핸들러도 정의할 수 있습니다.

rsync 설정
포티지 트리를 업데이트할 포티지가 사용하는 rsync 명령을 다른 수단으로 대체할 수 있지만, rsync 명령과 관련된 일부 변수도 설정할 수 있습니다:


 * PORTAGE_RSYNC_OPTS: sync를 진행하는 도중에 사용할 여러가지 기본 변수들을 공백으로 구분하여 설정합니다. 여러분이 정확히 무얼 하고 있는지 알기 전에는 바꾸지 마십시오. 참고로 PORTAGE_RSYNC_OPTS가 비어있을 경우 꼭 필요한 각각의 옵션을 항상 사용합니다.


 * PORTAGE_RSYNC_EXTRA_OPTS: sync를 진행하는 도중에 추가 옵션을 설정하는데 사용할 수 있습니다. 제각각의 옵션은 공백으로 구분합니다.
 * --timeout= : 이 숫자는 제한시간처럼 rsync가 연결 상태를 살펴보기 전에 대기할 수 있는 rsync 연결 초 시간을 정의합니다. 이 변수의 기본값은 180이지만 전화걸기 사용자나 느린 컴퓨터를 사용하는 일부 사용자에겐 300 이상의 값으로 설정하려 할 것입니다.
 * --exclude-from=/etc/portage/rsync_excludes: 이 변수는 업데이트를 수행하는 동안 무시해야 할 패키지나 카테고리의 목록을 담고 있는 파일을 가리킵니다. 이 경우 /etc/portage/rsync_excludes를 가리킵니다. 이 파일의 문법을 보시려면 [포티지 트리 하위 셋 활용하기]를 참고하십시오.
 * --quiet: 화면의 출력 내용을 줄입니다.
 * --verbose: 전체 파일 목록을 출력합니다
 * --progress: 각각의 파일에 대한 진행 과정을 표시합니다.


 * PORTAGE_RSYNC_RETRIES: 연결에 성공하기 전에 SYNC 변수에 가리킨 미러로 몇 번에 걸쳐 연결 재시도를 해야 하는지를 정의합니다. 이 변수의 기본값은 3 입니다.

이 옵션을 포함한 더 많은 내용을 알아보시려면 man rsync를 참조하십시오.

브랜치 선택
ACCEPT_KEYWORDS 변수로 기본 브랜치를 바꿀 수 있습니다. 기본값은 아키텍처의 안정 브랜치입니다. 젠투 브랜치에 대한 더 많은 내용은 다음 장에서 찾아보실 수 있습니다.

포티지 기능
FEATURES 변수로 포티지의 각각의 기능을 활성화 할 수 있습니다. 포티지 기능에 대해서는 이미 이전 장에서 설명했습니다.

자원 관리
PORTAGE_NICENESS 변수로 포티지 실행에 필요한 nice의 값을 늘리거나 줄일 수 있습니다. PORTAGE_NICENESS값은 현재 nice 값에 추가됩니다.

nice 값에 대한 더 많은 내용을 알아보려면 nice 맨 페이지를 참고하십시오:

출력 동작
NOCOLOR 변수의 기본값은 "false"이며, 포티지의 색상 출력을 꺼야 할 지 여부를 설정합니다.