PC 컨텍스트에서 / opt 및 / usr / local 디렉토리 사용


65

디렉토리 /opt와 /usr/local디렉토리 의 차이점은 무엇이며 어떤 종류의 프로그램을 설치해야합니까?

나는 Linux File-system Hierarchy를 언급 했지만 그 설명은 명확하지 않다. 위의 링크에 따르면;

/opt :-이 디렉토리는 기본 설치의 일부가 아닌 모든 소프트웨어 및 애드온 패키지 용으로 예약되어 있습니다.

/usr/local:- /usr/local계층은 소프트웨어를 로컬로 설치할 때 시스템 관리자가 사용합니다. 시스템 소프트웨어가 업데이트 될 때 덮어 쓰기되지 않도록 안전해야합니다.

네트워크 컴퓨터가없는 PC와 관련하여 여러 로컬 사용자가 액세스 할 소프트웨어를 설치하기위한 디렉토리는 무엇입니까? (예 : netbeans와 같은 소프트웨어를 어디에 설치해야합니까)

감사합니다


4
Chrome opt은 어떤 이유로 든 해당 디렉토리를 사용합니다.
— Camilo Martin

2
@CamiloMartin 이온 성인 것 같습니다 opt.
— becko

4
@becko 글쎄요, opt구글 광고라면 반드시 선택 해야 opt합니다.
— Camilo Martin

3
당신이 어디에 opt있든 imus Prime이 더 잘 들립니다.
— erm3nda

2
Lol .. 나는 파티에 늦게 왔어. 그러나 당신은 사람들이 opt댓글 섹션을 많이 본 것처럼 보인다 .. : P
— john400

답변:


71

/opt는 해당 패키지의 범위를 벗어난 종속성에 의존하지 않는 타사 응용 프로그램을위한 것입니다. /usr/local이 패키지는 배포 패키지 관리자 범위 밖에서 설치된 패키지 용입니다.

예를 들면 :

.deb로 제공되는 오픈 소스 sip-client는에 설치됩니다 /usr. Qt 프레임 워크로 구축 된 경우 apt는이를 의존성으로 끌어들입니다.

소스에서 빌드 된 동일한 오픈 소스 sip-client가 상주 /usr/local하므로 나중에 동일한 애플리케이션에 .deb 패키지를 설치 한 경우 apt가 엉망이되지 않습니다. 소스에서 종속성을 빌드하거나 패키지 관리자에서 가져올 수 있습니다.

의 타사 응용 프로그램 /opt은 자체 포함되어 있어야합니다. 예를 들어 Qt를 사용하는 독점 sip-client는 apt의 버전에 의존하지 않지만 번들로 제공되거나 정적으로 링크됩니다.

자세한 정보는 Filesystem Hierarchy Standard를보십시오 .


1
그래서 netbeans는 jdk 및 다른 컴파일러에 따라 + usr / local로 이동합니다.
— Niroshan

1
대답은 '예'입니다.
— Egil

1
여기 에 conda제안 된대로 전역으로 설치하려면 올바른 장소입니까? /opt
— Alexey

@Egil, 왜 Mac에 opt 디렉토리가 없습니까?
— Pacerier

이전에이 답변을 찬성했지만, 이제 결론은 이 Linux Journal 기사 와 약간 다릅니다 . 이 기사는 패키지 소프트웨어의 경우 패키지를 제공 한 사람에게 중요 하다는 것을 암시 합니다 . 패키지가 OS의 패키지의 repo에서라면, 그것은 아래에 설치해야한다 /usr(또는, 아마, 심지어 바로 아래 /bin, /lib등) 평소와 같이. 그러나 다른 출처에서 온 경우에 넣어야합니다 /usr/local. 그것은 잠재적으로 .deb답변에 "오픈 소스 sip-client" 를 포함 할 것입니다.
— sampablokuper

12

타사 바이너리 전용 패키지를에 설치합니다 /opt.

내가 넣을 소스에서 자신을 구축하는 모든 것 /usr/local.

netbeans우분투 저장소에 있습니다. 특정 버전이 필요하십니까?


그 뒤에 근거가 있습니까? 아니면 좋은 습관입니까? (예를 들어 netbeans를 예로 들었습니다. 모호성을 제거하기 위해 해당 부분을 변경했습니다). 감사합니다
— Niroshan

다른 답변이 가장 좋다고 생각합니다. 일반적으로 타사 바이너리는 독립적입니다.
— Broam

파이썬이나 자바 소프트웨어와 같은 런타임에 의존하는 것은 어떻습니까? 나는 그것들을 입 /opt었지만 그것이 정확한지 확실하지 않습니다.
— Camilo Martin

8

포장에 관한 것입니다. 무언가가 LHS 방식으로 패키지되어 있다면 (실행 파일을 bin / 라이브러리에 lib / 등에 넣는 것) / usr / local로 가야합니다.

최상위 디렉토리가 있고 해당 모델을 따르지 않는 경우 / opt로 이동합니다. 일반적으로 PATH에 / opt에 내용을 명시 적으로 추가해야합니다.

수퍼 유저에 대한이 질문 도 참조하십시오.


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