내 패키지가 /opt에 설치되는 이유는 무엇입니까?

내 패키지가 /opt에 설치되는 이유는 무엇입니까?

얼마 전, 나는 Debian 컴퓨터의 소스에서 Couchdb를 설치했습니다. 잘 설치되고 모든 것이 잘 작동하는 것 같습니다.

몇 주 후에 dpkg를 사용하여 .deb에서 업그레이드하고 설치하고 싶습니다. 이제 모든 것이 에 설치된 것 같습니다 /opt. 모두 잘 작동하는 것 같지만 왜 모두 에 설치되었는지 이해가 되지 않습니다 . 에 /opt직접 설치하는 것만큼 "부드럽게" 느껴지지 않습니다 . /etc/couchdb에 설치된 구성 파일을 편집할 때보다 구성이 더 번거롭습니다./usr/local/bin/etc/var/log

/opt설치가 "좋은 것"인 이유와 이전에 소스에서 설치하는 것보다 이것이 더 나은 방법인 이유를 설명해 주시겠습니까 ?

다소 모호한 질문인 건 알지만 저는 Linux만 잘하고 전문가는 아니고 Linux에 설치하는 이유를 이해하지 못합니다./opt

답변1

이것파일 시스템 계층 표준다음 정의를 고려하면:

  • /opt:추가 신청 패키지
  • /usr/local: 로컬 계층 구조(소프트웨어를 로컬로 설치할 때 시스템 관리자가 사용함)

내가 읽는 방법은 다음과 같습니다.

  • 표준 시스템 애플리케이션이 입력되어야 하며 /bin( /usr/bin묵시적으로)
  • 타사 패키지가 들어가야 합니다./opt
  • /usr/local시스템 관리자가 원하는 경우에만 설치해야 합니다.

더 나아가 시스템 관리자가 dpkg무언가를 사용하거나 설치하는 경우 rpm기본적으로 해당 상태가 되어서는 안 됩니다 /usr/local.

따라서 올바른 일을 하고 있다고 말하는 것이 안전합니다.

답변2

데비안 정책설명하다

9.1.2 현장별 절차

FHS에 따르면 패키지는 /usr/localdpkg로 압축을 풀기 위해 파일 시스템 아카이브에 파일을 배치하거나 유지 관리자 스크립트에서 파일을 조작하여 에 파일을 넣어서는 안 됩니다.

그러한 구체적인 금지사항은 없습니다 /opt. 정책도 늘어

설치된 모든 파일과 디렉터리의 위치는 FHS(Filesystem Hierarchy Standard) 버전 2.3을 준수해야 합니다. 단, 아래에 명시된 예외와 그렇게 하면 데비안 정책의 다른 조항을 위반하게 됩니다.

그리고파일 계층 표준설명하다

/opt/bin, /opt/doc, /opt/include, /opt/info및 디렉토리 /opt/lib/opt/man로컬 시스템 관리자용으로 예약되어 있습니다.

그럼 아래로 내려가

Distros는 소프트웨어를 설치할 수 있지만 /opt로컬 시스템 관리자의 허가 없이 로컬 시스템 관리자가 설치한 소프트웨어를 수정하거나 제거할 수는 없습니다.

정책은 Debian 자체에 적용되지만 일반적으로 모범 사례 권장 사항에 해당합니다. 기사를 올바르게 읽고 있다면 바이너리(deb) 패키지를 설치하는 것은 금물이지만 /usr/local시스템 관리자의 공간 사용을 방해하지 않는 한 괜찮다는 것이 밝혀졌습니다./opt

/usr/local내 개인적인 의견은 deb 패키지를 또는 에 넣는 것은 좋은 생각이 아니라는 것입니다 /opt. 나는 D4RIO에 동의하지 않습니다:

데비안에는 Couchdb 패키지(공식 패키지를 의미합니다)가 있으므로 다른 패키지를 다운로드하더라도 문제가 되지 않습니다. /opt또는 에 설치해야 합니다 /usr/local/bin.

일반적으로 동일한 소프트웨어에 해당하는 두 개의 다른 deb 패키지가 설치되는 것을 원하지 않으며 실제로 동일한 패키지 이름인 경우 dpkg는 이를 허용하지 않습니다. 공식 패키지로 제공되는 비공식 데비안 소프트웨어 패키지는 일반적으로(항상 그런 것은 아님) 공식 패키지와 이름이 같습니다. 둘 중 하나만 설치하면 됩니다.

어쨌든, deb 패키지를 넣는 것은 /opt나쁜 생각이라고 생각합니다. 최근에 이런 일이 일어나는 것을 본 유일한 시간은 Chrome에서였습니다. 그러나 Google이 항상 모범 사례를 따르는 것은 아닙니다.

답변3

/opt타사 소프트웨어와 함께 작동합니다. 데비안용 Couchdb 패키지(공식 패키지를 의미합니다)가 있으므로 다른 패키지를 다운로드하더라도 문제가 되지 않습니다. /opt또는 에 설치해야 합니다 /usr/local/bin.

답변4

데비안이 아니더라도,페도라 패키징 가이드이에 대해 매우 명확하게 설명하십시오.

…Fedora 패키지는 /opt 또는 /usr/local 아래에 파일이나 디렉터리를 가질 수 없습니다…

패키지가 /opt에 항목을 넣지 않는 이유는 매우 간단합니다. 앞에서 언급한 것처럼 파일 계층 표준에 따르면...

Distros는 /opt에 소프트웨어를 설치할 수 있지만 로컬 시스템 관리자의 허가 없이 로컬 시스템 관리자가 설치한 소프트웨어를 수정하거나 제거할 수는 없습니다.

설치 또는 업데이트로 해당 데이터가 수정될 수 있으므로 소프트웨어 패키지에서는 이를 보장하지 않습니다.

나는 Fedora가 데비안이 아니라는 것을 알고 있지만 이 경우에는 매우 유사하다고 생각합니다. 특히 데비안의 패키지 검사 도구인 Lintian에는 이에 대한 특별한 버그가 있습니다:디렉터리 또는 파일 선택

관련 정보