- if [ -r /etc/lsb-release ]; then
- dist=$(grep 'DISTRIB_ID' /etc/lsb-release | sed 's/DISTRIB_ID=//' | head -1)
- elif [ -r /etc/redhat-release ]; then
- dist=$(awk '/release/ { printf("%s %s %s", $1, $2, $3)}' /etc/redhat-release)
- elif [ -r /etc/*-release ]; then
- dist=$(find /etc/ -maxdepth 1 -name '*release' 2> /dev/null | \
- sed -e 's/\/etc\///' -e 's/-release//' | head -1)
- else
- dist="UNKNOWN"
- fi
+ rhel_pat=".*release \([[:digit:]]\+\.[[:digit:]]\+\).*"
+
+ if [ -r /etc/centos-release ]; then
+ version=$(sed -n -e "s/${rhel_pat}/\1/p" /etc/centos-release)
+ dist="CentOS ${version}"
+ elif [ -r /etc/redhat-release ]; then
+ version=$(sed -n -e "s/${rhel_pat}/\1/p" /etc/redhat-release)
+ dist="RHEL ${version}"
+ elif [ -r /etc/os-release ]; then
+ name=$(sed -n -e 's/"//g' -e 's/^NAME=//p' /etc/os-release)
+ version=$(sed -n -e 's/"//g' -e 's/^VERSION_ID=//p' \
+ /etc/os-release)
+ dist="${name} ${version}"
+ else
+ dist="UNKNOWN"
+ fi