2

Я настраиваю 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 и initial commit)

Прямо сейчас я пытаюсь выяснить, как выполнить шаг 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

Путь в unix - это переменная, которая содержит места для различных программ.

Если вы наберете команду типа 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

Затем отредактируйте следующий файл (для этого вам нужно быть пользователем root)

/etc/ssh/sshd_config

В этом файле вы найдете фразу #PermitUserEnvironment no

Удалите комментарий (#) и измените нет на да

Перезапустите службу ssh или просто перезагрузите все устройство.

Вы можете проверить, что это сработало, но выполнив следующую команду

echo $PATH |grep '/opt/bin'

Если он что-то возвращает, то все должно работать.

-1

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .