| #!/bin/bash |
| |
| # update_repos() - Function that updates linux repositories |
| function update_repos { |
| echo "Updating repositories list..." |
| if [ -f /var/onap/files/sources.list ]; then |
| cp /var/onap/files/sources.list /etc/apt/sources.list |
| fi |
| source /etc/os-release || source /usr/lib/os-release |
| case ${ID,,} in |
| *suse) |
| zypper -n ref |
| ;; |
| ubuntu|debian) |
| if [[ "$debug" == "False" ]]; then |
| apt-get update > /dev/null |
| else |
| apt-get update |
| fi |
| ;; |
| rhel|centos|fedora) |
| yum updateinfo |
| ;; |
| esac |
| } |
| |
| # is_package_installed() - Function to tell if a package is installed |
| function is_package_installed { |
| if [[ -z "$@" ]]; then |
| return 1 |
| fi |
| source /etc/os-release || source /usr/lib/os-release |
| case ${ID,,} in |
| *suse) |
| CHECK_CMD="zypper search --match-exact --installed" |
| ;; |
| ubuntu|debian) |
| CHECK_CMD="dpkg -l" |
| ;; |
| rhel|centos|fedora) |
| CHECK_CMD="rpm -q" |
| ;; |
| esac |
| ${CHECK_CMD} "$@" &> /dev/null |
| } |
| |
| # install_packages() - Install a list of packages |
| function install_packages { |
| local package=$@ |
| source /etc/os-release || source /usr/lib/os-release |
| case ${ID,,} in |
| *suse) |
| ;; |
| ubuntu|debian) |
| apt-get install -y -qq $package |
| ;; |
| rhel|centos|fedora) |
| ;; |
| esac |
| } |
| |
| # install_package() - Install specific package if doesn't exist |
| function install_package { |
| local package=$1 |
| |
| if ! is_package_installed $package; then |
| echo "Installing $package..." |
| |
| source /etc/os-release || source /usr/lib/os-release |
| case ${ID,,} in |
| *suse) |
| zypper install -y $package |
| ;; |
| ubuntu|debian) |
| if [[ "$debug" == "False" ]]; then |
| apt-get install -y -qq -o=Dpkg::Use-Pty=0 $package |
| else |
| apt-get install -y $package |
| fi |
| ;; |
| rhel|centos|fedora) |
| PKG_MANAGER=$(which dnf || which yum) |
| ${PKG_MANAGER} -y install $package |
| ;; |
| esac |
| fi |
| } |
| |
| # uninstall_packages() - Uninstall a list of packages |
| function uninstall_packages { |
| local packages=$@ |
| source /etc/os-release || source /usr/lib/os-release |
| case ${ID,,} in |
| *suse) |
| ;; |
| ubuntu|debian) |
| apt-get purge -y -qq $packages |
| ;; |
| rhel|centos|fedora) |
| ;; |
| esac |
| } |
| |
| # uninstall_package() - Uninstall specific package if exists |
| function uninstall_package { |
| local package=$1 |
| if is_package_installed $package; then |
| source /etc/os-release || source /usr/lib/os-release |
| case ${ID,,} in |
| *suse) |
| ;; |
| ubuntu|debian) |
| apt-get purge -y -qq $package |
| ;; |
| rhel|centos|fedora) |
| ;; |
| esac |
| fi |
| } |