Browse Source

Distro info is now a loop that fills in missing gaps

pull/1936/head
Daniel Gibbs 7 years ago
parent
commit
67436b1016
  1. 62
      lgsm/functions/info_distro.sh

62
lgsm/functions/info_distro.sh

@ -14,26 +14,52 @@ local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
arch=$(uname -m) arch=$(uname -m)
kernel=$(uname -r) kernel=$(uname -r)
# Distro name - Ubuntu 16.04 # Distro Name - Ubuntu 16.04 LTS
# Distro Version - 16.04 # Distro Version - 16.04
# Distro ID - ubuntu # Distro ID - ubuntu
if [ -f "/etc/os-release" ]; then # Distro Codename - xenial
distroname=$(grep PRETTY_NAME /etc/os-release | sed 's/PRETTY_NAME=//g' | tr -d '="')
distroversion=$(grep VERSION_ID /etc/os-release | sed 's/VERSION_ID=//g' | sed 's/\"//g') # Gathers distro info from various sources filling in missing gaps
distroid=$(grep ID /etc/os-release | grep -v _ID | grep -v ID_ | sed 's/ID=//g') distro_info_array=( os-release lsb_release hostnamectl debian_version redhat-release )
elif [ -n "$(command -v lsb_release)" ]; then for distro_info in "${distro_info_array[@]}"
distroname="$(lsb_release -sd)" do
distroversion="$(lsb_release -sr)" if [ -f "/etc/os-release" ]&&[ "${distro_info}" == "os-release" ]; then
distroid=$(lsb_release -sc) distroname=$(grep PRETTY_NAME /etc/os-release | sed 's/PRETTY_NAME=//g' | tr -d '="' | sed 's/\"//g')
elif [ -f "/etc/debian_version" ]; then distroversion=$(grep VERSION_ID /etc/os-release | sed 's/VERSION_ID=//g' | sed 's/\"//g')
distroname="Debian $(cat /etc/debian_version)" distroid=$(grep ID /etc/os-release | grep -v _ID | grep -v ID_ | sed 's/ID=//g' | sed 's/\"//g')
distroversion="$(cat /etc/debian_version)" distrocodename=$(grep VERSION_CODENAME /etc/os-release | sed 's/VERSION_CODENAME=//g' | sed 's/\"//g')
distroid="debian" elif [ -n "$(command -v lsb_release 2>/dev/null)" ]&&[ "${distro_info}" == "lsb_release" ]; then
elif [ -f "/etc/redhat-release" ]; then if [ -z "${distroname}" ];then
distroname=$(cat /etc/redhat-release) distroname="$(lsb_release -sd)"
distroversion=$(rpm -qa \*-release | grep -Ei "oracle|redhat|centos|fedora" | cut -d"-" -f3) elif [ -z "${distroversion}" ];then
distroid="$(wk '{print $1;}' /etc/redhat-release)" distroversion="$(lsb_release -sr)"
fi elif [ -z "${distroid}" ];then
distroid=$(lsb_release -si)
elif [ -z "${distrocodename}" ];then
distrocodename=$(lsb_release -sc)
fi
elif [ -n "$(command -v hostnamectl 2>/dev/null)" ]&&[ "${distro_info}" == "hostnamectl" ]; then
if [ -z "${distroname}" ];then
distroname="$(hostnamectl | grep "Operating System" | sed 's/Operating System: //g')"
fi
elif [ -f "/etc/debian_version" ]&&[ "${distro_info}" == "debian_version" ]; then
if [ -z "${distroname}" ];then
distroname="Debian $(cat /etc/debian_version)"
elif [ -z "${distroversion}" ];then
distroversion="$(cat /etc/debian_version)"
elif [ -z "${distroid}" ];then
distroid="debian"
fi
elif [ -f "/etc/redhat-release" ]&&[ "${distro_info}" == "redhat-release" ]; then
if [ -z "${distroname}" ];then
distroname=$(cat /etc/redhat-release)
elif [ -z "${distroversion}" ];then
distroversion=$(rpm -qa \*-release | grep -Ei "oracle|redhat|centos|fedora" | cut -d"-" -f3)
elif [ -z "${distroid}" ];then
distroid="$(wk '{print $1;}' /etc/redhat-release)"
fi
fi
done
## Glibc version ## Glibc version
# e.g: 1.17 # e.g: 1.17

Loading…
Cancel
Save