使用Puppet安装Virtualbox扩展包
我试着在谷歌上搜索这个,但在使用vagrant with virtualbox的人身上得到了5000次点击 因为我的virtualbox有需要USB支持的机器,所以我需要安装扩展包 我需要让puppet安装扩展包文件 我目前为VirtualBox准备了以下内容:使用Puppet安装Virtualbox扩展包,virtualbox,puppet,Virtualbox,Puppet,我试着在谷歌上搜索这个,但在使用vagrant with virtualbox的人身上得到了5000次点击 因为我的virtualbox有需要USB支持的机器,所以我需要安装扩展包 我需要让puppet安装扩展包文件 我目前为VirtualBox准备了以下内容: class virtualbox( $ubuntu_release ) { apt::source { virtualbox: location => 'http://download.virtualbox.
class virtualbox(
$ubuntu_release
) {
apt::source { virtualbox:
location => 'http://download.virtualbox.org/virtualbox/debian',
release => $ubuntu_release,
repos => 'contrib',
key => '98AB5139',
key_source => "http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc",
include_src => false,
}
package { virtualbox:
name => 'virtualbox-4.2',
ensure => present,
require => Apt::Source['virtualbox']
}
}
有人有办法安装扩展包吗?
我担心如果我做一个exec,我没有办法检查我是否真的安装了这个包或者它是什么版本的,所以它会继续重新安装。
由于每次有新的VirtualBox版本时扩展包都会更新,所以我也需要能够更新它
以下是安装包的当前命令
wget -nv http://download.virtualbox.org/virtualbox/4.2.10/Oracle_VM_VirtualBox_Extension_Pack-4.2.10-84104.vbox-extpack -P /tmp && VBoxManage extpack install /tmp/Oracle_VM_VirtualBox_Extension_Pack-4.2.10-84104.vbox-extpack --replace
我尝试过在文件中包含扩展包的版本:
class vbox_extension {
$packagever = "4210"
$packagefile = "/var/log/puppet/vbox_extension.ver"
exec { "vboxinst":
command => "wget -nv http://download.virtualbox.org/virtualbox/4.2.10/Oracle_VM_VirtualBox_Extension_Pack-4.2.10-84104.vbox-extpack -P /tmp \
&& VBoxManage extpack install /tmp/Oracle_VM_VirtualBox_Extension_Pack-4.2.10-84104.vbox-extpack --replace \
&& echo \"$packagever\" > \"$packagefile\"",",
unless => "test \"`cat $packagefile 2>/dev/null`\" = \"$packagever\"",
require => virtualbox
}
}
但是,这真的是最干净的方法吗?我决定创建一个debian包来代替它,因为我们正在运行自己的回购协议 在Ubuntu12.10上为12.04系统运行此功能 以下是步骤: 是根
sudo su
你需要FPM,FPM需要rubygems来安装
apt-get install rubygems
gem install fpm
然后运行以下命令:
mkdir -p /opt/vbext
cd /opt/vbext
wget -nv http://download.virtualbox.org/virtualbox/4.2.10/Oracle_VM_VirtualBox_Extension_Pack-4.2.10-84104.vbox-extpack
cat <<EOF> /opt/vbext/installpack
#/bin/bash
VBoxManage extpack install /opt/vbext/Oracle_VM_VirtualBox_Extension_Pack-4.2.10-84104.vbox-extpack --replace
EOF
cat <<EOF> /opt/vbext/removepack
#/bin/bash
vboxmanage extpack uninstall "Oracle VM VirtualBox Extension Pack"
EOF
chmod +x installpack removepack
fpm -t deb -n extpack -v 4.2.10-84104 -d virtualbox-4.2 --after-install installpack --after-remove removepack -s dir /opt/vbext/
FPM支持模板化脚本,但我现在懒得把它放进去
ls /opt/vbext/*.deb
extpack_4.2.10-84104_amd64.deb