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 설정
포티지 트리를 업데이트하기 위해 포티지가 사용하는 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 맨 페이지를 참고하십시오:
코드 예제 6.1: nice에 대한 더 많은 내용 |
$ man nice |
출력 동작
기본 값이 "false"인 NOCOLOR변수는 포티지의 색깔 구분 출력을 비활성화 할 경우 정의합니다.