class VagrantVbguest::Installers::Ubuntu
Public Class Methods
match?(vm)
click to toggle source
# File lib/vagrant-vbguest/installers/ubuntu.rb, line 5 def self.match?(vm) :ubuntu == self.distro(vm) end
Public Instance Methods
install(opts=nil, &block)
click to toggle source
Calls superclass method
VagrantVbguest::Installers::Debian#install
# File lib/vagrant-vbguest/installers/ubuntu.rb, line 9 def install(opts=nil, &block) if packaged_additions? unload_packaged_additions(opts, &block) begin remove_packaged_additions(opts, &block) rescue communicate.sudo('apt-get update', opts, &block) remove_packaged_additions(opts, &block) end end super end
Protected Instance Methods
packaged_additions?()
click to toggle source
# File lib/vagrant-vbguest/installers/ubuntu.rb, line 24 def packaged_additions? communicate.test("dpkg --list | grep virtualbox-guest") end
remove_packaged_additions(opts=nil, &block)
click to toggle source
# File lib/vagrant-vbguest/installers/ubuntu.rb, line 28 def remove_packaged_additions(opts=nil, &block) options = (opts || {}).merge(:error_check => false) command = "apt-get -y -q purge virtualbox-guest-dkms virtualbox-guest-utils virtualbox-guest-x11" communicate.sudo(command, options, &block) end
unload_packaged_additions(opts=nil, &block)
click to toggle source
# File lib/vagrant-vbguest/installers/ubuntu.rb, line 34 def unload_packaged_additions(opts=nil, &block) commands = [ "#{systemd_tool[:path]} virtualbox-guest-utils #{systemd_tool[:down]}", "umount -a -t vboxsf", "rmmod vboxsf", "rmmod vboxguest" ] command = "(" + commands.join("; sleep 1; ") + ")" options = (opts || {}).merge(:error_check => false) communicate.sudo(command, options, &block) end