4.5. SBU에 대해

많은 사람들이 각 패키지를 컴파일하고 설치하는 데 대략 얼마나 걸리는지 미리 알고 싶어한다. Linux From Scratch는 아주 다양한 시스템에 구축될 수 있기 때문에 정확한 시간 추정치를 제공하는 것은 불가능하다. 가장 큰 패키지(Glibc)는 가장 빠른 시스템에서는 약 20분이 걸리지만 느린 시스템에서는 최대 3일이 걸릴 수 있다! 실제 시간을 이야기하는 대신 표준 빌드 단위(SBU)측정을 사용할 것이다.

SBU는 다음과 같다. 이 책에서 처음으로 컴파일하는 패키지는 5장에서의 Binutils이다. 이 패키지를 컴파일하는 데 걸리는 시간이 표준 빌드 단위 또는 SBU로 언급될 단위이다. 다른 컴파일 시간은 모두 이 시간에 비례하여 표현될 것이다.

예를 들어 컴파일 시간이 4.5SBU인 패키지가 있다고 하자. 이는 시스템이 Binutils를 컴파일하고 설치하는 데 10분이 걸렸을 경우, 이 예시 패키지를 빌드하는데 대략 45분이 소요된다는 것을 의미한다. 다행히도 대부분의 빌드 시간은 Binutils보다 적게 걸린다.

일반적으로 SBU는 호스트 시스템의 GCC 버전을 포함한 많은 요인에 따라 다르기 때문에 완전히 정확한 것은 아니다. 패키지를 설치하는 데 얼마나 걸릴지 알리기 위해 표기되어 있지만, 경우에 따라 그 오차는 수십 분까지 차이날 수 있다.

[참고]

참고

프로세서(또는 코어)가 여러 개인 최신 시스템의 경우, 환경 변수를 설정하거나 make 프로그램에 가용한 프로세서 수를 입력해 "병렬 make"를 진행함으로써 패키지의 컴파일 시간을 줄일 수 있다. 예를 들어 Core2Duo는 다음 명령으로 2코어를 동시에 사용할 수 있다:

export MAKEFLAGS='-j 2'

또는 그냥 바로 빌드하려면:

make -j2

여러 개의 프로세서를 이런 식으로 사용할 경우, 책에 있는 SBU 단위는 기존보다 훨씬 더 차이날 것이다. 경우에 따라 make 단계에서 에러가 날 수도 있다. 서로 다른 처리 작업이 교차하기 때문에 빌드 과정의 출력을 분석하기도 더 어려울 것이다. 빌드 단계에서 문제가 발생하면 단일 프로세서 빌드로 되돌아가서 오류 메시지를 정확히 분석하라.