1

所以我有这个问题试图弄清楚它几天。每次我将 sync_type 设置为 smb vagrant up失败时,都会尝试 puphpet.com 中的每个操作系统。错误输出:

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 cifs -o uid=`id -u www-data`,gid=`getent group www-data | cut -d: -f3`,dir_mode=0775,file_mode=0664,sec=ntlm,credentials=/etc/smb_creds_24f79a72536bca2b335860f233950314 ///24f79a72536bca2b335860f233950314 /var/www
mount -t cifs -o uid=`id -u www-data`,gid=`id -g www-data`,dir_mode=0775,file_mode=0664,sec=ntlm,credentials=/etc/smb_creds_24f79a72536bca2b335860f233950314 ///24f79a72536bca2b335860f233950314 /var/www

The error output from the last command was:

mount: wrong fs type, bad option, bad superblock on ///24f79a72536bca2b335860f233950314,
       missing codepage or helper program, or other error
       (for several filesystems (e.g. nfs, cifs) you might
       need a /sbin/mount.<type> helper program)
       In some cases useful info is found in syslog - try
       dmesg | tail  or so

在此错误之后,我运行 vagrant provision 触发了另一个错误:

==> pup-machine1: [vagrant-hostsupdater] Checking for host entries
==> pup-machine1: [vagrant-hostsupdater]   found entry for: 192.168.56.110 testpup.dev
==> pup-machine1: Running provisioner: shell...
    pup-machine1: Running: inline script
==> pup-machine1: sed: can't read /vagrant/puphpet/shell/*.sh: No such file or directory
The SSH command responded with a non-zero exit status. Vagrant
assumes that this means the command failed. The output for this command
should be in the log above. Please read the output to determine what
went wrong.
4

1 回答 1

3

因此,当通过puphpet.com构建盒子时,将sync_type保留为默认值 ,并在首次将 vagrant ssh 引导到您的盒子并运行 sudo yum install cifs-utils for centos 或sudo apt-get install cifs-utils for ubuntu。

另一种方法是,在构建您的盒子时,在 System Packages 下指定cifs-utils,然后使用默认的 sync_type 运行,让它安装所有软件包,在第一次启动后,将 sync_type 更改为 smb 并重新加载。

需要记住的是,您必须第一次使用默认的 sync_type 运行并让 vagrant 进行配置、安装所有软件包并进行配置。然后将 sync_type 更改为 smb 并重新加载,因此主要问题是缺少cifs-utils。另一个与此问题无关的是,如果您将 smb_host 留空,它也会失败。将其从smb_host: ' '更改为smb_host:(不要在 : 之后留下空格)。必须在 config.yaml 文件中进行更改。

于 2016-10-16T14:28:39.677 回答