check_update(packages: nil, with_status: false)
click to toggle source
def check_update(packages: nil, with_status: false)
yum_action('check-update', packages, :assumeyes => true, :valid_exit_statuses => [100],
:with_status => with_status)
end
clean_cache(assumeyes: false)
click to toggle source
def clean_cache(assumeyes: false)
yum_action('clean', 'all', :assumeyes => assumeyes)
end
files_not_owned_by_package(directory)
click to toggle source
def files_not_owned_by_package(directory)
find_cmd = "find #{directory} -exec /bin/sh -c 'rpm -qf {} &> /dev/null || echo {}' \\;"
sys.execute(find_cmd).split("\n")
end
find_installed_package(name, queryformat = '')
click to toggle source
def find_installed_package(name, queryformat = '')
rpm_cmd = "rpm -q '#{name}'"
unless queryformat.empty?
rpm_cmd += " --qf '#{queryformat}'"
end
status, result = sys.execute_with_status(rpm_cmd)
if status == 0
result
end
end
install(packages, assumeyes: false)
click to toggle source
def install(packages, assumeyes: false)
yum_action('install', packages, :assumeyes => assumeyes)
end
installed?(packages)
click to toggle source
def installed?(packages)
packages_list = [packages].flatten(1).map { |pkg| "'#{pkg}'" }.join(' ')
sys.execute?(%Q(rpm -q #{packages_list}))
end
list_installed_packages(queryformat = '%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}\n')
click to toggle source
def list_installed_packages(queryformat = '%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}\n')
sys.execute!("rpm -qa --qf '#{queryformat}'").split("\n")
end
lock_versions()
click to toggle source
def lock_versions
enable_protector
end
protector_whitelist_file_nonzero?()
click to toggle source
def protector_whitelist_file_nonzero?
File.exist?(PROTECTOR_WHITELIST_FILE) &&
!File.zero?(PROTECTOR_WHITELIST_FILE)
end
reinstall(packages, assumeyes: false)
click to toggle source
def reinstall(packages, assumeyes: false)
yum_action('reinstall', packages, :assumeyes => assumeyes)
end
remove(packages, assumeyes: false)
click to toggle source
def remove(packages, assumeyes: false)
yum_action('remove', packages, :assumeyes => assumeyes)
end
unlock_versions()
click to toggle source
def unlock_versions
disable_protector
end
update(packages = [], assumeyes: false)
click to toggle source
def update(packages = [], assumeyes: false)
yum_action('update', packages, :assumeyes => assumeyes)
end
update_available?(package)
click to toggle source
def update_available?(package)
cmd_output = yum_action('check-update -q', package, :with_status => true, :assumeyes => false)
cmd_output[0] == 100
end
version_locking_supported?()
click to toggle source
def version_locking_supported?
true
end
versions_locked?()
click to toggle source
def versions_locked?
!!(protector_config =~ /^\s*enabled\s*=\s*1/) &&
protector_whitelist_file_nonzero?
end