![NAS에 Gitolite 설치 - 치명적: 오류가 있지만 로깅에 실패했습니다.](https://rvso.com/image/1316778/NAS%EC%97%90%20Gitolite%20%EC%84%A4%EC%B9%98%20-%20%EC%B9%98%EB%AA%85%EC%A0%81%3A%20%EC%98%A4%EB%A5%98%EA%B0%80%20%EC%9E%88%EC%A7%80%EB%A7%8C%20%EB%A1%9C%EA%B9%85%EC%97%90%20%EC%8B%A4%ED%8C%A8%ED%96%88%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
다음을 따라 Synology DiskStation에 Gitolite를 설치하려고 합니다.지침.
아래에DiskStation에 Gitolite를 설치하고 설치 프로그램을 실행하세요., Gitolite 설치 명령을 실행할 때:
DiskStation> /volume1/homes/git/gitolite/install -ln /bin
다음 오류가 발생합니다.
FATAL: have errors but logging failed!
2012-05-31.00:10:22 no GL_LOGFILE env var
2012-05-31.00:10:22 die could not symlink /volume1/home/git/gitolite/src/gitolite to /bin<<newline>> at /volume1/home/git/gitolite/install line 71<<newline>>
나는 이 모든 것에 대해 매우 새로운 것입니다. 이것이 무엇을 의미하는지, 이 오류를 어떻게 해결할 수 있는지 아는 사람이 있습니까?
답변1
2가지 문제:
새로운 GitoliteV3(g3)은 기본적으로 $HOME/.gitolite
.
보다오후 시간:
$rc{LOG_TEMPLATE} = "$ENV{HOME}/.gitolite/logs/gitolite-%y-%m.log";
$rc{GL_LOGFILE} = $ENV{GL_LOGFILE} ||= gen_lfn( $rc{LOG_TEMPLATE} );
sub gl_log {
# the log filename and the timestamp come from the environment. If we get
# called even before they are set, we have no choice but to dump to STDERR
# (and probably call "logger").
logger_plus_stderr( "$ts no GL_LOGFILE env var", "$ts $msg" ) if not $ENV{GL_LOGFILE};
open my $lfh, ">>", $ENV{GL_LOGFILE} or logger_plus_stderr( "open log failed: $!", $msg );
로그 디렉터리를 생성 .mkdir -p $HOME/.gitolite/logs
하고 설치를 다시 시작하세요 .
처럼권총(그의 빈 프로필만 보아도 그 사람이 누구인지 짐작할 수 있습니다.시타람 차마르티, Gitolite의 생성자/유지관리자), 이것은 필요하지 않습니다.
그리고 OP에서아래에 답변하세요, 이것아니었다어쨌든 필요합니다.
사이트암은 다음을 추가합니다.
오류
LOGFILE
메시지는 오해의 소지가 있습니다. 설치 디렉토리가 에 없을 때 발생합니다$PATH
.
그만큼최신 커밋2012년 6월 16일) 에 Common.pm
실제로 오류 메시지가 대체되었습니다.~ 아니다더 이상 신비한 내용을 참조하십시오 GL_LOGFILE
.
logger_plus_stderr( "errors found before logging could be setup", "$msg" ) if not $ENV{GL_LOGFILE};
비표준 경로에 자신만의 Perl이 있는 경우 해당 설치 스크립트 중 어느 것도 작동하지 않습니다. 왜냐하면 해당 스크립트 /usr/bin/perl
의 shebang 참조는 /usr/bin/env perl
...
두 번째 문제:
could not symlink /volume1/home/git/gitolite/src/gitolite to /bin
에서 심볼릭 링크에 대한 권한이 있는지 확인하십시오
아래에서 언급했듯이/bin
. 당신은 루트입니까?
DiskStation> /volume1/homes/git/gitolite/install -ln
(없이 /bin
) 모든 것을 아래에 유지합니다 $HOME
(/bin 쓰기 액세스 문제 없음)
나는 일반적으로 로컬 설치를 선호합니다
$HOME/gitolite/github/install -to $HOME/gitolite/bin
(따라서 ' -to
' 대신 ' -ln
', 시스템 경로가 아닌 내 계정의 절대 경로 사용):
github
로컬 클론의 이름https://github.com/sitaramc/gitolite
$HOME/gitolite/bin
내$PATH
.
답변2
다음 명령은 오타였습니다.
DiskStation> /volume1/homes/git/gitolite/install -ln /bin
게시물 앞부분에서 git 사용자를 위한 $HOME/bin 디렉터리를 설정했습니다. 동일한 명령을 실행하되 지정된 /bin 디렉터리 인수를 꺼진 상태로 두면, gitolite는 기본적으로 존재하고 git 사용자가 쓸 수 있는 $HOME/bin으로 설정됩니다.
대신 다음을 실행하세요.
DiskStation> /volume1/homes/git/gitolite/install -ln
답변3
나는 명령을 실행했다gitolite/install -ln /usr/bin/
나에게 있어서 심볼릭 링크 오류는 git
사용자에게 심볼릭 링크에 필요한 권한이 없기 때문에 발생했습니다 /usr/bin
. 간단히 파일 의 그룹 git
에 사용자를 추가했는데 그게 정말 매력적이었습니다.wheel
/etc/group