Beyond Linux® From Scratch (systemd Edition) - Version 12.1
Chapter 2. Important Information
이전	위로 / 처음으로	다음
Notes on Building Software	Optional Patches

/usr 대 /usr/local 논쟁

XXX를 /usr에 설치해야 하나요 아니면 /usr/local에 설치해야 하나요?

LFS 기반 시스템에서는 명확한 답이 없는 질문입니다.

기존 Unix 시스템에서 /usr에는 일반적으로 시스템 배포와 함께 제공되는 파일이 포함되어 있으며 /usr/local 트리는 로컬 관리자가 자유롭게 관리할 수 있습니다. 단 한 가지 엄격하고 빠른 규칙은 유닉스 배포판은 /usr/local에 기본 디렉터리를 만드는 경우를 제외하고는 /usr/local을 건드리지 말아야 한다는 것입니다.

레드햇, 데비안 등과 같은 리눅스 배포판의 경우 /usr은 배포판의 패키지 시스템에서 관리하고 /usr/local은 그렇지 않다는 규칙이 있을 수 있습니다. 이렇게 하면 패키지 관리자의 데이터베이스가 /usr 내의 모든 파일에 대해 알 수 있습니다.

LFS 사용자는 자체 시스템을 구축하므로 시스템이 끝나는 위치와 로컬 파일이 시작되는 위치를 결정하는 것은 간단하지 않습니다. 따라서 관리하기 쉽도록 선택해야 합니다. 파일을 /usr과 /usr/local로 나누는 데는 몇 가지 이유가 있습니다.

여러 대의 컴퓨터가 모두 LFS를 실행하거나 LFS와 다른 Linux 배포판이 혼합된 네트워크에서 /usr/local은 네트워크의 모든 컴퓨터 간에 공통된 패키지를 보관하는 데 사용할 수 있습니다. 단일 서버에서 NFS 마운트하거나 미러링할 수 있습니다. 여기서 local은 사이트 로컬을 나타냅니다.

모두 동일한 LFS 시스템을 실행하는 여러 컴퓨터로 구성된 네트워크에서 /usr/local은 컴퓨터 간에 다른 패키지를 저장할 수 있습니다. 이 경우 local은 개별 컴퓨터를 의미합니다.

단일 컴퓨터에서도 여러 배포판이 동시에 설치되어 있고 모든 배포판에서 동일한 패키지를 저장할 위치가 필요한 경우 /usr/local이 유용할 수 있습니다.

또는 LFS를 정기적으로 리빌드하지만 매번 리빌드하고 싶지 않은 파일을 저장할 위치가 필요할 수도 있습니다. 이렇게 하면 LFS 파일 시스템을 지우고 매번 모든 것을 잃지 않고 깨끗한 파티션에서 시작할 수 있습니다.

어떤 사람들은 왜 /usr/local 대신 /usr/site와 같은 고유한 디렉토리 트리를 사용하지 않느냐고 묻습니다.

많은 사이트가 자체 트리를 만들기는 하지만 새 소프트웨어를 설치하기가 더 어려워집니다. 자동 설치 프로그램은 종종 /usr 및 /usr/local에서 종속성을 찾으며, 찾고 있는 파일이 /usr/site에 있는 경우 사용자가 특별히 찾을 위치를 알려주지 않으면 설치 프로그램이 실패할 수 있습니다.

이에 대한 BLFS의 입장은 무엇인가요?

모든 BLFS 명령어는 /usr에 프로그램을 설치하며, 일부 특정 패키지의 경우 /opt에 설치하라는 선택적 명령어를 제공합니다.