Handbook:Parts/Working/Features/ko

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

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

여기에 언급한 포티지 지원 기능이 기능 전부를 의미하지는 않습니다. 전체적으로 간단히 살펴보려면 맨 페이지를 참고하십시오:

FEATURES 변수에 어떤 값을 기본으로 지정했는지 보려면 를 실행하여 FEATURES 변수를 찾아보거나 으로 출력 내용을 잡아내십시오:

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

distcc에 대한 더 자세한 정보(와 젠투에서 동작하게 하는 방법)는 distcc 글에서 찾아 보실 수 있습니다.

distcc 설치
distcc에는 컴파일할 내용을 전달하는 컴퓨터의 작업을 감시하는 그래픽 감시 프로그램이 있습니다. 또는 를 설정하면 이 도구를 자동으로 설치합니다.

포티지 distcc 지원 활성화
를 의 FEATURES 변수에 추가하십시오. 다음, 여러분이 원하는대로 MAKEOPTS 변수를 편집하십시오. 알려진 지침대로라면 의  에 distccd를 실행하는 CPU의 갯수 + 1을 채워넣는 것입니다만, 단순히 지침일 뿐입니다.

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

마찬가지로 distccd 데몬 실행도 잊지 마십시오:

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

ccache에 대한 더 많은 내용은 홈페이지en 를 방문해보십시오.

ccache 설치
ccache를 설치하려면 다음 명령을 실행하십시오:

포티지 ccache 지원 활성화
를 열고 FEATURES 변수의 아무 값 사이에 값을 추가하십시오. FEATURES 변수가 없다면 새로 만드십시오. 다음 새 CCACHE_SIZE 변수를 추가하고, 로 설정하십시오:

ccache 기능을 확인하려면 ccache에게 통계 데이터를 제공해달라고 요청하십시오. 포티지가 다른 ccache 홈 디렉터리를 사용하기 때문에 CCACHE_DIR 변수를 임시로 설정해야합니다:

위치는 포티지의 기본 ccache 홈 디렉터리 입니다. 의 CCACHE_DIR 변수 값을 설정하여 위치를 바꿀 수 있습니다.

를 자체적으로 실행할 때, 기본 위치를 사용하는데, 이것이 (포티지) ccache 통계를 요청할 때 CCACHE_DIR 변수를 설정해야 할 이유입니다.

포티지 외의 용도로 ccache 사용
비 포티지 컴파일을 목적으로 ccache를 사용하려면 PATH 변수의 앞부분에 ( 앞에) 을 추가하십시오. 사용자 홈 디렉터리에 있는 을 편집하면 됩니다. 을 활용하는 방법이 PATH 변수를 정의하는 방법입니다.

미리 빌드한 꾸러미 만들기
포티지는 미리 빌드한 꾸러미의 설치를 지원합니다. 젠투가 자체적으로 미리 빌드한 꾸러미를 제공하는 것은 아니지만, 포티지에서 미리 빌드한 꾸러미를 완전히 인식할 수 있습니다.

미리 빌드한 꾸러미를 만들려면, 꾸러미가 이미 시스템에 설치되어 있는 경우 를 사용하거나, emerge에 옵션 또는  옵션을 붙여서 사용하십시오.

여러분이 설치한 모든 단일 꾸러미에 대해 포티지로 미리 빌드한 꾸러미를 만들려면 FEATURES 변수에 를 추가하십시오.

미리 빌드한 꾸러미를 만들기 위한 더 많은 지원은 catalyst로 받을 수 있습니다. catalyst에 대한 더 많은 정보를 보시려면 Catalyst 자주 묻는 질문en 을 읽어보십시오.

미리 빌드한 꾸러미 설치
비록 젠투에서 제공하는건 아니지만, 미리 빌드한 꾸러미를 저장한 중앙 저장소를 만들 수 있습니다. 이 저장소를 사용하려면 PORTAGE_BINHOST 변수를 통해 저장소를 포티지에서 인식하도록 해야합니다. 예를 들어, 미리 빌드한 꾸러미가 ftp://buildhost/gentoo 에 있다면:

