답변:
여기에는 자신의 개인 종교에 의해 지시 된 것과 hier(7)
귀하의 시스템 에있는 맨 페이지 의 내용을 제외하고는 옳고 그른 대답이 없습니다 .
전형적인 리눅스 hier
맨 페이지 ; 일반적인 BSD hier
맨 페이지 )
/var/git/*
개인적으로 나에게 합리적인 것 같습니다. 그것이 내가 지키는 곳입니다.
아래의 디렉토리 (또는 공유 파일 시스템)에 배치하십시오 /srv
. 이것이 바로 이것입니다.
/srv
디렉토리를 대상으로 시스템에서 제공하는 사이트 별 데이터 . 표준에서 :
이를 지정하는 주된 목적은 사용자가 특정 서비스에 대한 데이터 파일의 위치를 찾을 수 있도록하고 읽기 전용 데이터, 쓰기 가능한 데이터 및 스크립트 (예 : cgi 스크립트)에 대해 단일 트리가 필요한 서비스를 합리적으로 배치 할 수 있도록하기위한 것입니다. 특정 사용자에게만 관심이있는 데이터는 해당 사용자의 홈 디렉토리에 있어야합니다.
하위 디렉토리의 이름을 지정하는 데 사용 된 방법론
/srv
은 현재 지정 방법에 대한 합의가 없으므로 지정되지 않았습니다. 데이터를 구성하는 한 가지 방법은/srv
예를 들어 프로토콜입니다.ftp
,rsync
,www
,와cvs
. 대형 시스템에서 그 구조에 유용/srv
같은 관리 컨텍스트/srv/physics/www
,/srv/compsci/cvs
등이 설치 호스트에 따라 다를 것이다. 따라서 어떤 프로그램도/srv
기존 또는 특정 데이터 의 하위 디렉토리 구조에 의존해서는 안됩니다/srv
. 그러나/srv
FHS 호환 시스템에는 항상 존재해야하며 이러한 데이터의 기본 위치로 사용해야합니다.분배는 관리자 권한없이이 디렉토리에서 로컬로 배치 된 파일을 제거하지 않도록주의해야합니다.
SELinux 가능 시스템에서 기본 디렉토리는입니다 /var/www/git
. 그리고 repos는 서브 디렉토리에 있어야합니다. 또는 예를 들어 /srv/git
파일 컨텍스트를 동일하게 설정할 수 있습니다.
semanage fcontext -a -e /var/www/git /srv/git
/home/git/
처음에는 약간 틀린 것처럼 보일지 모르지만이 디렉토리는 올바른 권한으로 사용자를 위해 만들어 졌으므로 매우 합리적 sudo useradd git
입니다. git 사용자로 전환 cd
하고 즉시 다음을 실행할 수 있습니다.
$ mkdir .ssh; chmod 700 .ssh
$ touch .ssh/authorized_keys; chmod 600 .ssh/authorized_keys
피어의 공개 키를 방금 생성 된 authorized_keys 파일에 넣습니다.
git init --bare
프로젝트가 끝나면 "url"은 ... 기다릴 것입니다 ...
git@<server>:<project>
git에 프론트 엔드를 사용하는 경우 배포판에 패키지 된 것이 배치하려는 위치로 이동하십시오. 다른 것들은 불필요하게 비 호환성을 일으키고 있습니다.
먼저 / srv 사용 제안과 관련하여 모든 자식 리포지토리가 웹 사이트에 사용된다는 가정하에 있습니다. 사실 일 수도 있지만 웹 사이트가 아닌 소프트웨어를 가질 수도 있습니다.
둘째, / var / www / html 또는 / srv / html 외부에 코드 리포지토리를 저장하면 두 가지 장점이 있습니다. 모든 레벨에서 리포지토리에 심볼릭 링크를 만들어 라이브러리를 쉽게 숨길 수 있습니다. 또한 리포지토리의 위치가 전혀 바뀌지 않으면 가상 호스트 구성을 수정할 필요가 없습니다. 대신 기호 링크를 조정하면됩니다.
나는 / var / repo를 사용하고 있었지만 / var / git이 더 낫다고 생각하고 앞으로부터 사용할 것입니다.