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.