미리 빌드한 꾸러미를 설치하려면, emerge 명령에 옵션 다음에   옵션을 추가하십시오. 이 구성자는 후자가 emerge 에게 소스코드를 가져오고 컴파일 하기 전에 미리 빌드한 꾸러미의 설치를 시도해보라고 알리며, 앞서 정의한 서버에서 미리 빌드한 꾸러미를 내려받으라고 요청합니다.

미리 빌드한 꾸러미를 통해 gnumeric을 설치하려면:

더 많은 emerge의 미리 빌드한 꾸러미 옵션은 emerge 맨 페이지에서 찾아보실 수 있습니다:

미리 빌드한 꾸러미를 다른 곳으로 배포
미리 빌드한 꾸러미를 다른 사용자에게 배포한다면, 이 꾸러미 사용을 허락했는지 확인하십시오. 업스트림 꾸러미의 배포 조항을 확인하십시오. 예를 들어, GNU GPL 조항에 따라 꾸러미를 배포한다면, 소스코드를 바이너리와 함께 배포해야 합니다.

빌드한 바이너리를 배포할 수 없을 경우 ebuild에 RESTRICT 변수를 통해  제한을 걸 수 있습니다. 때로는 이 제한을 하나 이상의 USE 플래그에 넣을 수 있습니다.

기본적으로 포티지는 제한을 이유로 어떤 꾸러미도 가리지 않습니다. 이런 정책은 에서 ACCEPT_RESTRICT 변수를 설정하여 시스템 전체적으로 바꿀 수 있습니다. 예를 들어   값을 가진 꾸러미를 가리려면 에 다음 줄을 추가하십시오:

명령에   옵션을 적용하여 ACCEPT_RESTRICT 변수를 중복 적용할 수 있습니다. 예를 들어,  옵션은   제약 조건으로 임시로 꾸러미를 가립니다.

꾸러미를 배포할 때 ACCEPT_LICENSE 변수 설정을 고려할 수 있습니다. 라이선스 항목을 참고하십시오.

Userfetch
포티지를 루트 권한으로 실행할 때  설정은 꾸러미 소스코드를 가져오는 동안 포티지가 루트 권한을 버릴 수 있게 합니다. 이 방법은 약간의 보안성 개선책입니다.

If  is set in FEATURES be sure to change the owner of all the files beneath  using the  command with root privileges:

검증된 젠투 저장소 스냅샷
관리자는 젠투 인프라에서 출시한 암호화 검증한 포티지 트리 스냅샷을 통해 자체 젠투 이빌드 저장소를 업데이트만 할 수 있습니다. 이런 조치를 통해 rsync 미러에서 내려받을 저장소에 원하지 않는 코드나 꾸러미를 멋대로 추가하지 못하게합니다.

젠투 릴리즈 미디어의 OpenPGP 키는 이제 이진 키 모음으로 사용할 수 있습니다. 꾸러미를 설치하면 OpenPGP키를 이진 키 모음으로 활용할 수 있습니다:

이 명령은 위치에 키 모음을 설치합니다.

꾸러미를 설치했는지 확인하십시오:

키 모듬의 키가 올바른 키인지 확인하기 위해 명령을 사용하십시오:

공식 젠투 릴리즈 기술 프로젝트 페이지에 있는 키의 지문키를 검증하십시오.

다음 명령을 신뢰하고자 하는 각 해당키에 적용하십시오(신뢰하고자 하는 키 ID 앞은 '0x...'로 구분합니다).

GPG 명령줄 메뉴가 나타나야 하고, 키를 완전히 신뢰한다고 답한 후 다음을 입력하여 프로그램을 빠져나가십시오:

이제 OpenPGP/gpg로 검증한 스냅샷만 동기화하도록 설정했습니다:

대부분 명령 옵션은 동기화할 때 사용할 수 있습니다.

Verify distfiles
To re-verify the integrity and (potentially) re-download previously removed/corrupted distfiles for all currently installed packages, run: