Advertisement
Guest User

el8 to el9 package resolution

a guest
Sep 29th, 2023
223
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.09 KB | Source Code | 0 0
  1. #!/bin/bash
  2.  
  3. DEBUG=1 # If you want interim step info, set this to 1
  4. ARCH=`uname -i`
  5.  
  6. [[ ${DEBUG} == "1" ]] && echo -e "Initial packages to process: \e[1m`rpm -qa | grep el8 | wc -l`\e[0m"
  7. [[ ${DEBUG} == "1" ]] && echo -e "Looking for 'el8' packages with \e[1;4m${ARCH}\e[0m and \e[1;4mnoarch\e[0m architectures" && sleep 4
  8.  
  9. for i in `rpm -qa | grep el8 | sed "s/\.${ARCH}//; s/\.noarch//"`; do
  10.    readarray -t aPkg < <(dnf info ${i} | egrep "^Name|^Version|^Release" | awk '{print $3}')
  11.    [[ ${DEBUG} == "1" ]] && echo "Input parsing: `declare -p aPkg`"
  12.    pkgBase="${aPkg[0]}"
  13.    pkgOld="${aPkg[0]}-${aPkg[1]}-${aPkg[2]}"
  14.    [[ ${DEBUG} == "1" ]] && echo "Base Name:      ${pkgBase}"
  15.    [[ ${DEBUG} == "1" ]] && echo "Old Install:    ${pkgOld}"
  16.  
  17.    newVer=`yum list ${pkgBase} | grep el9 | awk '{print $2}' | head -1`
  18.    pkgNew=${pkgBase}-${newVer}
  19.    [[ ${DEBUG} == "1" ]] && echo "New Install:    ${pkgNew}"
  20.    dnf -y swap ${pkgOld} ${pkgNew} --allowerasing --nobest
  21.    echo; echo
  22. done
  23.  
  24. [[ ${DEBUG} == "1" ]] && echo -e "Remaining packages to process: \e[1m`rpm -qa | grep el8 | wc -l`\e[0m"
  25.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement