我有一个 Vagrant 盒子(Ubuntu 14.04 beta),它使用 Puppet 配置器进行自我配置。在“vagrant up”之后,shell 配置程序运行,安装更新(包括language-pack-en
),并将语言环境设置为en_US.UTF-8
,例如:
export DEBIAN_FRONTEND=noninteractive
echo "LC_ALL=en_US.UTF-8" >> /etc/environment
apt-get update
apt-get -y install language-pack-en
export LC_ALL=en_US.UTF-8
wget https://apt.puppetlabs.com/puppetlabs-release-trusty.deb 2>&1
dpkg -i puppetlabs-release-trusty.deb
apt-get update
apt-get -y upgrade
apt-get -y -f remove puppet hiera ruby-hiera ruby-safe-yaml
apt-get -y autoremove
apt-get -y install puppet=3.4.3-1
shell 配置器完成没有问题,但是 puppet 配置器失败了:
Error: Could not parse for environment production: invalid byte sequence in US-ASCII at /tmp/vagrant-puppet-1/manifests/site.pp:1
如果我立即运行vagrant provision
,则 Puppet 配置程序运行时没有问题,这让我怀疑它不尊重我在两者中设置的语言环境/etc/environment
,并且导出为环境变量以进行良好的测量(这可能没有必要,这是一个故障排除步)。
我首先在 Ubuntu 13.10 中遇到了这个问题,但是设置环境变量解决了这个问题——在 14.04 中不是这样。
有没有人遇到过这个?
感谢您的任何建议。