Page 1 of 1

Win host can't see items in guest hidden / dot linux folder

Posted: 21. Jun 2013, 21:32
by mateodelnorte
I'm running an ubuntu guest on a windows 7 host. I have shared folders setup and working via a Vagrant file. My shared folder has a bunch of development files in it created using the Ubuntu guest, nearly all of which I can access from the windows host.

One particular folder has a bunch of symlinked executables in it. Shown below, it also has a test blank file and a test symlink to that file - all created on the guest.

Code: Select all

vagrant@mwalters:~/development/clp-web/node_modules/.bin$ ll                                        
total 12                                                                                            
drwxrwxrwx 1 vagrant vagrant 4096 Jun 21  2013 ./                                                   
drwxrwxrwx 1 vagrant vagrant 8192 Jun 21 19:06 ../                                                  
lrwxrwxrwx 1 vagrant vagrant    0 Jun 21 19:07 brunch -> ../brunch/bin/brunch*                      
lrwxrwxrwx 1 vagrant vagrant    0 Jun 21 19:06 cake -> ../coffee-script/bin/cake*                   
lrwxrwxrwx 1 vagrant vagrant    0 Jun 21 19:06 cleancss -> ../clean-css/bin/cleancss*               
lrwxrwxrwx 1 vagrant vagrant    0 Jun 21 19:06 coffee -> ../coffee-script/bin/coffee*               
lrwxrwxrwx 1 vagrant vagrant    0 Jun 21 19:06 express -> ../express/bin/express*                   
lrwxrwxrwx 1 vagrant vagrant    0 Jun 21 19:06 grunt -> ../grunt-cli/bin/grunt*                     
lrwxrwxrwx 1 vagrant vagrant    0 Jun 21 19:06 jade -> ../jade/bin/jade*                            
lrwxrwxrwx 1 vagrant vagrant    0 Jun 21 19:06 nodemailer -> ../nodemailer/bin/nodemailer*          
lrwxrwxrwx 1 vagrant vagrant    0 Jun 21 19:06 stylus -> ../stylus/bin/stylus*                      
-rwxrwxrwx 1 vagrant vagrant    0 Jun 21 19:24 test*                                                
lrwxrwxrwx 1 vagrant vagrant    0 Jun 21  2013 test2 -> test*                                       
lrwxrwxrwx 1 vagrant vagrant    0 Jun 21 19:06 uglifyjs -> ../uglify-js/bin/uglifyjs*               
vagrant@mwalters:~/development/clp-web/node_modules/.bin$ ls ../brunch/bin/                         
brunch  brunchcoffee                                                                                
When I try to access any of the executable files in this .bin folder from the Windows 7 guest (using msysgit), as shown below, the windows machine is unable to view the executable files. It's able to see the regular file in the directory, as well as the symlink to that file.

Code: Select all

$ ls node_modules/.bin/                                                      
ls: node_modules/.bin/brunch: No such file or directory                      
ls: node_modules/.bin/cake: No such file or directory                        
ls: node_modules/.bin/cleancss: No such file or directory                    
ls: node_modules/.bin/coffee: No such file or directory                      
ls: node_modules/.bin/express: No such file or directory                     
ls: node_modules/.bin/grunt: No such file or directory                       
ls: node_modules/.bin/jade: No such file or directory                        
ls: node_modules/.bin/nodemailer: No such file or directory                  
ls: node_modules/.bin/stylus: No such file or directory                      
ls: node_modules/.bin/uglifyjs: No such file or directory                    
test  test2                                                                  
Anyone have any idea why I can't view this executable file from Windows?

Here is a copy of my Vagrant file:

