首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Vagrant不会运行内联shell脚本来安装软件包

Vagrant不会运行内联shell脚本来安装软件包
EN

Stack Overflow用户
提问于 2019-04-08 00:02:38
回答 1查看 326关注 0票数 1

我所有的包都没有安装,Vagrant默认情况下似乎不会提供内联shell脚本。

上次我手动安装了包,但后来遇到了权限问题,我再次尝试重新安装vagrant box,但它仍然不能运行内联脚本。

Vagrantfile

代码语言:javascript
复制
# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|
config.vm.box = "bento/ubuntu-16.04"
config.vm.box_version = "= 2.3.5"
config.vm.synced_folder ".", "/vagrant"
config.vm.network "forwarded_port", guest: 8000, host: 8000, host_ip:   "127.0.0.1"
config.vm.network "forwarded_port", guest: 8080, host: 8080, host_ip: "127.0.0.1"
config.vm.network "forwarded_port", guest: 5000, host: 5000, host_ip: "127.0.0.1"

# Work around disconnected virtual network cable.
config.vm.provider "virtualbox" do |vb|
vb.customize ["modifyvm", :id, "--cableconnected1", "on"]
end

config.vm.provision "shell", inline: <<-SHELL
apt-get -qqy update

# Work around https://github.com/chef/bento/issues/661
# apt-get -qqy upgrade
DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::="--force- confdef" -o Dpkg::Options::="--force-confold" upgrade

apt-get -qqy install make zip unzip postgresql

apt-get -qqy install python3 python3-pip
pip3 install --upgrade pip
pip3 install flask packaging oauth2client redis passlib flask-httpauth
pip3 install sqlalchemy flask-sqlalchemy psycopg2-binary bleach  requests

apt-get -qqy install python python-pip
pip2 install --upgrade pip
pip2 install flask packaging oauth2client redis passlib flask-httpauth
pip2 install sqlalchemy flask-sqlalchemy psycopg2-binary bleach requests

su postgres -c 'createuser -dRS vagrant'
su vagrant -c 'createdb'
su vagrant -c 'createdb news'
su vagrant -c 'createdb forum'
su vagrant -c 'psql forum -f /vagrant/forum/forum.sql'

vagrantTip="[35m[1mThe shared directory is located at /vagrant\\nTo access your shared files: cd /vagrant[m"
echo -e $vagrantTip > /etc/motd

wget http://download.redis.io/redis-stable.tar.gz
tar xvzf redis-stable.tar.gz
cd redis-stable
make
make install

echo "Done installing your virtual machine!"
SHELL
end
EN

回答 1

Stack Overflow用户

发布于 2019-04-08 17:03:20

您总是可以逐行运行脚本来检查哪一行产生了错误。

在这里,我看到你在--force- confdef上有一个空间,你可以很容易地用它来修复

代码语言:javascript
复制
DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55560965

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档