/ usr / local 또는 / opt?


43

배포 저장소의 일부가 아닌 패키지의 경우 Linux에서 일반적으로 패키지 설치를 어떻게 진행합니까?

내 편에는 / opt에 설치하는 데 익숙합니다. 그러나 이후 인터넷 에서이 문서를 보았습니다 : http://www.pathname.com/fhs/ . 이제 혼란스러워합니다 : 분명히 / usr / local도 가능합니다.

둘의 차이점은 무엇입니까? 공유 할 모범 사례가 있습니까?

감사

선생님


거룩한 전쟁 영토 이며 실제로 프로그래밍 주제가 아닙니다.
dmckee

1
비슷한 질문 Ask Ubuntu , superuser , unix & linux
kenchew

답변:


32
  • 유닉스 스타일 로 컴파일 및 설치되어야 하고 FHS를 준수하는 모든 것 ->/usr/local
  • 다른 모든 것 (예 : 자체 애플리케이션 서버와 함께 제공되는 Java 웹 애플리케이션 및 zip 아카이브에있는 많은 리소스-> /opt

lintian은 더 이상 / opt 또는 / usr / local에 패키지를 설치할 수 없습니다
Cristiano

24

의 원래 의미 : 그냥 추가 흥미로운 정보와 같은 /usr/local경우이다 /usr입니다 네트워크 설치 (단일 /usr여러 컴퓨터에서 공유), /usr/local컴퓨터 (로컬 디스크에 파티션) 로컬 별도의 파일 시스템이 될 것입니다.

그리고 그 주제에 대해, 다른 주제를 가진 여러 컴퓨터가 있다면 당연히 /usr각 아치마다 하나의 컴퓨터가 있지만 /usr/share아키텍처간에 공유되는 또 다른 별도의 파일 시스템이 될 것입니다 (따라서 '공유') .


4
아니요. 역사적으로 (예, 거기에있었습니다!) / usr et al은 공급 업체에서 제공 한 제품을 보유하고 있었으며 / usr / local은 로컬로 설치 한 제품 (예 : bash, gcc 및 기타 멋진 제품)입니다.
vonbrand

@vonbrand 당신은 정답과 모순 되는가? 호스트간에 공유해야 할 것은 / usr 일 것이고, 필요하지 않은 것은 / usr / local에있을 것입니다
Didier A.

@ Didier A., ​​Unix ( '80es)를 사용하기 시작했을 때 네트워킹이없는 한 대의 컴퓨터가 있었고 / usr 및 / usr / local이있었습니다.
vonbrand

@vonbrand 아, 흥미 롭습니다. 그런 다음 / usr 및 / usr / local을 갖는 원래 의도는 여전히 수수께끼입니다.
Didier A.

@Didier A., ​​다시 : / usr은 운영 체제와 함께 제공되는 것, "표준"항목, / usr / local은 로컬 추가 (홈 브루 잉, 유즈넷에서 탈피, 컨벤션에서 친근한 동료로부터 필적) ... . 표준이 아니라 일반적인 용도로만 사용하십시오.
vonbrand

7

내가하는 방법은 접두사가 필요하거나 바이너리 패키지 인 경우 / opt (Solaris 방식과 거의 비슷)입니다. 소스 / usr / local에서 컴파일하는 경우 내가가는 방법입니다.


6

나는 모든 것을 개인 디렉토리에 넣은 다음 GNU stow 을 사용 합니다.

X.ver 패키지를에 설치하겠습니다 /BASE/stow/X.ver. GNU의 스토우는 다음에 (심볼릭 링크 포함) 모든 패키지를 결합하는 것 /BASE/bin, /BASE/lib

충돌과 패키지 제거는 훨씬 쉽게 처리 할 수 ​​있습니다.


나는 일반적으로 / usr / local / stow / <packagename>을 "포장"을 보관하는 곳으로 사용했으며 좋은 습관 인 것 같습니다. 시스템이 심볼릭 링크를 유지하고 있습니다.
Stephanie

3

FHS 표준을 해석하는 방법은 다음과 같습니다.

/ usr / local은 패키지화되었거나 운영 체제 인스턴스의 일부가 될지 여부에 관계없이 로컬로 빌드되거나 로컬로 설치된 파일을위한 것입니다.

/ opt는 운영 체제의 일부가 아닌 "외부"패키지를 설치하는 장소입니다.

파일을 빌드하는 단일 시스템에서만 파일을 사용하는 한, / usr / local은 괜찮으므로 대부분의 오픈 소스 소프트웨어의 기본 디렉토리입니다.

패키지를 재배포 할 계획이라면 / opt / myPackage와 같은 사용자 정의 기본 디렉토리를 사용하는 것이 좋습니다.


2

솔라리스는 / opt를 많이 사용했습니다. 많은 최신 Linux 배포판에서 이제 / usr / local /의 패키지가 필요합니다. 이 시스템은 운영 체제와 달리이 시스템이 수행하는 작업을 수행 할 수 있도록 소프트웨어를 설치하는 곳과 동일합니다. Windows 시스템의 "프로그램 파일"과 대략 유사합니다.

하나를 골라 붙입니다. / opt / usr / local을 심볼릭 링크하는 것은 쉽습니다.


나는 Lee의 의견, 문제에 대한 좋은 생각입니다. 데비안 컴퓨터에서 / opt를 사용하는 것이 조금 이상하게 느껴지지만 아마도 개인적인 취향 일 것입니다.
Kyle Hodgson

제발 하지마 FHS는 다소 구식 일 수도 있지만 / usr vs / usr / local vs / opt의 견실 한 근거는 다음과 같습니다. 표준, 배포가 제공됩니다. 홈 브루 또는 실험용 깃 허브와 같은 로컬에 설치; 공급 업체가 제공 한 비표준 품목.
vonbrand

0

운영 체제 배포에서 제공하는 소프트웨어를 다시 컴파일하는 경우 고유 한 시스템에 특정한 여러 아키텍처 이점을 활용하려면 / usr / local을 사용하십시오.

운영 체제 배포 이외의 다른 소스에서 소프트웨어를 추가하는 경우 / opt에 넣으십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.