Code: Select all

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|
  config.vm.box = "precise32"
  config.vm.box_url = "removed to allow me to post"

  # Create a forwarded port mapping which allows access to a specific port
  # within the machine from a port on the host machine. In the example below,
  # accessing "localhost:8080" will access port 80 on the guest machine.
  config.vm.network :forwarded_port, guest: 9983, host: 9983

  config.vm.hostname = "#{ENV['USERNAME']}.dev"

  # Create a private network, which allows host-only access to the machine
  # using a specific IP.
  config.vm.network :private_network, ip: "192.168.33.10"

  # Create a public network, which generally matched to bridged network.
  # Bridged networks make the machine appear as another physical device on
  # your network.
  config.vm.network :public_network

  # Share an additional folder to the guest VM. The first argument is
  # the path on the host to the actual folder. The second argument is
  # the path on the guest to mount the folder. And the optional third
  # argument is a set of non-required options.
  config.vm.synced_folder "../../", "/home/vagrant/development"


  # Provider-specific configuration so you can fine-tune various
  # backing providers for Vagrant. These expose provider-specific options.
  # Example for VirtualBox:
  #
  config.vm.provider :virtualbox do |vb|
  #   # Don't boot with headless mode
  #   vb.gui = true
  #
  #   # Use VBoxManage to customize the VM. For example to change memory:
    vb.customize ["modifyvm", :id, "--cpus", "8"]
    vb.customize ["modifyvm", :id, "--memory", "12288", "--ioapic", "on"]
    vb.customize ['storagectl', :id, '--name', 'SATA Controller', '--hostiocache', 'on' ]
    vb.customize ['setextradata', :id, 'VBoxInternal2/SharedFoldersEnableSymlinksCreate/v-root', '1' ]
    vb.customize ['setextradata', :id, 'VBoxInternal2/SharedFoldersEnableSymlinksCreate/home/vagrant/development', '1' ]
    vb.customize ['setextradata', :id, 'VBoxInternal2/SharedFoldersEnableSymlinksCreate/home/vagrant/development/*', '1' ]
    vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
    vb.customize ["modifyvm", :id, "--natdnsproxy1", "on"]
  end

config.vm.provision :puppet do |puppet|
    puppet.manifests_path = "manifests"
    puppet.manifest_file  = "init.pp"
  end
end

Re: Win host can't see items in guest hidden / dot linux fol

Posted: 22. Jun 2013, 10:56
by noteirak
We only support the original version of Virtualbox, not the Vagrant version.

Re: Win host can't see items in guest hidden / dot linux fol

Posted: 24. Jun 2013, 17:58
by mateodelnorte
This is the original version of VirtualBox. Vagrant just scripts its usage...

I'm using VirtualBox version 4.2.12r84980, downloaded from this site.

Re: Win host can't see items in guest hidden / dot linux fol

Posted: 24. Jun 2013, 20:39
by Perryg
How are you mounting the share and do you use the options flag?
Also is your share a shared folder or network share?
Do you have the proper package in the Windows host to see and use Linux Ext* format?

Re: Win host can't see items in guest hidden / dot linux fol

Posted: 24. Jun 2013, 22:17
by mateodelnorte
Vagrant uses the following command to mount the share: "mount -t vboxsf -o uid=[user id], gid=[group id] [name] [path]" (see: https://github.com/mitchellh/vagrant/bl ... _folder.rb)

This is a shared folder. I can fully navigate the share from msysgit on Windows (as shown in the 2nd code snippet from the first post in the thread).

I can execute the files, in windows, that these symlinks point to so I'm assuming I have the proper package to see, view, and use Ext*. I just can't see or execute the symlinks themselves. It's a shared folder on an NTFS Win 7 host and Linux guest, so why would I need to be able to see and use Ext*? I'm not mounting an Ext* volume on Windows. My understanding is that VirtualBox is just mapping the linux virtual drive to the NTFS partition via a filesystem driver...

Re: Win host can't see items in guest hidden / dot linux fol

Posted: 24. Jun 2013, 23:22
by Perryg
I asked about the Ext in case it was a network share.

Symlinks in a shared folder are another thing. There have been reports of this since forever. You would need to post a ticket at bugtracker for assistance.