无法在Linux guest虚拟机中挂载文件夹 - mesg:ttyname失败:设备的ioctl不合适

时间:2016-03-07 13:33:15

标签: vagrant virtualbox vagrantfile hosts ubuntu-15.10

Vagrant不会挂载文件夹。尝试了这么多解决方案,没有任何效果。

版本:Vagrant 1.8.1 / Ubuntu 15.10 / Virtualbox 5.0.16

vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Checking if box 'ubuntu/wily64' is up to date...
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
    default: Adapter 2: hostonly
==> default: Forwarding ports...
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default: Warning: Remote connection disconnect. Retrying...
    default: Warning: Remote connection disconnect. Retrying...
==> default: Machine booted and ready!
GuestAdditions 5.0.16 running --- OK.
==> default: Checking for guest additions in VM...
==> default: Configuring and enabling network interfaces...
==> default: Mounting shared folders...
    default: /vagrant => C:/Users/User/www/magento-box
    default: /vagrant-magento-box-folder => C:/Users/User/www/magento-box-folder
Failed to mount folders in Linux guest. This is usually because
the "vboxsf" file system is not available. Please verify that
the guest additions are properly installed in the guest and
can work properly. The command attempted was:

mount -t vboxsf -o uid=`id -u vagrant`,gid=`getent group www-data | cut -d: -f3`,dmode=775, fmode=664 vagrant-magento-box-folder /vagrant-magento-box-folder
mount -t vboxsf -o uid=`id -u vagrant`,gid=`id -g www-data`,dmode=775, fmode=664 vagrant-magento-box-folder /vagrant-magento-box-folder

The error output from the last command was:

mesg: ttyname failed: Inappropriate ioctl for device

在Vagrantfile.config.yml同步文件夹中:

synced_folder:
  host_path: "/Users/User/www/magento-box-folder"
  guest_path: "/vagrant-magento-box-folder/"

Vagrantfile

require 'yaml'
vagrantConfig = YAML.load_file 'Vagrantfile.config.yml'
Vagrant.configure(2) do |config|
config.vm.box = "ubuntu/trusty64"

config.vm.network "private_network", 
ip: vagrantConfig['ip']

    config.vm.synced_folder "#{vagrantConfig['synced_folder']['host_path']}", 
    "#{vagrantConfig['synced_folder']['guest_path']}", 
    owner: "vagrant", 
    group: "www-data", 
    mount_options:["dmode=775, fmode=664"]

# VirtualBox specific settings
    config.vm.provider "virtualbox" do |vb|
    vb.gui = false
    vb.memory = "2048"
    vb.cpus = 2
end

在vagrant ssh中我做了

sudo ln -s /opt/VBoxGuestAdditions-5.0.16/lib/VBoxGuestAdditions /usr/lib/VBoxGuestAdditions 

我在tmp

中替换了VBoxGuestAdditions.iso
Copy iso fileC:\Program Files/Oracle/VirtualBox/VBoxGuestAdditions.iso into the box /tmp/VBoxGuestAdditions.iso

安装了vbguest。不知道如何解决它..

2 个答案:

答案 0 :(得分:6)

以下是错误发生的一个重要原因vagrant up

如果您将Virtual Box用于Vagrant的提供商,则必须在每次创建虚拟机内核时重新安装“Guest Additions”。

vbguest插件是解决此问题的好方法。

(关于vbguest插件 - https://github.com/dotless-de/vagrant-vbguest

首先,你必须安装vbguest插件。

$ vagrant plugin install vagrant-vbguest

并运行Vagrant

$ vagrant halt

$ vagrant up

或使用

vagrant reload

答案 1 :(得分:0)

这似乎是流浪汉的问题< = 1.8.4。我对最新的流浪版本进行了更新(在我的例子中为1.9.3),一切看起来都很好。

  1. 在这里获取最新的流浪汉版本: https://www.vagrantup.com/docs/installation/upgrading.html
  2. 2

    vagrant halt
    

    3。安装升级。

    4

    vagrant up