Handbook:Parts/Working/USE/ko

USE 플래그 개념
젠투(또는 기타 배포판이나 어떤 운영체제든)를 설치할 때, 사용자는 다룰 환경에 따라 몇가지 선택을 하고 싶어합니다. 서버에 대한 설정은 워크스테이션에 대한 설정과 다릅니다. 게임용 워크스테이션은 3D 렌더링 워크스테이션과 다릅니다.

꾸러미를 설치할 때만 그런게 아니며 각각의 꾸러미에서 어떤 기능을 선택해야 하느냐를 따질때도 마찬가지입니다. OpenGL이 필요하지 않은데, 왜 대부분 꾸러미에서의 OpenGL의 설치 및 관리, 빌드 지원이 우릴 귀찮게 할까요? KDE를 쓰고 싶지 않은데, 왜 굳이 없어도 완벽하게 돌아가는 KDE 지원이 꾸러미 컴파일 과정에서 귀찮게 할까요?

사용자가 어떤 꾸러미를 설치하고 활성화 해야 할 지 말지 결정하는 일련의 과정을 돕기 위해, 젠투에서는 사용자가 쉬운 방법으로 환경을 지정하길 원했습니다. 이런 일련의 사고를 통해 사용자가 정말 원하는게 무엇인지 결정하도록 사용자를 끌어넣었고, 쓸모있는 결정을 만드는 포티지의 처리 과정을 쉽게 만들었습니다.

USE 플래그 정의
USE 플래그를 입력하십시오. 각각의 플래그는 지원 기능과 각각의 개념에 대한 의존성 정보를 포함하는 키워드입니다. 어떤 USE 플래그를 지정하면, 포티지에서는 선택한 키워드에 대해 사용자가 어떤 지원 기능을 원하는지 알아차립니다. 물론 이 과정에서 꾸러미에 대한 의존성 정보로 바꾸기도 합니다.

Take a look at a specific example: the kde keyword. If this keyword is not in the USE variable, all packages that have optional KDE support will be compiled without KDE support. All packages that have an optional KDE dependency will be installed without installing the KDE libraries (as dependency). When the kde keyword is defined, then those packages will be compiled with KDE support, and the KDE libraries will be installed as dependency.

올바르게 키워드를 지정하면 사용자의 요구에 맞춰 시스템의 모양새가 갖춰집니다.

USE 플래그에 있는 것
USE 플래그에는 두가지 방식이 있습니다. 하나는 전역, 하나는 지역입니다.


 * A global USE flag is used by several packages, system-wide. This is what most people see as USE flags. A list of available global USE flags can be found on the main site or locally in the file.
 * A local USE flag is used by a single package to make package-specific decisions. A list of available local USE flags can be found on the main site or locally in the file.

영구 USE 플래그 선언
As previously mentioned, all USE flags are declared inside the USE variable. To make it easy for users to search and pick USE flags, we already provide a default USE setting. This setting is a collection of USE flags we think are commonly used by the Gentoo users. This default setting is declared in the files that are part of the selected profile.

시스템이 살펴보는 프로파일은 이 가리킵니다. 각각의 프로파일은 다른 프로파일의 상위에서 동작하며 최종 결과는 모든 프로파일의 합입니다. 최상위 프로파일은 베이스 프로파일입니다.

To view the currently active USE flags (completely), use :

As can be seen, this variable already contains quite a lot of keywords. Do not alter any file to tailor the USE variable to personal needs though: changes in these file will be undone when the portage tree is updated!

To change this default setting, add or remove keywords to/from the USE variable. This is done globally by defining the USE variable in. In this variable one can add the extra USE flags required, or remove the USE flags that are no longer needed. This latter is done by prefixing the keyword with the minus-sign.

KDE와 QT 지원을 제거하고 ldap 지원을 추가한다면, 에서 USE 값을 다음처럼 지정할 수 있습니다:

개별 꾸러미당 USE 플래그 선언
Sometimes users want to declare a certain USE flag for one (or a couple) of applications but not system-wide. To accomplish this, edit. This is usually a single file, but can also be a directory; see for more information. The following examples assume is a single file.

mysql에 대해 berkdb 지원만 포함한다면:

이와 비슷하게 각각의 프로그램에 대해 USE 플래그를 분명히 비활성화할 수 있습니다. PHP에 대한 java 지원을 비활성화할 경우(하지만 의 USE 플래그 지정을 통해 다른 꾸러미에는 활성화할 경우):

임시 USE 플래그 선언
Sometimes users need to set a USE flag for a brief moment. Instead of editing twice (to do and undo the USE changes) just declare the USE variable as an environment variable. Remember that this setting only applies for the command entered; re-emerging or updating this application (either explicitly or as part of a system update) will undo the changes that were triggered through the (temporary) USE flag definition.

다음 예제에서는 seamonkey를 설치하는 과정에서 USE 설정의 java 플래그를 잠깐동안 제거합니다:

우선 처리
물론 어떤 설정이 USE 설정에 우선하는가에 대한 우선 처리 방식이 있습니다. USE 설정에 대한 우선 처리는 우선 순위에 따릅니다(처음 항목은 우선순위가 낮음)
 * 1) 프로파일의 일부인  파일에서 지정한 기본 USE 설정
 * 2) 의 사용자 지정 USE 설정
 * 3) 의 사용자 지정 USE 설정
 * 4) 환경 변수로 지정한 사용자 지정 USE 설정

To view the final USE setting as seen by Portage, run. This will list all relevant variables (including the USE variable) with their current definition as known to portage.

전체 시스템에 새 USE 플래그 적용
After having altered USE flags, the system should be updated to reflect the necessary changes. To do so, use the  option with :

다음, 포티지의 depclean을 실행하여 "이전" 시스템에 이머지한 꾸러미 중, 새 USE 플래그 모음에서 사라진 조건부 의존성을 제거하십시오.

When depclean has finished, run to rebuild the applications that are dynamically linked against shared objects provided by possibly removed packages. is part of the package; don't forget to emerge it first.

모든 과정을 끝나면 시스템에서는 새 USE 플래그를 사용합니다.

사용할 수 있는 USE 플래그 보기
Let's take the example of seamonkey: what USE flags does it listen to? To find out, we use with the   and   options:

isn't the only tool for this job. In fact, there is a tool dedicated to package information called which resides in the  package

Now run with the uses argument to view the USE flags of a certain package. For instance, for the gnumeric package:

REQUIRED_USE 상태 충족
Some ebuilds require or forbid certain combinations of USE flags in order to work properly. This is expressed via a set of conditions placed in a REQUIRED_USE expression. This conditions ensure that all features and dependencies are complete and that the build will succeed and perform as expected. If any of these are not met, emerge will alert you and ask you to fix the issue.

Some examples of this REQUIRED_USE  expression are given below: