diff --git a/install.sh b/install.sh index 571c4da..3ba156d 100755 --- a/install.sh +++ b/install.sh @@ -75,9 +75,22 @@ detect_os () { then distro="LEAP15" fi + if [[ $(cat /etc/os-release | grep -e "^CPE_NAME\=*" | cut -f 2 -d '=') =~ cpe:2.3:o:amazon:amazon_linux:2 ]] + then + distro="Amazon" + fi + if [[ $(cat /etc/os-release | grep -e "^CPE_NAME\=*" | cut -f 2 -d '=') =~ cpe:/o:almalinux:almalinux:8::baseos ]] + then + distro="Alma" + fi + if [[ $(cat /etc/os-release | grep -e "^CPE_NAME\=*" | cut -f 2 -d '=') =~ cpe:/o:rocky:rocky:8.5:GA ]] + then + distro="Rocky" + fi if [[ $(cat /etc/os-release | grep -e "^ID\=*" | cut -f 2 -d '=') == "debian" ]]; then distro="Debian" fi + echo "${distro}" } @@ -103,13 +116,21 @@ detect_os_version () { if [[ "${os}" == "SLES15" ]] || [[ "${os}" == "LEAP15" ]]; then cat /etc/os-release | grep -e "^VERSION_ID\=*" | cut -f 2 -d '=' | sed -e 's/[".]//g' fi + # reuse rhel7 binaries for amazon + if [[ "${os}" == "Amazon" ]]; then + echo "7" + fi + # reuse rhel8 binaries for alma and rocky + if [[ "${os}" =~ ^(Alma|Rocky) ]]; then + echo "8" + fi } # Returns the installer type detect_installer_type () { os=$1 case $os in - "RedHat" | "CentOS" | "LEAP12" | "LEAP15" | "SLES12" | "SLES15") + "RedHat" | "CentOS" | "LEAP12" | "LEAP15" | "SLES12" | "SLES15" | "Amazon" | "Alma" | "Rocky") echo "rpm" ;; "Ubuntu" | "Debian") @@ -139,7 +160,7 @@ download_name () { os=$1 version=$2 case $os in - "RedHat" | "CentOS") + "RedHat" | "CentOS" | "Amazon" | "Alma" | "Rocky") echo "R-${version}-1-1.x86_64.rpm" ;; "Ubuntu" | "Debian") @@ -164,7 +185,7 @@ download_url () { else case $os in - "RedHat" | "CentOS") + "RedHat" | "CentOS" | "Amazon" | "Alma" | "Rocky") echo "${CDN_URL}/centos-${ver}/pkgs/${name}" ;; "Ubuntu") @@ -276,7 +297,7 @@ install_rpm () { yes="-y" fi case $os in - "RedHat" | "CentOS") + "RedHat" | "CentOS" | "Amazon" | "Alma" | "Rocky") if ! has_sudo "yum"; then echo "Must have sudo privileges to run yum" exit 1 @@ -305,9 +326,12 @@ install_pre () { ver=$2 case $os in - "RedHat" | "CentOS") + "RedHat" | "CentOS" | "Alma" | "Rocky") install_epel "${ver}" ;; + "Amazon") + install_epel_amzn + ;; "SLES12") install_python_backports ;; @@ -316,7 +340,16 @@ install_pre () { esac } -# Installs EPEL for RHEL/CentOS +# Installs EPEL for Amazon Linux 2 +install_epel_amzn () { + yes= + if [[ "${RUN_UNATTENDED}" -ne "0" ]]; then + yes="-y" + fi + ${SUDO} amazon-linux-extras install epel ${yes} +} + +# Installs EPEL for RHEL/CentOS/Alma/Rocky install_epel () { ver=$1 yes=