"Trans:GentooX86Handbook3-6"의 두 판 사이의 차이
Darkcircle (토론 | 기여) (→개요) |
Darkcircle (토론 | 기여) (→개요) |
||
8번째 줄: | 8번째 줄: | ||
{{Example|코드 예제 1.1: 포티지 맨 페이지 보기|$ {{blue|man portage}}<br/>$ {{blue|man make.conf}} }} | {{Example|코드 예제 1.1: 포티지 맨 페이지 보기|$ {{blue|man portage}}<br/>$ {{blue|man make.conf}} }} | ||
+ | |||
+ | 결국 제대로 동작하지 않는 상황에서 고급 기능을 알아내는 것은 디버깅을 할 수 있게 해주며 상당히 어려운 문제해결을 가능하게 해줍니다. 버그를 만나서 버그 보고서를 제출하려 한다면 이들 사항에 주의를 기울였는지 확인해보십시오. | ||
+ | |||
+ | === 패키지별 환경 변수 === | ||
+ | ==== /etc/portage/env 사용하기 ==== | ||
+ | 기본적으로 패키지 빌드시 /etc/portage/make.conf에 정의된 {{blue|CFLAGS}}, {{blue|MAKEOPTS}} 등과 같은 환경 변수를 사용합니다. 일부의 경우 여러분들은 각각의 지정된 패키지에 대해 다른 변수들을 제공하려 할 것입니다. 이렇게 하기 위해 포티지에서는 /etc/portage/env와 /etc/portage/package.env의 사용을 지원합니다. | ||
+ | |||
+ | /etc/portage/package.env파일에는 여러분이 뭘 바꾸려는지 포티지에 알려줄 특정 식별자와, 이 식별자를 벗어난 변수들에 대한 패키지 목록을 포함합니다. 여러분이 직접 선택한 식별자 이름을 포티지가 해당 변수에 대한 내용을 /etc/portage/env/<식별자> 파일에서 찾아볼 것입니다. | ||
+ | |||
+ | ==== 예제: 특정 패키지에 디버깅 사용하기 ==== | ||
+ | 예제를 통해 media-video/mplayer 패키지에 대해 디버깅을 활성화 하겠습니다. | ||
+ | |||
+ | 제일 먼저 /etc/portage/env/debug-cflags 파일에서 디버깅 변수를 설정하겠습니다. 이름은 임의대로 정했지만, 물론 왜 임의대로 지은 이름을 넣는지에 대해 더욱 명확하게 하기 위해 임의 대로 지은 이름의 이유를 반영하겠습니다. | ||
+ | |||
+ | {{Example|코드 예제 2.1: /etc/portage/env/debug-cflags 내용|<nowiki>CRLAGS="-O2 -ggdb -pipe"<br/>FEATURES="${FEATURES} nostrip"</nowiki>}} | ||
+ | |||
+ | 그 다음 이 내용을 사용하기 위해 media-video/mplayer 패키지 태그를 넣겠습니다. | ||
+ | {{Example|코드 예제 2.2: /etc/portage/package.env 내용|media-video/mplayer debug-cflags}} | ||
+ | |||
+ | === 이머지 과정 훅킹하기(동작 가로채기) === | ||
+ | ==== /etc/portage/bashrc와 관련 파일 사용하기 ==== | ||
+ | |||
+ | ==== 예제: 파일 데이터베이스 업데이트 ==== |
2013년 1월 3일 (목) 04:46 판
목차
고급 포티지 기능
개요
대부분의 사용자들에게 지금까지 전달한 정보는 그들의 전체적인 리눅스 활용 측면에 있어 충분합니다. 하지만 포티지는 좀 더 방대합니다. 포티지의 대부분의 기능은 고급 사용자를 위한 것들이거나 특정 일부의 경우에만 활용할 수 있습니다. 고로, 이런 경우들에 대해 문서화하지 않는 것이 전혀 실례가 되지 않을 것입니다.
물론 수많은 유연성은 엄청나게 많은 잠재적 경우의 수를 수반하기도 합니다. 그들 모두를 이곳에 문서화할 수는 없습니다. 대신 여러분의 필요에 맞추기 위해 여러분이 좀 더 자세를 낮춰서 볼 수 있는 일부 일반적인 문제들에 초점을 맞추려 합니다. 좀 더 특별한 꼼수나 요령이 필요하다면 여기 대신 젠투 위키에서 찾아보십시오.
이런 경우가 아니라면 대부분, 포티지에서 제공하는 메뉴얼 페이지를 깊게 파고들면 이러한 추가 기능들에 대해 찾아보실 수 있습니다.
코드 예제 1.1: 포티지 맨 페이지 보기 |
$ man portage $ man make.conf |
결국 제대로 동작하지 않는 상황에서 고급 기능을 알아내는 것은 디버깅을 할 수 있게 해주며 상당히 어려운 문제해결을 가능하게 해줍니다. 버그를 만나서 버그 보고서를 제출하려 한다면 이들 사항에 주의를 기울였는지 확인해보십시오.
패키지별 환경 변수
/etc/portage/env 사용하기
기본적으로 패키지 빌드시 /etc/portage/make.conf에 정의된 CFLAGS, MAKEOPTS 등과 같은 환경 변수를 사용합니다. 일부의 경우 여러분들은 각각의 지정된 패키지에 대해 다른 변수들을 제공하려 할 것입니다. 이렇게 하기 위해 포티지에서는 /etc/portage/env와 /etc/portage/package.env의 사용을 지원합니다.
/etc/portage/package.env파일에는 여러분이 뭘 바꾸려는지 포티지에 알려줄 특정 식별자와, 이 식별자를 벗어난 변수들에 대한 패키지 목록을 포함합니다. 여러분이 직접 선택한 식별자 이름을 포티지가 해당 변수에 대한 내용을 /etc/portage/env/<식별자> 파일에서 찾아볼 것입니다.
예제: 특정 패키지에 디버깅 사용하기
예제를 통해 media-video/mplayer 패키지에 대해 디버깅을 활성화 하겠습니다.
제일 먼저 /etc/portage/env/debug-cflags 파일에서 디버깅 변수를 설정하겠습니다. 이름은 임의대로 정했지만, 물론 왜 임의대로 지은 이름을 넣는지에 대해 더욱 명확하게 하기 위해 임의 대로 지은 이름의 이유를 반영하겠습니다.
코드 예제 2.1: /etc/portage/env/debug-cflags 내용 |
CRLAGS="-O2 -ggdb -pipe"<br/>FEATURES="${FEATURES} nostrip" |
그 다음 이 내용을 사용하기 위해 media-video/mplayer 패키지 태그를 넣겠습니다.
코드 예제 2.2: /etc/portage/package.env 내용 |
media-video/mplayer debug-cflags |