“표준”이란 무엇입니까? 응용 프로그램 (이진뿐만 아니라 전체 배포)을 / usr / local 또는 / usr / local / share에 배치해야합니다.
예를 들어 스칼라 또는 weka는 예제, 바이너리, 라이브러리 등을 포함합니다. 그래서 그것은
/usr/local/scala-2.9.1
또는
/usr/local/share/scala-2.9.1
내가 유일한 관리자이기 때문에 큰 문제는 아니지만 내 자신의 관습이 아닌 널리 사용되는 것을 사용하는 것을 선호합니다.
중요 : 앱을 / usr / local / bin, / usr / local / lib 등으로 분할 해야하는 경우에 대해서는 묻지 않습니다. 오히려 전체 응용 프로그램에 대해 하나의 기본 디렉토리를 유지해야 할 경우를 묻습니다.
답변
이런 종류의 상황에서는 / opt가 더 표준 적이라고 생각합니다. 파일 시스템 계층 표준의 관련 섹션 은 다음과 같습니다.
배포판은 / opt에 소프트웨어를 설치할 수 있지만 로컬 시스템 관리자의 동의없이 로컬 시스템 관리자가 설치 한 소프트웨어를 수정하거나 삭제해서는 안됩니다.
이론적 근거 애드온 소프트웨어에 / opt를 사용하는 것은 UNIX 커뮤니티에서 잘 확립 된 방법입니다. System V 인터페이스 정의 (Third Edition)를 기반으로하는 System V 응용 프로그램 이진 인터페이스 [AT & T 1990]는 여기에 정의 된 것과 매우 유사한 / opt 구조를 제공합니다.
iBCS2 (Intel Binary Compatibility Standard v. 2)도 / opt와 유사한 구조를 제공합니다.
일반적으로 시스템에서 패키지를 지원하는 데 필요한 모든 데이터는 / opt /의 예약 된 디렉토리뿐만 아니라 / etc / opt / 및 / var / opt /로 복사하려는 파일을 포함하여 / opt / 내에 있어야합니다.
배포가 설치된 소프트웨어와 로컬에 설치된 소프트웨어, 특히 일부 바이너리 소프트웨어에 고정 경로 이름이있는 경우 충돌이 발생할 수 있으므로 / opt를 사용한 배포에 대한 약간의 제한이 필요합니다.
/ opt / 아래의 디렉토리 구조는 소프트웨어의 패키지 관리자에게 맡겨져 있지만 패키지를 / opt //에 설치하고 / opt / package에 대한 지침과 유사한 구조를 따르는 것이 좋습니다. 이 구조에서 벗어나는 유효한 이유는 / opt // lib 또는 / opt // bin에 파일이 설치되어있는 지원 패키지 때문입니다.
답변
/usr/local/share
특정 아키텍처 / OS 버전과 관련이없는 파일 에만 사용해야 합니다.
그 후에는 기존 하위 디렉토리 사이에 파일을 배포할지 /usr/local
또는 새로운 전용 디렉토리를 만들지에 달려 있습니다 /usr/local
(그러나 후자는 실행 파일에 아직 존재하지 않습니다 PATH
.LD_LIBRARY_PATH
, 나 MANPATH
).
상기 봐 가지고 FHS를
답변
/opt
평범 해질 때까지 일반적인 장소는 /usr/local/lib/<package>
입니다.
답변
로컬 응용 프로그램을 설치할 때 액세스 및 업데이트 방법에 따라 여러 옵션이 있습니다. 또한 일부 방법은 기존 시스템과 비슷하게 보이고 일부 방법은 더 특별합니다. “최상의”솔루션은보다 쉽게 관리 할 수있는 솔루션이라고 제안합니다.
이 답변은 사용자 지정 설치를위한 패키지 수를 기준으로 분할되었습니다. 나누는 것은 내 자신의 경험을 기반으로합니다. 이러한 경험은 패키지를 관리하는 데 걸리는 시간과 무언가를 엉망으로 만들 위험이 있습니다. 나는 공통 표준에 대한 지식이 있다는 것을 의미하는 것이 아니라, 결정을 내릴 때 참조 할 기준으로 의미합니다.
패키지가 거의없는 경우 애드온 패키지를/opt
에는 방해가되지 않으므로 다른 것을 엉망으로 만들 수 있습니다. 이것이 NAS에서 사용하는 방법입니다. 그러나이 방법은 바이너리를 PATH에 보관하지 않으므로 수동으로 추가해야합니다. 설치할 패키지가 거의없는 경우에는 잘 작동하지만 패키지가 많으면 상당히 혼란스러워집니다.
단순히 디렉토리를 덮어 쓰므로 여기에서 업데이트하는 것은 매우 쉽습니다.
장점 :
- 단순한
- 빠른 설치
- 시스템의 다른 부분에 영향을 미치지 않습니다
- 제거는 설치만큼 쉽습니다
단점 :
- 설치할 패키지 수가 많으면 다소 지루합니다.
PATH
지저분 하게 보입니다.
몇 가지 패키지 이상 , 내가 사용하는 것이 좋습니다 것입니다 /usr/local/<your package>
및 심볼릭 링크에서 실행 파일을 /usr/local/bin
또는 /usr/local/sbin
당신이 루트 권한을 필요로하는 경우에 따라 달라집니다. 이렇게하면 새로운 것이 추가 될 때마다 PATH를 변경하지 않아도되므로 PATH가 깨끗하게 유지됩니다. 이것은 팩맨이 아닌 모든 패키지와 AUR 패키지를 위해 Arch 랩탑에서 사용하는 방법입니다.
패키지 디렉토리를 덮어 쓰고 symlink가 여전히 유효한지 확인하고 유효하지 않은 경우 수정하여 업데이트합니다.
찬성
PATH
지저분 하지 않습니다- 기본 시스템에 영향을 미치지 않습니다
- 모든 애드온을 제거하고 깨끗한 기본 시스템으로 돌아가는 것은 여전히 매우 간단합니다.
단점 :
- 설정 작업 더
- 하나의 패키지 만 제거하면 일부 검색이 수행됩니다.
많은 패키지 . 이것은 당신이 원하는 것이 아니기 때문에 간단히 설명하겠습니다. 나는에 분할에게 패키지를 추천 할 것입니다 bin
, lib
, share
, 등을로 설치 /usr/local
. 이것은 구조를 깨끗하게 유지하는 것입니다. 누가 더 많은 것을 쓸 수 있는지 지정할 수도 있습니다. 예를 들어 루트 이외의 사람들이 실행 파일을 수정하는 것을 원하지 않습니다.
여기서 하나 이상의 디렉토리에 기록해야하므로 업데이트가 약간 까다로워집니다. 나는 모든 것을 포장하고 패키지 관리자가 나머지를 처리하게하는 것이 좋습니다.
공유
share
Faheem의에서 언급 한 바와 같이 디렉토리 자체는 아키텍처 독립적 인 파일입니다 링크 에 가야하고 아키텍처 종속 파일 lib
, lib32
, lib64
, 등