deb_major_version()
click to toggle source
def deb_major_version
os_version_id.to_i if debian?
end
debian?()
click to toggle source
def debian?
os_id == 'debian'
end
debian_or_ubuntu?()
click to toggle source
def debian_or_ubuntu?
debian? || ubuntu?
end
el7?()
click to toggle source
def el7?
el_major_version == 7
end
el8?()
click to toggle source
def el8?
el_major_version == 8
end
el?()
click to toggle source
def el?
File.exist?('/etc/redhat-release')
end
el_major_version()
click to toggle source
def el_major_version
os_version_id.to_i if el?
end
facts()
click to toggle source
def facts
unless defined?(@facts)
@facts = {}
regex = /^(["'])(.*)(\1)$/
File.open(os_release_file) do |file|
file.readlines.each do |line|
line.strip!
next if line.start_with?('#')
key, value = line.split('=', 2)
next unless key && value
@facts[key] = value.gsub(regex, '\2').delete('\')
end
end
end
@facts
end
os_id()
click to toggle source
def os_id
facts.fetch('ID')
end
os_id_like_list()
click to toggle source
def os_id_like_list
facts.fetch('ID_LIKE', '').split
end
os_name()
click to toggle source
def os_name
facts.fetch('NAME')
end
os_release_file()
click to toggle source
def os_release_file
if File.file?(OS_RELEASE_FILE)
return OS_RELEASE_FILE
elsif File.file?(FALLBACK_OS_RELEASE_FILE)
return FALLBACK_OS_RELEASE_FILE
else
puts "The #{OS_RELEASE_FILE} and #{FALLBACK_OS_RELEASE_FILE} files are missing! " "Can't continue the execution without Operating System's facts!"
exit 1
end
end
os_version()
click to toggle source
def os_version
facts.fetch('VERSION')
end
os_version_id()
click to toggle source
def os_version_id
facts.fetch('VERSION_ID')
end
ubuntu?()
click to toggle source
def ubuntu?
os_id == 'ubuntu'
end
ubuntu_major_version()
click to toggle source
def ubuntu_major_version
os_version_id if ubuntu?
end