#!/bin/bash ## Title: fix_rhnreg ## Description: Installs missing packages for rhnreg_ks ## Author: Bill Howe ## Date: 2015-12-30 ## Recent Changes: Cleaned up echo formatting #### CUSTOMIZE HERE ##### #Spacewalk server fqdn sw_server="my-spacewalk-server.local" #### END OF CUSTOMIZE ##### echo "=== Install Missing Packages for rhnreg_ks ===" echo "This script checks for the existence of rhnreg_ks." echo "If it does not exist, it will download and install" echo "missing pacakges from Spacewalk." echo -e "\n=> Checking to see if rhnreg_ks exists..." if [[ $(which rhnreg_ks) ]];then echo "=> rhnreg_ks exists, nothing needs fixing." exit 0 else echo "=> rhnreg_ks not found! Will attempt to fix." fi echo -e "\n=> Creating /tmp/rhnreg_rpms for download directory..." mkdir /tmp/rhnreg_rpms cd /tmp/rhnreg_rpms echo -e "\n=> Downloading missing packages from Spacewalk..." # Distro version check major_version=$(awk -F: '{printf "%d", $5}' /etc/system-release-cpe) case $major_version in 6) wget --no-check-certificate https://${sw_server}/pub/rhn-setup-packages/el6/libgudev1-147-2.57.el6.x86_64.rpm wget --no-check-certificate https://${sw_server}/pub/rhn-setup-packages/el6/m2crypto-0.20.2-9.el6.x86_64.rpm wget --no-check-certificate https://${sw_server}/pub/rhn-setup-packages/el6/pygobject2-2.20.0-5.el6.x86_64.rpm wget --no-check-certificate https://${sw_server}/pub/rhn-setup-packages/el6/pyOpenSSL-0.10-2.el6.x86_64.rpm wget --no-check-certificate https://${sw_server}/pub/rhn-setup-packages/el6/python-dmidecode-3.10.13-3.el6_4.x86_64.rpm wget --no-check-certificate https://${sw_server}/pub/rhn-setup-packages/el6/python-gudev-147.1-4.el6_0.1.x86_64.rpm wget --no-check-certificate https://${sw_server}/pub/rhn-setup-packages/el6/python-hwdata-1.7.3-1.el6.noarch.rpm wget --no-check-certificate https://${sw_server}/pub/rhn-setup-packages/el6/rhn-check-2.2.7-1.el6.noarch.rpm wget --no-check-certificate https://${sw_server}/pub/rhn-setup-packages/el6/rhn-client-tools-2.2.7-1.el6.noarch.rpm wget --no-check-certificate https://${sw_server}/pub/rhn-setup-packages/el6/rhnlib-2.5.72-1.el6.noarch.rpm wget --no-check-certificate https://${sw_server}/pub/rhn-setup-packages/el6/rhnsd-5.0.14-1.el6.x86_64.rpm wget --no-check-certificate https://${sw_server}/pub/rhn-setup-packages/el6/rhn-setup-2.2.7-1.el6.noarch.rpm wget --no-check-certificate https://${sw_server}/pub/rhn-setup-packages/el6/yum-rhn-plugin-2.2.7-1.el6.noarch.rpm ;; 7) wget --no-check-certificate https://${sw_server}/pub/rhn-setup-packages/el7/libgudev1-208-11.el7.x86_64.rpm wget --no-check-certificate https://${sw_server}/pub/rhn-setup-packages/el7/m2crypto-0.21.1-15.el7.x86_64.rpm wget --no-check-certificate https://${sw_server}/pub/rhn-setup-packages/el7/pygobject2-2.28.6-11.el7.x86_64.rpm wget --no-check-certificate https://${sw_server}/pub/rhn-setup-packages/el7/pyOpenSSL-0.13.1-3.el7.x86_64.rpm wget --no-check-certificate https://${sw_server}/pub/rhn-setup-packages/el7/python-dmidecode-3.10.13-11.el7.x86_64.rpm wget --no-check-certificate https://${sw_server}/pub/rhn-setup-packages/el7/python-gudev-147.2-7.el7.x86_64.rpm wget --no-check-certificate https://${sw_server}/pub/rhn-setup-packages/el7/python-hwdata-1.7.3-4.el7.noarch.rpm wget --no-check-certificate https://${sw_server}/pub/rhn-setup-packages/el7/rhn-check-2.0.2-5.el7.noarch.rpm wget --no-check-certificate https://${sw_server}/pub/rhn-setup-packages/el7/rhn-client-tools-2.0.2-5.el7.noarch.rpm wget --no-check-certificate https://${sw_server}/pub/rhn-setup-packages/el7/rhnlib-2.5.65-2.el7.noarch.rpm wget --no-check-certificate https://${sw_server}/pub/rhn-setup-packages/el7/rhnsd-5.0.13-3.el7.x86_64.rpm wget --no-check-certificate https://${sw_server}/pub/rhn-setup-packages/el7/rhn-setup-2.0.2-5.el7.noarch.rpm wget --no-check-certificate https://${sw_server}/pub/rhn-setup-packages/el7/yum-rhn-plugin-2.0.1-4.el7.noarch.rpm ;; esac echo -e "\n=> Installing missing packages..." yum -y install ./*.rpm # Go back to original directory cd - echo -e "\n=> Cleaning up RPMs..." rm -rf /tmp/rhnreg_rpms echo -e "\n=> Checking results..." if [[ $(which rhnreg_ks) ]];then echo "=> rhnreg_ks now exists, issue should be fixed!" exit 0 else echo "=> rhnreg_ks does not exist, something must have gone wrong..." exit 1 fi