Configurando o git, erros de caminho ao enviar/clonar do local para o NAS

Configurando o git, erros de caminho ao enviar/clonar do local para o NAS

Estou configurando um servidor NAS com Git pela primeira vez, então, por favor, perdoe as perguntas noobish (isso também significa que estou muito grato por qualquer explicação detalhada que você possa me dar, porque sou uma espécie de peixe fora d’água nisso ).

Aqui está o que fiz até agora:

  1. Item da lista
  2. Configurar NAS
  3. Git instalado, seguindo estas instruções:http://www.wonko.de/2010/04/set-up-git-on-synology-nas.html(Fiz isso até o final do passo 5)
  4. Faça o git trabalhar no meu computador local (fez git inite commit inicial)

No momento, estou tentando descobrir como executar a etapa 6 desse guia (http://www.wonko.de/2010/04/set-up-git-on-synology-nas.html) para que eu possa usar git clonee git pushenviar commits do meu local para o meu NAS.

Eu li os comentários abaixo daquela postagem e tentei o seguinte:

  • Criei um arquivo chamado environmentsalvo na minha pasta pessoal local: .ssh/environment com o seguinte digitado lá: PATH=/opt/bin:/opt/sbin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/syno/sbin:/usr/syno/bin:/usr/local/sbin:/usr/local/bin

  • Entrei no meu NAS usando ssh://root@ipaddresstonase digitei: cd /usr/bin ln -s /opt/bin/git*

No entanto, continuo obtendo estes resultados:

Terminal na minha máquina local:

$ 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

E quando tento digitar $PATHna minha máquina local:

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

No meu 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

Além disso, apenas uma observação: estou usando o Synology DS212J, que acho que usa "BusyBox", se isso ajudar.

Estou realmente confuso sobre como configurar o git para funcionar com meu NAS... como posso enviar para meu NAS, como posso clonar (ou svn checkoutequivalente) em outro computador, etc.

Responder1

O caminho no Unix é uma variável que contém as localizações de vários programas.

Se você digitar um comando como whoami, o shell examinará todas as pastas listadas em seu $PATH.

Vá em frente e digite which whoamiseu shell. Você verá que whoami provavelmente está localizado em /usr/bin/whoami.

Por ter /usr/binno seu caminho, você pode simplesmente digitar whoamiem vez de /usr/bin/whoami. É como ter um atalho.

O artigo que você está lendo mostra que git-upload-packé instalado em um local onde o shell não procura automaticamente por executáveis. Você precisa adicionar /opt/bine /opt/sbinao seu caminho para que o shell possa 'encontrar'git-upload-pack

Existem várias maneiras de adicionar um diretório a um caminho. Eu prefiro colocá-lo em /etc/profile.d, porém parece que a caixa ocupada não 'parece' nesse diretório. Em vez disso, ele precisará ser adicionado ao arquivo ~/.ssh/environment. O arquivo de ambiente é analisado quando um usuário se conecta via ssh ao servidor.


Etapa 6

Use um editor de texto para editar o seguinte arquivo (provavelmente ainda não existe)

/home/<yourUser>/.ssh/environment

Adicione a seguinte linha a /home//.ssh/environment

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

Em seguida, edite o seguinte arquivo (você precisará ser root para fazer isso)

/etc/ssh/sshd_config

Nesse arquivo, você encontrará a frase#PermitUserEnvironment no

Remova o comentário (#) e altere não para sim

Reinicie seu serviço ssh ou apenas reinicie todo o dispositivo.

Você pode testar se funcionou, mas executando o seguinte comando

echo $PATH |grep '/opt/bin'

Se retornar algo, então tudo deverá funcionar.

Responder2

configurar uma chave rsa. Adicione o IP de origem à lista de confiáveis ​​no controle remoto. Gere uma chave sem senha.Execute o daemon git na outra máquina.

Teste sua autenticação sshna máquina cliente.

informação relacionada