6

Snowplow ( https://github.com/snowplow )をホストする Vagrant 環境をセットアップしようとしています。Cygwin シェルから vagrant を起動すると

$vagrant up && vagrant ssh

Ubuntu ゲスト イメージ (12.04) に入り、ansible を使用してこの環境に java8 をインストールしようとすると、次のメッセージが表示されます。

vagrant@precise64:~$ ansible-playbook /vagrant/ansible-playbooks/java8-gradle.yml --inventory-file=/vagrant/home/ansible/ansible_hosts --connection=local エラー: ファイル /vagrant/home/ansible /ansible_hosts は実行可能としてマークされていますが、正しく実行できませんでした。これが実行可能なスクリプトではない場合は、 で修正してchmod -x /vagrant/home/ansible/ansible_hostsください。

ファイルは確かに 777 です。

-rwxrwxrwx 1 vagrant vagrant 3 月 24 日 19:03 ansible_hosts*

ただし、この同じファイルはホスト (Windows) に同期され、cygwin はファイルを 644 として表示します。

-rw-r--r-- 1 rcoe ドメイン ユーザー 3 月 24 日 14:03 ansible_hosts

ホストに同期されたファイルにアクセス許可を設定できないヘッドレス (VirtualBox) Vagrant 環境で実行されている既知の問題はありますか?

ありがとう。

4

1 に答える 1

11

これは既知の欠陥ですが、バグではないと報告されています:仮想マシン内から共有フォルダーのアクセス許可を変更する

必要に応じて vagrant で同期フォルダーを設定する方法に関する優れたチュートリアルがあります。そのリンクに移動すると、次のスニペットが表示されます。

config.vm.synced_folder "./", "/var/sites/dev.query-auth", id: "vagrant-root",
   owner: "vagrant",
   group: "www-data",
   mount_options: ["dmode=775,fmode=664"]

これは、同期されたフォルダーのアクセス許可を調整する方法を示しています。

または、rsync などのフォルダーを同期する別の方法を使用することもできます (トレードオフが何であるかを念頭に置いてください) 。

config.vm.synced_folder "/Users/ryansechrest/Projects/Sites", "/var/www/domains", 
   type: "rsync"

詳細はこちら

于 2015-10-10T04:41:47.813 に答える