Vagrant PuPHPet没有开箱即用的Samba(smb)

时间:2016-10-16 14:28:40

标签: vagrant vagrantfile puphpet vagrant-provision

所以我有这个问题试图找出它几天。 每次我将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.

1 个答案:

答案 0 :(得分:2)

因此,当通过puphpet.com构建框时,将 sync_type 保留为默认 并首先启动vagrant ssh到你的盒子并运行sudo yum install cifs-utils for centos 或ubuntu的 sudo apt-get install cifs-utils

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

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