2015-03-03 16 views
4

Я пытаюсь настроить среду бродяг для размещения Снегоочистителя (https://github.com/snowplow). Когда я запускаю бродяга из Cygwin оболочкиchmod не может изменять разрешения в Vagrant VM

$vagrant up && vagrant ssh

Я получаю в гостевом образ Ubuntu (12.04), и когда я пытаюсь установить java8 в эту среду с помощью анзибля, я получаю сообщение:

[email protected]:~$ ansible-playbook /vagrant/ansible-playbooks/java8-gradle.yml --inventory-file=/vagrant/home/ansible/ansible_hosts --connection=local ERROR: The file /vagrant/home/ansible/ansible_hosts is marked as executable, but failed to execute correctly. If this is not supposed to be an executable script, correct this with chmod -x /vagrant/home/ansible/ansible_hosts .

файл действительно 777:

-rwxrwxrwx 1 vagrant vagrant 24 Mar 3 19:03 ansible_hosts*

, но этот же файл синхронизированы на хост (Windows) и Cygwin показывает файл как 644:

-rw-r--r-- 1 rcoe Domain Users 24 Mar 3 14:03 ansible_hosts

Есть ли известная проблема, работающая в безголовой среде (VirtualBox) Vagrant, которая не позволяет устанавливать разрешения для файлов, синхронизированных с хостом?

Спасибо.

+0

Я забыл упомянуть, что я пытался изменяя разрешения файла в гостевой системе, и он не смог их изменить. т. е. я пробовал chmod -x в качестве сообщения об ошибке, как и для бродячего пользователя, так и для root. –

ответ

6

Это известный недостаток, но как сообщается, не ошибка: Changing shared folder permissions from within virtual machine

Существует хороший tutorial о том, как настроить синхронизированную папку в бродягу, так что он будет отвечать вашим потребностям - если вы ориентируетесь на эту ссылку он отобразит следующий фрагмент

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

, который показывает, как настроить разрешения для синхронизированной папки.

В качестве альтернативы можно также использовать другой метод синхронизации папки, такие как Rsync (имея в виду, что trade-offs являются)

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

Подробнее об этом here

Смежные вопросы