2015-10-28 20 views
31

今朝の奇妙な問題 - GitHubの公開リポジトリからSSHまたはHTTPSの共有VMWareフォルダにクローンを作成できません。私はFedora 22で作業しています。共有フォルダ以外の場所でこのコマンドを実行すると、完全に動作します。クローンをVMWare共有フォルダにコピーできない

git clone https://github.com/twbs/bootstrap.git 
Cloning into 'bootstrap'... 
fatal: 'origin' does not appear to be a git repository 
fatal: Could not read from remote repository. 

Please make sure you have the correct access rights 
and the repository exists. 

手順私が試してみました:

  • 再起動VMとホストのMacは(エル・キャピタンを実行している)
  • gitの
  • チェックの権限(drwxr-xr-x)
の再インストール

共有フォルダがこれを引き起こしている理由を知っている人はいますか?

+1

gitを使用する前に、フォルダにファイルを作成できますか? 'touch foobar.txt'と' ls'を試してください – shirakia

+0

はい、私はホストとゲストの両方からファイルとフォルダを作ることができます。ゲストのすべてのファイル/フォルダには、所有者/グループが次のように表示されます。 501ゲーム そして、sudoを使用しても、フォルダ内の何かをchownすることはできません。 – Toby

+0

エラーメッセージをもう一度読む: 致命的: 'origin'はgitリポジトリではない 致命的:リモートリポジトリから読み取れませんでした。 リモートリポジトリに問題があります。または、いくつかのローカルgit設定でそれにアクセスします。 – bebbo

答えて

7

私は同じ問題があります。私はこれがVMWare共有フォルダファイルシステムがすべてのファイルシステム操作を適切にサポートしていないためであると考えています。

$ touch foo 
$ ln foo bar 
ln: bar: Operation not supported 

...あなたはシンボリックリンクをコピーすることはできません:たとえば、あなたはハードリンクを作成することはできません

さらに
$ touch foo 
$ ln -s foo bar 
$ cp -R bar baz 
cp: bar: could not copy extended attributes to baz: Invalid argument 

、gitのクローンが失敗したら、チェックアウトのファイル名を使用することはできません再び:

$ git clone https://github.com/twbs/bootstrap.git 
Cloning into 'bootstrap'... 
[...] 
fatal: index-pack failed 
$ touch bootstrap 
touch: bootstrap: Input/output error 

その他は、VMwareの共有フォルダ内のhardlinksgit cloneの問題に気づきました。誰も解決策を見つけられませんでした。

OS Xゲストを使用している場合、ディスクイメージを共有フォルダに保存し、ゲストにディスクイメージをマウントし、マウントされたファイルシステムにgit-cloningすることで、この問題を回避しました。 A similar techniqueはLinuxでも動作するかもしれませんが、試していません。

+0

ありがとう - 私は、この問題のために他の症状があるかどうか疑問に思っていました。私はLinuxの回避策を試してみる。 – Toby

+0

このような方法でディスクイメージを使用すると、残念なことに、ゲストが実行されている間にホスト上のファイルにアクセスできないという問題がありますが、この方法では、ホスト上でイメージが保存されるという利点があります。迷惑な人はゲストを破壊する。 – bacongravy

+0

これは部分的にのみ正しいです。私は私の古いVMボックスでGitとVMWare共有フォルダを使用することができます。しかし、私は新しいボックスのVMWare共有フォルダでそれを使うことはできません。私はそれがVMWareのツールに関連するかもしれないと思う - しかし、私は確信していません。 – Laurence

0

私の解決策です。 VMware Machineではクローンを作成できないため、他のコマンドを使用すると問題が発生する可能性があります。だから私はWindowsシステムでクローンをgitし、私のWindowsシステムでgitの仕事をします。それは私のために働く。

0

ここに関連する設定はありませんので間違っているかもしれませんが、問題は共有フォルダでのみ発生すると言います。私が考えるかもしれない1つの選択肢は、SSH/HTTPSがそのようなフォルダにあるときにあなた自身と異なるキーを使用するということです。

この場合、考えられる解決方法は、VMWareがユーザーとみなす人のためのキーを定義することです。

ところで、リポジトリをプライベートフォルダに複製して共有しようとしましたか?そのように動作するかどうか(フォルダのローカル作成時にのみ問題が発生することを示している可能性があります)、さらにプルまたはプッシュしようとするときに似たエラーまたは異なるエラーで失敗する(問題が接続自体は必須ですが、必ずしも必要ではありません)。

4

Laurenceが指摘したように、これはVMWareバージョン0.6.0の問題です。 VMwareはツールのパッケージを変更し、ではなく、カーネルであることのHGFSからFUSEに移動

