初めて Git で NAS サーバーをセットアップしているので、初心者っぽい質問はご容赦ください (また、この件に関してはまったくの素人なので、詳しい説明をいただければ大変ありがたく思います)。
これまでに行ったことは次のとおりです。
- リスト項目
- NASをセットアップする
- 以下の手順に従って git をインストールしました:http://www.wonko.de/2010/04/set-up-git-on-synology-nas.html(ステップ5の最後までできました)
- ローカルコンピュータでgitが動作している(
git init
最初のコミットを実行した)
今、私はそのガイドのステップ6をどうやって行うか考えています(http://www.wonko.de/2010/04/set-up-git-on-synology-nas.htmlgit clone
) を使用して、git push
ローカルのコミットを NAS に送信できるようになります。
私はその投稿の下のコメントを読み、次のことを試しました。
environment
ローカルのホーム フォルダーに savedというファイルを作成し、.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://[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
$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」を使用していると思います。
NAS で動作するように git を設定する方法、NAS にプッシュする方法、svn checkout
別のコンピューターにクローン (または同等のもの) する方法などが本当にわかりません。
答え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 に配置するのが好みですが、busy box はそのディレクトリを「参照」しないようです。代わりに、~/.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
コメント(#)を削除し、noをyesに変更します
ssh サービスを再起動するか、デバイス全体を再起動します。
動作を確認したい場合は、次のコマンドを実行します。
echo $PATH |grep '/opt/bin'
何かが返された場合、すべてが機能するはずです。
答え2
RSAキーを設定するリモート上の信頼できるリストにソース IP を追加します。パスワードなしでキーを生成します。他のマシンでgitデーモンを実行する。
ssh
クライアント マシンで認証をテストします。