class VagrantVbguest::Installers::CentOS
Public Class Methods
match?(vm)
click to toggle source
Calls superclass method
# File lib/vagrant-vbguest/installers/centos.rb, line 5 def self.match?(vm) super && communicate_to(vm).test('test -f /etc/centos-release') end
Public Instance Methods
install(opts=nil, &block)
click to toggle source
Install missing deps and yield up to regular linux installation
Calls superclass method
# File lib/vagrant-vbguest/installers/centos.rb, line 10 def install(opts=nil, &block) install_kernel_deps(opts, &block) super end
Protected Instance Methods
dependencies()
click to toggle source
Calls superclass method
# File lib/vagrant-vbguest/installers/centos.rb, line 59 def dependencies if has_kernel_devel_info? # keep the original redhat dependencies super else # we should have installed kernel-devel-`uname -r` via install_kernel_devel ['gcc', 'binutils', 'make', 'perl', 'bzip2'].join(' ') end end
has_kernel_devel_info?()
click to toggle source
# File lib/vagrant-vbguest/installers/centos.rb, line 24 def has_kernel_devel_info? unless instance_variable_defined?(:@has_kernel_devel_info) @has_kernel_devel_info = communicate.test('yum info kernel-devel-`uname -r`', sudo: true) end @has_kernel_devel_info end
has_rel_repo?()
click to toggle source
# File lib/vagrant-vbguest/installers/centos.rb, line 31 def has_rel_repo? unless instance_variable_defined?(:@has_rel_repo) rel = release_version @has_rel_repo = communicate.test("yum repolist --enablerepo=C#{rel}-base --enablerepo=C#{rel}-updates") end @has_rel_repo end
install_kernel_deps(opts=nil, &block)
click to toggle source
# File lib/vagrant-vbguest/installers/centos.rb, line 17 def install_kernel_deps(opts=nil, &block) unless has_kernel_devel_info? update_release_repos(opts, &block) install_kernel_devel(opts, &block) end end
install_kernel_devel(opts=nil, &block)
click to toggle source
# File lib/vagrant-vbguest/installers/centos.rb, line 53 def install_kernel_devel(opts=nil, &block) rel = has_rel_repo? ? release_version : '*' cmd = "yum install -y kernel-devel-`uname -r` --enablerepo=C#{rel}-base --enablerepo=C#{rel}-updates" communicate.sudo(cmd, opts, &block) end
release_version()
click to toggle source
# File lib/vagrant-vbguest/installers/centos.rb, line 39 def release_version unless instance_variable_defined?(:@release_version) @release_version = nil communicate.sudo('cat /etc/centos-release') do |type, data| @release_version = data.to_s[/(\d+\.\d+(\.\d+)?)/, 1] end end @release_version end
update_release_repos(opts=nil, &block)
click to toggle source
# File lib/vagrant-vbguest/installers/centos.rb, line 49 def update_release_repos(opts=nil, &block) communicate.sudo('yum install -y centos-release', opts, &block) end