NAS에 Gitolite 설치 - 치명적: 오류가 있지만 로깅에 실패했습니다.

NAS에 Gitolite 설치 - 치명적: 오류가 있지만 로깅에 실패했습니다.

다음을 따라 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} );

Common.pm:

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

관련 정보