diff --git a/common/functions.sh b/common/functions.sh index f7b888f..5222222 100644 --- a/common/functions.sh +++ b/common/functions.sh @@ -37,7 +37,37 @@ should_apt_last_update() { } get_distro() { - echo $(awk -F= '/^NAME/{print $2}' /etc/os-release) + # echo $(awk -F= '/^NAME/{print $2}' /etc/os-release) + if [ -f /etc/os-release ]; then + # freedesktop.org and systemd + . /etc/os-release + OS=$NAME + VER=$VERSION_ID + elif type lsb_release >/dev/null 2>&1; then + # linuxbase.org + OS=$(lsb_release -si) + VER=$(lsb_release -sr) + elif [ -f /etc/lsb-release ]; then + # For some versions of Debian/Ubuntu without lsb_release command + . /etc/lsb-release + OS=$DISTRIB_ID + VER=$DISTRIB_RELEASE + elif [ -f /etc/debian_version ]; then + # Older Debian/Ubuntu/etc. + OS=Debian + VER=$(cat /etc/debian_version) + elif [ -f /etc/SuSe-release ]; then + # Older SuSE/etc. + ... + elif [ -f /etc/redhat-release ]; then + # Older Red Hat, CentOS, etc. + ... + else + # Fall back to uname, e.g. "Linux ", also works for BSD, etc. + OS=$(uname -s) + VER=$(uname -r) + fi + echo $OS } get_pkg_mgr() {