2 votes

Configuration de git, erreurs de chemin lors du pushing/clonage du local vers le NAS

Je suis en train de mettre en place un serveur NAS avec Git pour la première fois, alors pardonnez les questions stupides (cela signifie également que je suis très reconnaissant pour toutes les explications détaillées que vous pouvez me donner, parce que je suis un peu un poisson hors de l'eau sur ce sujet).

Voici ce que j'ai fait jusqu'à présent :

  1. Élément de liste
  2. Configurer le NAS
  3. Installé git, en suivant ces instructions : http://www.wonko.de/2010/04/set-up-git-on-synology-nas.html (Je l'ai fait jusqu'à la fin de l'étape 5)
  4. J'ai fait fonctionner git sur mon ordinateur local. git init et initial commit)

En ce moment, j'essaie de comprendre comment faire l'étape 6 de ce guide ( http://www.wonko.de/2010/04/set-up-git-on-synology-nas.html ) afin que je puisse utiliser git clone y git push pour envoyer commits de mon local à mon NAS.

J'ai lu les commentaires sous ce post, et j'ai essayé ce qui suit :

  • Création d'un fichier appelé environment enregistré dans mon dossier personnel local : .ssh/environment avec le texte suivant tapé à l'intérieur : PATH=/opt/bin:/opt/sbin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/syno/sbin:/usr/syno/bin:/usr/local/sbin:/usr/local/bin

  • Je me suis connecté à mon NAS en utilisant ssh://root@ipaddresstonas et a tapé : cd /usr/bin ln -s /opt/bin/git*

Cependant, je continue à obtenir ces résultats :

Terminal sur ma machine locale :

$ 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

Et quand j'essaie de taper $PATH dans ma machine locale :

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

Sur mon 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

Aussi, juste une note : J'utilise le Synology DS212J, qui je pense utilise "BusyBox" si cela peut aider.

Je suis vraiment confus sur la façon de configurer git pour qu'il fonctionne avec mon NAS... comment je peux pousser vers mon NAS, comment je peux cloner (ou svn checkout ) sur un autre ordinateur, etc.

1voto

spuder Points 9635

Le chemin dans unix est une variable qui contient l'emplacement de divers programmes.

Si vous tapez une commande comme whoami le Shell regarde tous les dossiers listés dans votre $PATH.

Allez-y et tapez which whoami dans votre Shell. Vous verrez que whoami est probablement situé dans /usr/bin/whoami .

En ayant /usr/bin dans votre chemin, cela vous permet de taper simplement whoami au lieu de /usr/bin/whoami . C'est un peu comme avoir un raccourci.

L'article que vous lisez montre que git-upload-pack s'installe à un emplacement que le Shell ne recherche pas automatiquement pour les exécutables. Vous devez ajouter /opt/bin y /opt/sbin à votre chemin de sorte que le Shell peut "trouver git-upload-pack

Il existe plusieurs façons d'ajouter un répertoire à un chemin. Je préfère le mettre dans /etc/profile.d mais il semble que busy box ne "regarde" pas dans ce répertoire. Au lieu de cela, il faudra l'ajouter au fichier ~/.ssh/environment. Le fichier d'environnement est analysé lorsqu'un utilisateur se connecte au serveur par ssh.


Étape 6

Utilisez un éditeur de texte pour modifier le fichier suivant (il n'existe probablement pas encore)

/home/<yourUser>/.ssh/environment

Ajoutez la ligne suivante à /home//.ssh/environnement

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

Puis éditez le fichier suivant (vous devez être root pour le faire)

/etc/ssh/sshd_config

Dans ce fichier, vous trouverez la phrase #PermitUserEnvironment no

Supprimer le commentaire (#) et changer le non en oui

Redémarrez votre service ssh, ou redémarrez simplement tout le dispositif.

Vous pouvez tester que cela a fonctionné, mais en exécutant la commande suivante

echo $PATH |grep '/opt/bin'

S'il renvoie quelque chose, alors tout devrait fonctionner.

-1voto

Alan Jackson Points 3420

créer une clé rsa . Ajouter l'IP source à la liste des IP de confiance sur le distant. Générer une clé sans mot de passe. Lancer le démon git sur l'autre machine .

Testez votre authentification avec ssh sur la machine cliente.

0 votes

Pourriez-vous nous en parler plus en détail ? En fait, j'ai déjà généré la clé, et je l'ai éditée dans le fichier root/.ssh/authorized_keys du NAS.

0 votes

J'ai mis à jour ma réponse avec des liens.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X