我尝试使用谷歌搜索,但在使用虚拟盒的流浪者的人上获得了5000次点击..
由于我的虚拟机具有需要USB支持的计算机,因此我需要安装扩展包 .
我需要让puppet安装我的扩展包文件 .
我目前有这个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
}
}
但这真的是最干净的方法吗?
1 回答
我决定创建一个这样的debian包,因为我们正在运行我们自己的repo .
在Ubuntu 12.10上运行12.04系统 .
这是步骤:
做根...
你需要FPM,FPM需要rubygems才能安装 .
运行这个:
你现在将拥有一个整齐的debian软件包 .
FPM支持模板化脚本,但我现在懒得把它放进去 .