首页 文章

使用Puppet安装Virtualbox Extension Pack

提问于
浏览
1

我尝试使用谷歌搜索,但在使用虚拟盒的流浪者的人上获得了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 回答

  • 2

    我决定创建一个这样的debian包,因为我们正在运行我们自己的repo .

    在Ubuntu 12.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/
    

    你现在将拥有一个整齐的debian软件包 .

    ls /opt/vbext/*.deb
    extpack_4.2.10-84104_amd64.deb
    

    FPM支持模板化脚本,但我现在懒得把它放进去 .

相关问题