#!/bin/bash get_dist() { echo $(lsb_release -si) } is_command() { local check_command="$1" command -v "${check_command}" >/dev/null 2>&1 } git_update() { local git_name="$1" local git_path="$2" local git_repo="$3" if [ ! -d "$git_path" ]; then printf "$COL_YELLOW" "* Installing $git_name" git clone --quiet $git_repo $git_path else printf "$COL_YELLOW" "* Updating $git_name" git -C $git_path pull fi } should_apt_last_update() { LAST_UPDATED=$( stat --format="%X" /var/cache/apt/pkgcache.bin ) UNIX_TIME=$( date +%s ) TIME_DIFF=$(( UNIX_TIME - LAST_UPDATED )) if [[ "${TIME_DIFF}" -gt 43200 ]] then # 0 = true return 0 else # 1 = false return 1 fi } get_pkg_mgr() { if is_command apt-get ; then echo "apt-get" elif is_command rpm ; then # Then check if dnf or yum is the package manager if is_command dnf ; then echo "dnf" else echo "yum" fi fi } pkgmgr_update(){ # Get Command language PKG_MANAGER=$( get_pkg_mgr ) # Run apt-get update for distros that use apt-get if [ "$PKG_MANAGER" == "apt-get" ] ; then if should_apt_last_update ; then "${PKG_MANAGER} update" fi fi if [ "$PKG_MANAGER" == "apt-get" ] ; then "$PKG_MANAGER" full-upgrade -y elif [ "$PKG_MANAGER" == "dnf" ] ; then "$PKG_MANAGER" update elif [ "$PKG_MANAGER" == "yum" ] ; then "$PKG_MANAGER" update fi } get_system_used_space() { usedspace=$(df --output=used -B1 / | tail -n 1| cut -d'%' -f1) printf "$COL_RED" "$usedspace" echo $usedspace } human_readable_bytes() { local spacebytes=$1 printf "$COL_YELLOW" "test $1 test" spacekb=`expr "$spacebytes" / 1024` spacemb=`expr "$spacebytes" / 1024 / 1024` spacegb=`expr "$spacebytes" / 1024 / 1024 / 1024` if [[ "$spacegb" -gt 0 ]] then spacewords="$spacegb GB" elif [[ "$spacemb" -gt 0 ]] then spacewords="$spacemb MB" elif [[ "$spacekb" -gt 0 ]] then spacewords="$spacekb KB" elif [[ "$spacebytes" -gt 0 ]] then spacewords="$spacebytes Bytes" else spacewords="zero space" fi } pkgmgr_clean(){ # Get Command language PKG_MANAGER=$( get_pkg_mgr ) printf "$COL_YELLOW" "Cleaning cache for $PKG_MANAGER" if [ "$PKG_MANAGER" == "apt-get" ] ; then "$PKG_MANAGER" clean "$PKG_MANAGER" autoclean elif [ "$PKG_MANAGER" == "dnf" ] ; then "$PKG_MANAGER" clean dbcache "$PKG_MANAGER" clean all elif [ "$PKG_MANAGER" == "yum" ] ; then "$PKG_MANAGER" clean packages "$PKG_MANAGER" clean headers "$PKG_MANAGER" clean metadata "$PKG_MANAGER" clean all fi } install_pkg() { # package to install local pkg_to_install="$1" # Get Command language PKG_MANAGER=$( get_pkg_mgr ) # Run apt-get update for distros that use apt-get if [ "$PKG_MANAGER" == "apt-get" ] ; then if should_apt_last_update ; then "${PKG_MANAGER} update" fi fi # Install the package local PKG_INSTALL=("${PKG_MANAGER}" install -y) "${PKG_INSTALL[@]}" "${pkg_to_install}" } service_exists() { local n=$1 if [[ $(systemctl list-units --all -t service --full --no-legend "$n.service" | sed 's/^\s*//g' | cut -f1 -d' ') == $n.service ]]; then return 0 else return 1 fi } is_shared_lib_present() { local libtocheck="$1" printf "$COL_YELLOW" "Checking if Shared library is installed: $libtocheck" if ! ldconfig -p | grep $libtocheck then printf "$COL_YELLOW" "$libtocheck is not installed" return 1 else printf "$COL_YELLOW" "$libtocheck is installed" return 0 fi }