提供stream浪话来回应“你好世界”是一件轻而易举的事情。 哎呀,即使我可以处理!
但是当提供一个盒子的时候,用户实际上会喜欢这样做,比如安装mysql,创build一个数据库,创build一个mysql用户,那么……这些东西似乎不起作用。 ARRG。
我正在使用一个虚拟的CentOS服务器,并且安装MySQL的过程并不顺畅,但是这就是我遇到的砖墙所在。 请记住,我可以通过SSH进入盒子来轻松地完成所有这些事情(当然,这也会影响configuration的目的):
echo "hello world"; <-- good sudo yum install mysql-server -y; <-- good sudo /sbin/service mysqld start; <-- good sudo mysql create user 'mycooluser'@'%' identified by 'mypassword'; <-- BAD
我一直在谷歌search,最接近的是这篇文章 ,但由于它是基于Ubuntu而不是CentOS,所以我马上就被卡住了,因为yum并不知道debconf-utils是什么,而apt does。
任何人都可以为我阐明这一点吗? 我不认为我的是一个荒谬的用例,我想要做的就是有shell提供者
请不要告诉我“使用厨师或木偶”。 我已经尝试过,他们有自己的问题,真的觉得这些简单的要求矫枉过正。 当然,这些项目可以用一个shell供应商完成?
非常感谢任何见解。 你可能能够告诉我在我的智慧结束。
这是我的流浪文件:
# -*- mode: ruby -*- # vi: set ft=ruby : VAGRANTFILE_API_VERSION = "2" $script = <<SCRIPT set -x echo I am provisioning... date > /etc/vagrant_provisioned_at echo "hello world" yum install mysql-server -y /sbin/service mysqld start mysql -e "create user 'mycooluser'@'%' identified by 'mypassword'" SCRIPT Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.vm.box = "chef/centos-6.5" config.vm.provision :shell, :inline => $script end
vagrant up
应该得到一个centos-6.5操作系统与MySQL和用户'mycooluser'。
核实:
在完成配置并在CentOS客户端操作系统内执行以下操作后,将vagrant ssh
到框中。
mysql -uroot
mysql> SELECT User FROM mysql.user; +------------+ | User | +------------+ | mycooluser | | root | | | | root | | | | root | +------------+ 6 rows in set (0.00 sec)
注意:您可能想授予“mycooluser”权限以便使用mysql shell等进行登录
更多细节可以在这里找到。