Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- DEBUG=1 # If you want interim step info, set this to 1
- ARCH=`uname -i`
- [[ ${DEBUG} == "1" ]] && echo -e "Initial packages to process: \e[1m`rpm -qa | grep el8 | wc -l`\e[0m"
- [[ ${DEBUG} == "1" ]] && echo -e "Looking for 'el8' packages with \e[1;4m${ARCH}\e[0m and \e[1;4mnoarch\e[0m architectures" && sleep 4
- for i in `rpm -qa | grep el8 | sed "s/\.${ARCH}//; s/\.noarch//"`; do
- readarray -t aPkg < <(dnf info ${i} | egrep "^Name|^Version|^Release" | awk '{print $3}')
- [[ ${DEBUG} == "1" ]] && echo "Input parsing: `declare -p aPkg`"
- pkgBase="${aPkg[0]}"
- pkgOld="${aPkg[0]}-${aPkg[1]}-${aPkg[2]}"
- [[ ${DEBUG} == "1" ]] && echo "Base Name: ${pkgBase}"
- [[ ${DEBUG} == "1" ]] && echo "Old Install: ${pkgOld}"
- newVer=`yum list ${pkgBase} | grep el9 | awk '{print $2}' | head -1`
- pkgNew=${pkgBase}-${newVer}
- [[ ${DEBUG} == "1" ]] && echo "New Install: ${pkgNew}"
- dnf -y swap ${pkgOld} ${pkgNew} --allowerasing --nobest
- echo; echo
- done
- [[ ${DEBUG} == "1" ]] && echo -e "Remaining packages to process: \e[1m`rpm -qa | grep el8 | wc -l`\e[0m"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement