Linux From Scratch - Version 12.1-systemd
Chapter 8. Installing Basic System Software
이전	위로 / 처음으로	다음
기본 시스템 소프트웨어 설치	패키지 관리

8.1. 개요

이 장에서는 본격적으로 LFS 시스템 구축을 시작합니다.

소프트웨어의 설치는 간단합니다. 많은 경우 설치 지침을 더 짧고 일반적으로 만들 수 있지만, 실수 가능성을 최소화하기 위해 모든 패키지에 대한 전체 지침을 제공하기로 결정했습니다. Linux 시스템의 작동 원리를 이해하는 데 있어 핵심은 각 패키지의 용도와 사용자(또는 시스템)에게 필요한 이유를 파악하는 것입니다.

사용자 지정 최적화는 사용하지 않는 것이 좋습니다. 프로그램을 약간 더 빠르게 실행할 수는 있지만 컴파일에 어려움을 겪거나 프로그램을 실행할 때 문제가 발생할 수 있습니다. 패키지가 사용자 지정 최적화를 사용하여 컴파일되지 않는 경우 최적화하지 않고 컴파일하여 문제가 해결되는지 확인하세요. 사용자 지정 최적화를 사용할 때 패키지가 컴파일되더라도 코드와 빌드 도구 간의 복잡한 상호 작용으로 인해 잘못 컴파일되었을 위험이 있습니다. 또한 책에 명시되지 않은 값을 사용하는 -march 및 -mtune 옵션은 테스트되지 않았음을 유의하세요. 이로 인해 툴체인 패키지(Binutils, GCC 및 Glibc)에 문제가 발생할 수 있습니다. 컴파일러 최적화를 커스터마이징하여 얻을 수 있는 작은 이득보다 잠재적 위험이 더 큽니다. LFS를 처음 읽는 독자는 사용자 지정 최적화 없이 빌드하는 것이 좋습니다.

반면에 저희는 패키지의 기본 구성에 의해 최적화가 활성화된 상태는 유지합니다. 또한 패키지에서 제공하지만 기본적으로 활성화되지 않은 최적화 구성을 명시적으로 활성화하는 경우도 있습니다. 패키지 관리자는 이미 이러한 구성을 테스트하여 안전하다고 판단하였고 빌드가 중단될 가능성은 거의 없습니다. 일반적으로 기본 구성은 이미 -O2 또는 -O3을 활성화하므로 사용자 지정 최적화 없이도 시스템이 매우 빠르게 실행되고 동시에 안정적입니다.

설치 지침 전에 각 설치 페이지에서는 패키지에 포함된 내용, 빌드에 걸리는 대략적인 시간, 빌드 과정에서 필요한 디스크 공간 등 패키지에 대한 정보를 간략하게 설명합니다. 설치 지침 다음에는 패키지가 설치하는 프로그램 및 라이브러리 목록과 간략한 설명과 함께 나와 있습니다.

참고 SBU 값과 필요한 디스크 공간에는 8장의 모든 해당 패키지에 대한 테스트 스위트 데이터가 포함되어 있습니다. SBU 값은 달리 명시되지 않는 한 모든 작업에 대해 4개의 CPU 코어(-j4)를 사용하여 계산되었습니다.

8.1.1. 라이브러리에 관해서

일반적으로 LFS 편집자는 정적 라이브러리를 빌드하고 설치하는 것을 권장하지 않습니다. 대부분의 정적 라이브러리는 최신 Linux 시스템에서 더 이상 사용되지 않습니다. 또한 정적 라이브러리를 프로그램에 연결하는 것은 해로울 수 있습니다. 보안 문제를 제거하기 위해 라이브러리를 업데이트해야 하는 경우 정적 라이브러리를 사용하는 모든 프로그램을 새 라이브러리와 다시 연결해야 합니다. 정적 라이브러리의 사용 여부가 항상 명확하지 않기 때문에 관련 프로그램(및 연결에 필요한 절차)을 알지 못할 수도 있습니다.

이 장의 절차는 대부분의 정적 라이브러리의 설치를 제거하거나 비활성화합니다. 일반적으로 –disable-static 옵션을 전달하여 설정합니다. 그 외에 경우에는 다른 수단이 필요합니다. 일부 경우, 특히 Glibc 및 GCC의 경우 정적 라이브러리 사용이 패키지 빌드 프로세스의 필수 기능으로 남아 있습니다.

라이브러리에 대한 보다 자세한 내용은 BLFS 책에서 라이브러리: 정적 또는 공유를 참조하세요.