2013-03-19 89 views
1

我試着用搜索引擎這一點,但得到了利用流浪漢在VirtualBox中5000次人點擊..安裝VirtualBox的擴展包木偶

由於我的VirtualBox已經的機器,需要對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'] 
    } 
} 

做任何人有辦法安裝擴展包? 我害怕,如果我做一個執行我沒有辦法檢查,如果我真的安裝包或它的什麼版本,所以它會繼續重新安裝。 而且由於擴展包每次更新都有一個新的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 
    } 
} 

但事實真是這樣做最徹底的方法?

回答

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支持模板化的劇本,但我偷懶把在現在..