Handbook:AMD64/Portage/Variables/ko
포티지 설정
앞서 말씀드린 바와 같이 포티지는 /etc/portage/make.conf와 /etc/portage 하위 디렉터리 중 하나에 정의한 수많은 변수로 설정할 수 있습니다. 더욱 많은 완전한 정보를 보시려면 make.conf 와 포티지의 맨 페이지를 참고하십시오.
user $
man make.conf
user $
man portage
빌드 관련 옵션
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 설정을 찾아볼 수 있습니다:
user $
emerge --info | grep 'CONFIG_PROTECT='
포티지 설정 파일 보호에 대한 더 많은 내용은 emerge 맨 페이지의 CONFIGURATION FILES 섹션에 있습니다:
user $
man emerge
디렉터리 제외
보호된 위치의 각각의 하위 디렉터리를 '보호 해제' 하려면 CONFIG_PROTECT_MASK 변수를 사용할 수 있습니다.
다운로드 옵션
서버 위치
요청된 정보 또는 데이터가 시스템에 없다면, 포티지는 해당 정보를 인터넷으로부터 가져옵니다. 다양한 정보와 데이터 채널에 대한 서버 위치는 다음 변수에 정의합니다:
- GENTOO_MIRRORS
- 소스 코드가 있는 서버 위치의 목록을 정의합니다.
- PORTAGE_BINHOST
- 여러분의 시스템에 대해 미리 빌드한 꾸러미의 각각의 서버 위치를 정의합니다.
세번째 설정은 사용자들이 로컬 젠투 레파지토리를 업데이트 할 때 사용하는 rsync 서버의 위치와 관련있습니다. 이 설정은 /etc/portage/repos.conf 파일(또는 디렉터리로 정의했다면 해당 디렉터리 내부에 있는 파일)로 정의했습니다:
- sync-type
- 서버 형식을 정의하며 기본은
rsync
입니다. - sync-uri
- 포티지가 젠투 레파지토리를 가져올 때 활용할 각각의 서버를 정의합니다.
GENTOO_MIRRORS와 sync-type, sync-uri 변수는 mirrorselect 프로그램에서 자동으로 설정할 수 있습니다. 이 프로그램을 사용할 수 있으려면 app-portage/mirrorselect를 먼저 설치해야 합니다. 더 많은 정보에 대해서는 mirrorselect의 온라인 도움말을 참고하십시오:
root #
mirrorselect --help
여러분의 환경에서 프록시 서버 사용이 필요하다면, 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=<number>
- 이 숫자는 제한시간처럼 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 맨 페이지를 참고하십시오:
user $
man nice
출력 동작
NOCOLOR 변수의 기본값은 false
이며, 포티지의 색상 출력을 끌 지 여부를 설정합니다.