Kanjut SHELL
Server IP : 172.16.15.8  /  Your IP : 3.145.106.7
Web Server : Apache
System : Linux zeus.vwu.edu 4.18.0-553.27.1.el8_10.x86_64 #1 SMP Wed Nov 6 14:29:02 UTC 2024 x86_64
User : apache ( 48)
PHP Version : 7.2.24
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0555) :  /tmp/../bin/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : //tmp/../bin/crb
#!/bin/bash
#  Enable / Disable / Status the codeready-builder(CRB) or equivalent repo.

###############
# Show help
###############
usage() {
  echo "Usage `basename $0` [ enable | disable | status ] " >&2
  echo >&2
  echo "Enable, Disable, or give the status of the CodeReady Builder (CRB) repo" >&2
  echo >&2
  echo "Options:" >&2
  echo "  enable" >&2
  echo "    Enable the CRB repo" >&2
  echo "  disable" >&2
  echo "    Disable the CRB repo" >&2
  echo "  status" >&2
  echo "    Show if rhe CRB repo is enabled or disabled" >&2
  echo "  help" >&2
  echo "    Show this options menu" >&2
  echo >&2
  popd &>/dev/null
  exit 1
}


# Show the status
show_status()(
    # Determine if a version of CRB is enabled
    crb_repo=$(dnf repolist | grep -i -e crb -e powertools -e codeready | grep -v -i -e debug -e source -e eus -e virt -e rhui | awk '{print $1}')
    if [ "${crb_repo}" == "" ] ; then
        echo "CRB repo is disabled"
    else
        echo "CRB repo is enabled and named: ${crb_repo}"
    fi
)

# Enable or Disable the repo
enable_disable_repo(){
    command="$1"
    # Determine which repo we need to change
    crb_repo=$(dnf repolist --all | grep -i -e crb -e powertools -e codeready | grep -v -i -e debug -e source -e eus -e virt -e rhui | awk '{print $1}')

    # Determine if we are on RHEL or not, then do the correct steps
    source /etc/os-release
    if [[ "${NAME}" =~ "Red Hat" ]] ; then
        subscription-manager repos ${command} ${crb_repo}
    else
        # Determine if dnf-command(config-manager) is installed
        if ! rpm -q --whatprovides 'dnf-command(config-manager)' > /dev/null 2>&1 ; then
            echo "Error: Please run: dnf install 'dnf-command(config-manager)'" >&2
            echo "       before trying to enable/disable the CRB repo." >&2
            echo "Aborting"'!' >&2
            exit 1
        fi
        # Everything else uses dnf config-manager
        dnf config-manager ${command} ${crb_repo}
    fi
}

###############
# Get our arguments
###############
key="$1"
case $key in
enable | --enable )
    echo "Enabling CRB repo"
    enable_disable_repo --enable
    show_status
;;
disable | --disable )
    echo "Disabling CRB repo"
    enable_disable_repo --disable
    show_status
;;
status | --status )
    show_status
;;
* )
    usage
    exit 2
;;
esac

exit 0

Stv3n404 - 2023