처음으로 Git으로 NAS 서버를 설정 중이므로 멍청한 질문을 용서해 주십시오. ).
지금까지 내가 한 일은 다음과 같습니다.
- 목록 항목
- NAS 설정
- 다음 지침에 따라 Git을 설치했습니다.http://www.wonko.de/2010/04/set-up-git-on-synology-nas.html(저는 5단계 끝까지 만들었어요)
- 내 로컬 컴퓨터에서 git 작업을 수행합니다(실행
git init
및 초기 커밋).
지금은 해당 가이드의 6단계를 수행하는 방법을 알아내려고 노력 중입니다(http://www.wonko.de/2010/04/set-up-git-on-synology-nas.htmlgit clone
) 내 로컬 커밋을 사용 하고 git push
NAS로 보낼 수 있습니다 .
해당 게시물 아래의 댓글을 읽고 다음을 시도했습니다.
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 checkout
NAS에서 작동하도록 git을 설정하는 방법, NAS에 푸시하는 방법, 다른 컴퓨터에 복제(또는 이에 상응하는 것)하는 방법 등이 정말 혼란스럽습니다.
답변1
유닉스의 경로는 다양한 프로그램의 위치를 포함하는 변수입니다.
와 같은 명령을 입력하면 whoami
셸은 $PATH에 나열된 모든 폴더를 찾습니다.
계속해서 which whoami
쉘을 입력하십시오. whoami가 에 있을 가능성이 높다는 것을 알 수 있습니다 /usr/bin/whoami
.
경로에 를 추가하면 . 대신 /usr/bin
입력할 수 있습니다 . 일종의 지름길을 갖는 것과 같습니다.whoami
/usr/bin/whoami
당신이 읽고 있는 기사에서는 git-upload-pack
쉘이 실행 파일을 자동으로 찾지 않는 위치에 설치한다는 것을 보여줍니다. 쉘이 '찾을' 수 있도록 경로에 /opt/bin
및 를 추가해야 합니다 ./opt/sbin
git-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
클라이언트 시스템에서 인증을 테스트하십시오 .