답변:
Filesystem Hierarchy Standard 에 따르면 응용 프로그램에 따라 수용 가능한 여러 곳이 있습니다. 나는 여기에서 광범위하게 인용하고 있습니다.
bin
물론 "이진"의 줄임말sbin
"서버 바이너리"의 약자.
시스템 관리에 사용되는 유틸리티 (및 다른 루트 전용 명령)
/usr
공유 가능, 읽기 전용 데이터 용이며 다양한 FHS 호환 호스트간에 공유 가능해야합니다 (네트워크에 많은 시스템이 있고 모두 동일한 아키텍처 인 경우 단일 / usr 폴더를 공유 할 수 있어야합니다) 네트워크의 모든 컴퓨터와 함께)
/usr/local
소프트웨어를 로컬로 설치할 때 시스템 관리자가 사용합니다 (예 : 네트워크의 모든 컴퓨터가 아닌이 컴퓨터에만 설치된 응용 프로그램의 경우).함께 모아서 :
/usr/bin
시스템에서 실행 가능한 명령의 기본 디렉토리입니다./usr/sbin
시스템 관리자가 독점적으로 사용하는 비 필수 바이너리입니다. /sbin
(즉, 당신이 순서에 액세스하는 데 필요한 일을 탑재하는 대신 /usr/sbin
에 이동 /sbin
)/usr
마운트 되기 전에 필요할 수있는 필수 사용자 명령이 들어갑니다./bin
/usr/local/bin
오거나/usr/local/sbin
/ usr / local에는 다른 용도가 있습니다. 배포판의 패키지 관리자를 통해 설치하는 대부분의 항목은 / usr에 있습니다. 많은 사람들이 컴파일 한 것들을 / usr / local 아래에 넣습니다. 이를 통해 패키지 관리 시스템에 방해가되지 않으며 배포판에서 설치 한 내용 (및 다시 가져올 수 있으므로 백업 할 필요가 없음)과 직접 컴파일 한 내용을 확인할 수 있습니다. 또한 다른 버전을 동시에 실행할 수 있습니다 (예 : / usr / bin / firefox vs / usr / local / bin / firefox).
일이 해결되었다고 생각했을 때, 다른 장소가 있습니다. 아마도 가장 가까운 c:\Program Files
- /opt
:
/opt
애드온 응용 프로그램 소프트웨어 패키지 설치를 위해 예약되어 있습니다 .`
/opt
아마 가장 가까운 동일합니다 c:\program files
, 그것은 하나 개의 장소에서 당신이 함께 하나 개의 폴더에있는 모든 파일과 응용 프로그램을 찾을 것이 아니라 흩어져하는 기대 /usr/bin
, /var
그리고 /etc
. 일반적으로 매우 큰 패키지에서만 사용되지만이 경우 Netbeans가 자체 폴더를 원할 경우 / opt / netbeans에 배치하는 것이 가장 적합합니다.
실제로 그것은 개인 취향에 달려 있습니다. 나는 그것이 가치있는 것에 대해 설명 할 것이다.
/ usr, / usr / bin은 일반적으로 시스템에서 설치 한 소프트웨어를 설치할 장소입니다. 직접 설치하면 여러 위치 중 하나에 설치됩니다.
왜 # 2와 # 3을 구별합니까? 아니, 시간이 지남에 따라 개발 한 습관 일뿐입니다. / opt는 일반적으로 깊은 파일 트리가되지만 실제로는 2 ~ 3 개의 실제 '사물'만 설치되어 있습니다. 이 시점에서 opt에 lampp 및 lotus 노트가 설치되어 있으며 각각 2 개 디렉토리에 각각 큰 나무가 있습니다. / usr / local / bin에는 20 개 또는 30 개의 항목이 있지만 하위 디렉토리는 없습니다.
수동으로 추가하는 것은 표준 저장소에서 단순히 설치하는 것이 아니라 수동으로 유지하기 때문에 / usr / bin 또는 / usr / sbin에 설치하지 않습니다.
그동안 파일 시스템 계층 구조 표준 않는 몇 가지 지침을 제공합니다. 대부분의 배포판은에 패키지를 설치하는 것을 좋아합니다 /usr/share
.
이 때문에 패키지 관리자 (rpm / apt-get / emerge)를 통해 설치되지 않은 응용 프로그램을 설치하는 방법을 채택했습니다 /usr/local
. 이를 통해 패키지 관리를 통해 관리되지 않는 응용 프로그램과 라이브러리를 분리 할 수 있습니다.
Fedora Core와 Gentoo에서 시스템을 관리하는 데 도움이 된 기술입니다.
기본 위치는이라고 생각했을 /bin
것입니다. apt-get 또는 이와 유사한 것을 사용하면 기본적으로 거의 모든 것이 설치되는 곳입니다 ...
... 그러나 추가 파일이 많은 최신 프로그램 (또는 설치 프로그램이없는 프로그램)의 경우 파일을 자신의 디렉토리에 배치하고 싶습니다 /bin
.
여러 서버에 설치하는 대부분의 애드온 앱에 / apps를 사용하고 싶습니다. 내 nfs 서버의 / installs / apps에 폴더 사본을 보관합니다. 새 Linux 서버를 만들 때 설치 폴더를 마운트하고 / apps를 복사하면 새 서버에 여러 가지 공통 앱이 있습니다. 이 새 서버에 필요하지 않은 항목을 삭제하고 완료했습니다. 글쎄, 환경 변수 또는 경로 문장을 설정하기 위해 스크립트를 3 ~ 3 개 실행해야하지만 많은 새 서버를 설정하는 데 걸리는 것입니다.
나는 Windows와 .net 배경에서 왔습니다. .net의 약속 중 하나는 Windows xcopy를 사용하여 대부분의 앱을 설치할 수 있다는 것입니다. 나는 리눅스에서 같은 것을 찾습니다. 가능한 경우 RPM 또는 yum 등에서 tarball을 선택하므로 cp -r을 사용하여 / apps에 배포하고 향후 배포를 위해 앱을 nfs 서버에 추가 할 수 있습니다.