Git 설정, 로컬에서 NAS로 푸시/복제 시 경로 오류 발생

Git 설정, 로컬에서 NAS로 푸시/복제 시 경로 오류 발생

처음으로 Git으로 NAS 서버를 설정 중이므로 멍청한 질문을 용서해 주십시오. ).

지금까지 내가 한 일은 다음과 같습니다.

  1. 목록 항목
  2. NAS 설정
  3. 다음 지침에 따라 Git을 설치했습니다.http://www.wonko.de/2010/04/set-up-git-on-synology-nas.html(저는 5단계 끝까지 만들었어요)
  4. 내 로컬 컴퓨터에서 git 작업을 수행합니다(실행 git init및 초기 커밋).

지금은 해당 가이드의 6단계를 수행하는 방법을 알아내려고 노력 중입니다(http://www.wonko.de/2010/04/set-up-git-on-synology-nas.htmlgit clone) 내 로컬 커밋을 사용 하고 git pushNAS로 보낼 수 있습니다 .

해당 게시물 아래의 댓글을 읽고 다음을 시도했습니다.

  • environment내 로컬 홈 폴더에 save 라는 파일을 만들었습니다 . .ssh/environment 거기에 다음을 입력했습니다. PATH=/opt/bin:/opt/sbin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/syno/sbin:/usr/syno/bin:/usr/local/sbin:/usr/local/bin

  • 를 사용하여 NAS에 로그인 ssh://root@ipaddresstonas하고 다음을 입력했습니다. cd /usr/bin ln -s /opt/bin/git*

그러나 계속해서 다음과 같은 결과가 나타납니다.

내 로컬 컴퓨터의 터미널:

$ git remote -v
nas ssh://[email protected]/volume1/path/to/test (fetch)
nas ssh://[email protected]/volume1/path/to/test (push)
$ git push nas master
[email protected]'s password: 
sh: git-receive-pack: not found
fatal: The remote end hung up unexpectedly

$PATH그리고 로컬 컴퓨터에 입력을 시도하면 다음과 같습니다 .

$ $PATH
-bash: /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/git/bin: No such file or directory

내 NAS에서:

nas> cd /volume1/path/to/test
nas> ls
test.git

nas> $PATH
-sh: /opt/bin:/opt/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/syno/bin: not found

또한 참고 사항: 저는 Synology DS212J를 사용하고 있는데 도움이 될 경우 "BusyBox"를 사용하는 것 같습니다.

svn checkoutNAS에서 작동하도록 git을 설정하는 방법, NAS에 푸시하는 방법, 다른 컴퓨터에 복제(또는 이에 상응하는 것)하는 방법 등이 정말 혼란스럽습니다.

답변1

유닉스의 경로는 다양한 프로그램의 위치를 ​​포함하는 변수입니다.

와 같은 명령을 입력하면 whoami셸은 $PATH에 나열된 모든 폴더를 찾습니다.

계속해서 which whoami쉘을 입력하십시오. whoami가 에 있을 가능성이 높다는 것을 알 수 있습니다 /usr/bin/whoami.

경로에 를 추가하면 . 대신 /usr/bin입력할 수 있습니다 . 일종의 지름길을 갖는 것과 같습니다.whoami/usr/bin/whoami

당신이 읽고 있는 기사에서는 git-upload-pack쉘이 실행 파일을 자동으로 찾지 않는 위치에 설치한다는 것을 보여줍니다. 쉘이 '찾을' 수 있도록 경로에 /opt/bin및 를 추가해야 합니다 ./opt/sbingit-upload-pack

경로에 디렉터리를 추가하는 방법에는 여러 가지가 있습니다. 나는 그것을 /etc/profile.d에 넣는 것을 선호하지만 비지 박스는 해당 디렉토리를 '찾지' 않는 것 같습니다. 대신 ~/.ssh/environment 파일에 추가해야 합니다. 사용자가 SSH를 통해 서버에 연결할 때 환경 파일이 구문 분석됩니다.


6단계

텍스트 편집기를 사용하여 다음 파일을 편집하십시오(아직 존재하지 않을 가능성이 높음).

/home/<yourUser>/.ssh/environment

/home//.ssh/environment에 다음 줄을 추가합니다.

export PATH=$PATH:/opt/bin:/opt/bin

그런 다음 다음 파일을 편집합니다(이 작업을 수행하려면 루트 권한이 필요합니다).

/etc/ssh/sshd_config

해당 파일에서 다음 문구를 찾을 수 있습니다.#PermitUserEnvironment no

주석(#)을 제거하고 no를 yes로 변경합니다.

SSH 서비스를 다시 시작하거나 전체 장치를 재부팅하십시오.

제대로 작동하는지 테스트할 수 있지만 다음 명령을 실행하세요.

echo $PATH |grep '/opt/bin'

무언가를 반환한다면 모든 것이 제대로 작동할 것입니다.

답변2

rsa 키 설정. 소스 IP를 원격의 신뢰할 수 있는 IP 목록에 추가하세요. 비밀번호 없이 키를 생성합니다.다른 머신에서 git 데몬을 실행하세요..

ssh클라이언트 시스템에서 인증을 테스트하십시오 .

관련 정보