Configuración de git, errores de ruta al enviar/clonar desde local a NAS

Configuración de git, errores de ruta al enviar/clonar desde local a NAS

Estoy configurando un servidor NAS con Git por primera vez, así que perdonen las preguntas novatos (también significa que estoy muy agradecido por cualquier explicación detallada que puedan darme, porque soy como un pez fuera del agua en esto). ).

Esto es lo que he hecho hasta ahora:

  1. Elemento de lista
  2. Configurar NAS
  3. Instalé Git, siguiendo estas instrucciones:http://www.wonko.de/2010/04/set-up-git-on-synology-nas.html(Lo hice hasta el final del paso 5)
  4. Tener git funcionando en mi computadora local (hice git inituna confirmación inicial)

En este momento, estoy tratando de descubrir cómo realizar el paso 6 de esa guía (http://www.wonko.de/2010/04/set-up-git-on-synology-nas.html) para poder usar git cloney git pushenviar confirmaciones de mi local a mi NAS.

Leí los comentarios debajo de esa publicación y probé lo siguiente:

  • Creé un archivo llamado environmentguardado en mi carpeta de inicio local: .ssh/environment con lo siguiente escrito allí: PATH=/opt/bin:/opt/sbin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/syno/sbin:/usr/syno/bin:/usr/local/sbin:/usr/local/bin

  • Inicié sesión en mi NAS usando ssh://root@ipaddresstonasy escribí: cd /usr/bin ln -s /opt/bin/git*

Sin embargo, sigo obteniendo estos resultados:

Terminal en mi 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

Y cuando intento escribir $PATHen mi 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

En mi 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

Además, solo una nota: estoy usando Synology DS212J, que creo que usa "BusyBox" si eso sirve de ayuda.

Estoy realmente confundido sobre cómo configurar git para que funcione con mi NAS... cómo puedo insertar mi NAS, cómo puedo clonar (o svn checkoutequivalente) en otra computadora, etc.

Respuesta1

La ruta en Unix es una variable que contiene las ubicaciones de varios programas.

Si escribe un comando como whoami, el shell busca todas las carpetas enumeradas en su $PATH.

Continúe y escriba which whoamisu caparazón. Verás que whoami probablemente se encuentre en /usr/bin/whoami.

Al tenerlo /usr/binen tu camino, puedes simplemente escribir whoamien lugar de /usr/bin/whoami. Es como tener un atajo.

El artículo que está leyendo muestra que git-upload-packse instala en una ubicación en la que el shell no busca automáticamente ejecutables. Debe agregar /opt/biny /opt/sbina su ruta para que el shell pueda 'encontrar'git-upload-pack

Hay varias formas de agregar un directorio a una ruta. Prefiero ponerlo en /etc/profile.d, sin embargo, parece que el cuadro ocupado no "busca" en ese directorio. En su lugar, será necesario agregarlo al archivo ~/.ssh/environment. El archivo de entorno se analiza cuando un usuario se conecta a través de ssh al servidor.


Paso 6

Utilice un editor de texto para editar el siguiente archivo (probablemente aún no exista)

/home/<yourUser>/.ssh/environment

Agregue la siguiente línea a /home//.ssh/environment

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

Luego edite el siguiente archivo (necesitará ser root para hacer esto)

/etc/ssh/sshd_config

En ese archivo encontrarás la frase.#PermitUserEnvironment no

Elimina el comentario (#) y cambia no a sí.

Reinicie su servicio ssh o simplemente reinicie todo el dispositivo.

Puedes probar que funcionó, pero ejecutando el siguiente comando

echo $PATH |grep '/opt/bin'

Si devuelve algo, entonces todo debería funcionar.

Respuesta2

configurar una clave rsa. Agregue la IP de origen a la lista de personas confiables en el control remoto. Genera una clave sin contraseña.Ejecute el demonio git en la otra máquina.

Pruebe su autenticación sshen la máquina cliente.

información relacionada