Настройка git, ошибки пути при нажатии / клонировании с локального на NAS

5476
Jay

Я настраиваю NAS-сервер с помощью Git в первый раз, поэтому, пожалуйста, прости нубистские вопросы (это также означает, что я очень благодарен за любые подробные объяснения, которые ты можешь мне дать, потому что я как бы выхожу из воды ).

Вот что я сделал до сих пор:

  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.html ), чтобы можно использовать git cloneи git pushдля отправки коммитов моего локального на мой NAS.

Я прочитал комментарии ниже этого поста и попробовал следующее:

  • Создан файл с именем environmentсохранен в моей локальной домашней папке: .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://me@192.168.0.124/volume1/path/to/test (fetch) nas ssh://me@192.168.0.124/volume1/path/to/test (push) $ git push nas master me@192.168.0.124'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», если это поможет.

Я действительно запутался в том, как настроить git для работы с моим NAS ... как я могу подключиться к своему NAS, как я могу клонировать (или svn checkoutэквивалент) на другой компьютер и т. Д.

2

2 ответа на вопрос

1
spuder

The path in unix is a variable which contains the locations for various programs.

If you type in a command like whoami, the shell looks at all the folders listed in your $PATH.

Go ahead and type which whoami in your shell. You will see that whoami is likely located in /usr/bin/whoami.

By having /usr/bin in your path, it makes it so you can just type whoami instead of /usr/bin/whoami. It is kind of like having a shortcut.

The article you are reading shows that git-upload-pack installs to a location that the shell doesn't automatically look in for executables. You need to add /opt/bin and /opt/sbin to your path so the shell can 'find' git-upload-pack

There are multiple ways to add a directory to a path. I prefer to put it in /etc/profile.d however it appears that busy box does not 'look' in that directory. Instead, it will need to be added to the ~/.ssh/environment file. The environment file is parsed when a user connects over ssh to the server.


Step 6

Use a text editor to edit the following file (it likely doesn't exist yet)

/home/<yourUser>/.ssh/environment 

Add the following line to /home//.ssh/environment

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

Then edit the following file (you will need to be root to do this)

/etc/ssh/sshd_config 

In that file, you will find the phrase #PermitUserEnvironment no

Remove the comment (#) and change no to yes

Restart your ssh service, or just reboot the whole device.

You can test that it worked, but running the following command

echo $PATH |grep '/opt/bin' 

If it returns something, then everything should work.

-1
adymitruk

установить ключ RSA . Добавьте исходный IP-адрес в список доверенных на удаленном компьютере. Генерация ключа без пароля. Запустите демон git на другом компьютере .

Проверьте свою аутентификацию sshна клиентском компьютере.

Не могли бы вы рассказать об этом поподробнее, пожалуйста? На самом деле я уже сгенерировал ключ и отредактировал его в корневом / NAS-файле .ssh / authorized_keys. Jay 11 лет назад 0
обновил мой ответ со ссылками. adymitruk 11 лет назад 0

Похожие вопросы