Trans:GentooX86Handbook3-2
목차
변수 설정
포티지 설정
앞서 말씀드린 바와 같이 포티지는 /etc/portage/make.conf에 정의하는 수많은 변수들을 통해 설정할 수 있습니다. 더욱 많은 완전한 정보를 보시려면 make.conf 맨 페이지를 참고하십시오.
코드 예제 1.1:make.conf 맨 페이지 보기 |
$ man make.conf |
빌드 관련 옵션
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 설정을 찾아볼 수 있습니다
코드 예제 3.1: CONFIG_PROTECT 설정 가져오기 |
$ emerge --info | grep 'CONFIG_PROTECT=' |
포티지 설정 파일 보호에 대한 더 많은 내용은 emerge 맨 페이지의 CONFIGURATION FILES 섹션에 있습니다.
코드 예제 3.2: 설정 파일 보호에 대한 더 많은 내용 보기 |
$ man emerge |
디렉터리 제외하기
보호된 위치의 각각의 하위 디렉터리를 '보호 해제' 하려면 CONFIG_PROTECT_MASK 변수를 사용할 수 있습니다.
다운로드 옵션
서버 위치
요청된 정보 또는 데이터가 시스템에 없다면, 포티지는 해당 정보를 인터넷으로부터 가져올 것입니다. 다양한 정보와 데이터 채널에 대한 서버 위치는 다음 변수에 정의되어 있습니다:
- GENTOO_MIRRORS: 소스 코드가 있는 서버 위치의 목록을 정의합니다
- PORTAGE_BINHOST: 여러분의 시스템에 대해 미리 빌드한 패키지의 각각의 서버 위치를 정의합니다.
세번째 설정은 포티지 트리를 업데이트 할 때 사용하는 rsync 서버의 위치를 포함합니다.
- SYNC: 포티지 트리를 어디서 가져올지 포티지가 사용할 각각의 서버를 정의합니다.
GENTOO_MIRRORS 와 SYNC 변수는 mirrorselect 프로그램에서 자동으로 설정할 수 있습니다. 이 프로그램을 사용할 수 있으려면 emerge mirrorselect를 먼저 실행해야 합니다. 더 많은 정보에 대해서는 mirrorselect의 온라인 도움말을 참고하십시오.
코드 예제 4.1: mirrorselect 추가 정보 |
# 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 설정
젠투 설정
브랜치 선택
ACCEPT_KEYWORDS 변수로 기본 브랜치를 바꿀 수 있습니다. 기본값은 여러분의 아키텍처에 대한 안정 브랜치입니다. 젠투 브랜치에 대한 더 많은 내용은 다음 장에서 찾아보실 수 있습니다.
포티지 기능
FEATURES 변수로 포티지의 각각의 기능을 활성화 할 수 있습니다. 포티지 기능에 대해서는 이전 장에서 설명했습니다.