:ためです。

があり/mnt/hgfs下には、フォルダではないとの共有フォルダがshared_folderというフォルダの下に作成されます。

症状

  • は、ネットワーク内の他のマシンから仮想マシンで共有フォルダにアクセスすることはできません。
  • 仮想マシン内の適切な権限を持つ共有フォルダのようなエラー

ネットワーク経由でアクセスすることはできません。

You cannot access ip_address\folder_name 
You do not have permission to access ip_address\folder_name. Contact your network administrator to request access. 

原因:私の知る限り見るように

これは、この問題と他のファイルシステム操作に関連する他のバグの背後にある理由です。より適切には

この問題は、監査オブジェクトアクセスGPOが共有フォルダで有効で、共有フォルダがホットプラグ可能なデバイスに存在する場合に発生します。

ソリューション:

マウントは、フォルダを共有しました。参照してくださいthis

共有フォルダを探します。

共有フォルダの監査ファイルへのアクセスを無効にし、ホットプラグ可能なデバイスをすべて削除します。

希望すると、これが役に立ちます。

私の開発チームは、同僚が組織に代わってサポートチームに連絡したのと同様の問題に直面しました。

アルヴァロアギレラHashicorp supportは、この問題を指摘するのに十分親切でした。当初、サポートチームはFusion 8.0.2に移行することを提案していましたが、これは面倒を避けたい場合にも機能します。

2016年5月20日のサポートチームから結びのメッセージを以下に示します。私たちに手を差し伸べるための

おかげで。

ログごとに、HGFSモジュールがVM上に存在しないようです。

さらに、8.1。*と転送ポートのVMWare融合の問題があります。問題なく動作することがわかっているのは最後のものですから、Fusion 8.0.2に行ってみてください。

デベロッパーチームがQ1 2017に解決されることが確認されているため、最新のVMware Fusionの代わりに古いケースを使用してください。

ご理解いただきありがとうございます。

フュージョン8.0.0に移動しましたが、この問題は解決されました。

+2

興味深い。私は共有フォルダにアクセスし、VM内でそれらを見ることができます - それは問題を抱えているGitだけです。しかし、許可の問題のために、関連している可能性があります。私は今それを見て、 – Laurence

+1

を参照してくださいこれをありがとう。それは正しい方向に私を指摘しましたが、問題を解決しませんでした。私は以下の答えを – Laurence

1

今日、修正が見つかりました。しかし、あなたは、私が今、問題なくVM内で正しくGitリポジトリとシンボリックリンクを使用することができますsmbともmfsymlinks

config.vm.synced_folder ".", "/vagrant", type: "smb", mount_options: ['vers=3.02', 'mfsymlinks'] 

を使用するようにVMの同期フォルダを設定する必要があります - それは皆のための同じであるかどうかわかりません。

+1

に提供しました。VMWare Fusion 8.1.1を使用しています。この修正プログラムが適用されるかどうか、どのように修正されるか、私は、VMの設定を編集して、設定ファイルの最後に追加し、 "/迷惑行為"パスを共有フォルダのパスに変更しようとしましたが、すぐに辞書エラーがありました。 – jbobbins

+1

この変更はどこで行いますか? –

0

私は同じ問題がありましたが、解決策が見つかりました。私のセットアップではゲストにVMware Workstation 12.5.5とLinuxカーネル4.4を使用しています。ホストはLinuxカーネル4.10.8を実行しています。あなたは$ HOME(あなたHGFS下のコースのディレクトリをマウントしない)の下でLinuxのゲストにクローン最新openvm-ツールをgitのする必要があります。https://github.com/vmware/open-vm-tools

は/指示に従うと、コンパイルsource.Afterからopenvm-ツールをコンパイルし、バックアップ/ usr/bin/vmhgfs-fuse(cd/usr/bin; mv vmhgfs-fuse vmhgfs-fuse.bak)およびコピー $ HOME/open-vm-tools/open-vm-tools/vmhgfs-fuse/.libs/vmhgfs -fuseを/ usr/binに入れます。

次に、$ HOME/open-vm-tools/open-vm-tools/libvmtools/.libs/libvmtools.so.0.0.0を/ lib64にコピーし、ln -s libvmtools.soへのリンクを作成します。 0.0.0 libvmtools.so.0

必要になる可能性のある他のライブラリを確認します。 (ldd/usr/bin/vmhgfs-fuseを使って不足しているライブラリを知り、それに応じてコピーする)

これは、VMwareゲストマシンを再起動すると、HGFS経由でホストマウントディレクトリを使用してGitリポジトリクローン、プル、プッシュは現在正常に動作しています:)

関連する問題