????

Your IP : 18.217.193.221


Current Path : /usr/sbin/
Upload File :
Current File : //usr/sbin/hybrid-to-normal

#!/bin/bash
# migrate from normal channel to hybrid channel
#
# Functions
HYBRID_VERSION="3.10.0"
log=/var/log/hybrid-to-normal.log

check_exit_code()   { if [ $? -ne $1 ]; then echo "Error performing last operation. Exiting."; exit 1; fi; }

/usr/sbin/rhn-channel -l | grep -q "hybrid"
if [ "$?" -eq "0" ] ; then
	echo "Switching to normal channel..." | tee -a $log
	/usr/sbin/cln-channel normal 2>&1 | tee -a $log
	check_exit_code 0
fi

if [ -f /etc/yum.repos.d/cloudlinux-hybrid-testing.repo ] ; then
	echo "Remove hybrid-testing repositries..." | tee -a $log
	rm /etc/yum.repos.d/cloudlinux-hybrid-testing.repo
	check_exit_code 0
fi

if [ "$(acpid -v)" \> "acpid-2" ]; then
	echo "Recovery acpid for normal version..." | tee -a $log
	yum -y downgrade $(cat /etc/sysconfig/acpid-version.pre-hybrid) 2>&1 | tee -a $log
	check_exit_code 0
fi

rpm --quiet -q linux-firmware
if [ "$?" -eq "0" ] ; then
	echo "Removing linux-firmware packages..." | tee -a $log
	yum -y remove linux-firmware 2>&1 | tee -a $log
	check_exit_code 0
fi

rpm --quiet -q kernel-firmware
if [ "$?" -ne "0" ] ; then
	echo "Recovering kernel-firmware and 'normal' kernel packages..." | tee -a $log
	yum --disableexcludes=all -y install kernel-firmware-$(cat /etc/sysconfig/kernel-version.pre-hybrid) 2>&1 | tee -a $log
	check_exit_code 0
        # install original kernel, because client might have removed it after hybridization
	yum --disableexcludes=all -y install kernel-$(cat /etc/sysconfig/kernel-version.pre-hybrid) 2>&1 | tee -a $log
	check_exit_code 0
fi

listpkg=$(rpm -qa kernel* kmod* | grep "$HYBRID_VERSION")
if [ "$?" -eq "0" ] ; then
	echo "Remove ${listpkg}..." | tee -a $log
	rpm --nodeps -e $listpkg
	check_exit_code 0
fi

if [ -f /etc/sysconfig/kernel-version.pre-hybrid ] ; then
	echo "Remove /etc/sysconfig/kernel-version.pre-hybrid..." | tee -a $log
	rm /etc/sysconfig/kernel-version.pre-hybrid
	check_exit_code 0
fi

. /etc/sysconfig/kernel

echo "Migration to normal channel completed" | tee -a "${log}"