USE flag라는것에 대한 정의와 역할이 궁금합니다.
인터넷에 찾아봐도 별로없고. 답변 부탁드리겠씁니다.
패키지의 컴파일 및 설치시에 필요한 설정을 총괄하기 위한 변수입니다.
프로그램을 소스로 설치할 때 컴파일시에 설정해야될 프로그램 옵션들이 있습니다.
예를 들어, 어떤 GUI 프로그램이 위젯 툴킷으로 GTK와 QT를 모두 지원할 때,
make 직전 ./configure 스크립트에 프로그램이 두 위젯 중 선택하여 빌드 될 수 있도록
옵션을 줄 수 있는데, 이 configure 스크립트 옵션을 젠투의 패키지 관리 시스템(portage)은
ebuild 파일에서 USE 변수의 내용을 참고하여 ./configure 명령 옵션 선택하도록 합니다.
또 다른 예로, cpu가 SSE4 명령어 셋을 지원하고 프로그램이 이 명령어 셋을 사용하도록
컴파일 되도록 configure 옵션을 제공한다면,
USE flag에서 sse4를 설정해둠으로써 portage를 통한 패키지 빌드 시에 패키지의 ebuild에 따라
./configure 스크립트에 적절한 옵션으로 주어 되어 패키지가 컴파일&설치 되도록 합니다.
다시말해 프로그램들이 컴파일&설치하는 과정에 필요한 옵션들을 켜고 끌 수 있도록 하는
스위치를 모아둔 변수가 USE flag입니다.
참고로, 어떤 설정의 스위치를 끄기 위해서는 스위치 앞에 '-'(마이너스 부호)를 붙여
USE flag에 설정합니다.
USE="sse4 gtk -qt"라고 /etc/make.conf에 써 넣으면
SSE4, gtk를 지원하는 패키는 옵션을 켜서 컴파일&설치하고
QT를 지원하는 패키지를 설치하더라도 옵션을 끄고 빌드하겠다는 설정입니다.
물론 패키지 별로 이 컴파일 옵션을 설정할 수도 있습니다.
이것은 /etc/portage/package.use 파일을 통해서 가능한데,
예를 들어 "app-editors/emacs xft"라고 한 줄 써 넣으면 emacs를 설치할 때
XFT 옵션을 켜겠다는 뜻입니다.
http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=2
http://ranoking.tistory.com/entry/%EC%A0%A0%ED%88%AC-%EB%A6%AC%EB%88%85%EC%8A%A4%EC%9D%98-USE-Flag-%EC%97%90-%EA%B4%80%ED%95%98%EC%97%AC
http://en.gentoo-wiki.com/wiki/USE_Flags
p.s. gentoo linux에서 매우 기본적인 내용이라 검색하면 많은 설명들을 찾으실 수 있습니다.
답변 감사합니다.
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
간단히 말씀드려,
패키지의 컴파일 및 설치시에 필요한 설정을 총괄하기 위한 변수입니다.
프로그램을 소스로 설치할 때 컴파일시에 설정해야될 프로그램 옵션들이 있습니다.
예를 들어, 어떤 GUI 프로그램이 위젯 툴킷으로 GTK와 QT를 모두 지원할 때,
make 직전 ./configure 스크립트에 프로그램이 두 위젯 중 선택하여 빌드 될 수 있도록
옵션을 줄 수 있는데, 이 configure 스크립트 옵션을 젠투의 패키지 관리 시스템(portage)은
ebuild 파일에서 USE 변수의 내용을 참고하여 ./configure 명령 옵션 선택하도록 합니다.
또 다른 예로, cpu가 SSE4 명령어 셋을 지원하고 프로그램이 이 명령어 셋을 사용하도록
컴파일 되도록 configure 옵션을 제공한다면,
USE flag에서 sse4를 설정해둠으로써 portage를 통한 패키지 빌드 시에 패키지의 ebuild에 따라
./configure 스크립트에 적절한 옵션으로 주어 되어 패키지가 컴파일&설치 되도록 합니다.
다시말해 프로그램들이 컴파일&설치하는 과정에 필요한 옵션들을 켜고 끌 수 있도록 하는
스위치를 모아둔 변수가 USE flag입니다.
참고로, 어떤 설정의 스위치를 끄기 위해서는 스위치 앞에 '-'(마이너스 부호)를 붙여
USE flag에 설정합니다.
USE="sse4 gtk -qt"라고 /etc/make.conf에 써 넣으면
SSE4, gtk를 지원하는 패키는 옵션을 켜서 컴파일&설치하고
QT를 지원하는 패키지를 설치하더라도 옵션을 끄고 빌드하겠다는 설정입니다.
물론 패키지 별로 이 컴파일 옵션을 설정할 수도 있습니다.
이것은 /etc/portage/package.use 파일을 통해서 가능한데,
예를 들어 "app-editors/emacs xft"라고 한 줄 써 넣으면 emacs를 설치할 때
XFT 옵션을 켜겠다는 뜻입니다.
http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=2
http://ranoking.tistory.com/entry/%EC%A0%A0%ED%88%AC-%EB%A6%AC%EB%88%85%EC%8A%A4%EC%9D%98-USE-Flag-%EC%97%90-%EA%B4%80%ED%95%98%EC%97%AC
http://en.gentoo-wiki.com/wiki/USE_Flags
p.s. gentoo linux에서 매우 기본적인 내용이라 검색하면 많은 설명들을 찾으실 수 있습니다.
답변 감사합니다.
답변 감사합니다.
댓글 달기