This script 'll uninstall ALL rpm packages on AIX 7.3 and reinstall DNF and additionnal rpms
[root@nim001]/root/scripts> cat migrate_dnf73.sh
#!/usr/bin/ksh # set -x ################################################## #@(#) after AIX migration to AIX7.3 # remove yum and install dnf ################################################## # v1.0 08-2024 add verbose default ################################################## dir=`dirname $0` if [ -f $dir/.env ] then . $dir/.env else path_script=$dir export sn=`basename $0 | cut -d. -f1` export logpath=/tmp export logname=$logpath/$sn.log fi if [[ $(oslevel | sed 's/\.//g') != "7300" ]] then echo "Not applicable for this os version" exit 1 fi if [ -e /opt/freeware/lib/gcc/powerpc-ibm-aix7.3.0.0 ] then echo "Not applicable DNF still upgraded" exit 1 fi #------------------------------------- main () { echo "##### Backup list RPMs into /tmp/rpm_qa.$$" rpm -qa | sort -u > /tmp/rpm_qa.$$ echo "##### Removing RPM packages" for cnt in {1..5} do for rpm in $(rpm -qa | sort -u | egrep -v "AIX-rpm|lpar2rrd-agent") do rpm -e $rpm done done rpm -e $(rpm -qa | sort -u | egrep -v "AIX-rpm|lpar2rrd-agent" | rev | cut -d'-' -f2- | rev | cut -d'.' -f1 | rev | cut -d'-' -f2- | rev | tr '\n' ' ') echo "##### Installing DNF package" mount -o vers=4 nim001:/repository1/rpms_aix/aix/dnf_bundle_aix_73_v11 /mnt cd /mnt /mnt/install_dnf.sh -d cd echo "##### Update RPM repositories" rm -rf /opt/freeware/etc/yum/repos.d/* rm -rf /opt/freeware/etc/yum.repos.d/* cat > /opt/freeware/etc/dnf/dnf.conf << EOF [main] cachedir=/var/cache/dnf keepcache=1 debuglevel=2 logfile=/var/log/dnf.log obsoletes=1 plugins=1 gpgcheck=1 installonly_limit=3 clean_requirements_on_remove=True best=True skip_if_unavailable=True [IBM_AIX_7.3] name=IBM_AIX_7.3 baseurl=http://rpmreposrv/aix/rpms_ibm/aix/aix73/ enabled=1 gpgcheck=0 [Zabbix] name=Zabbix baseurl=http://rpmreposrv/aix/zabbix_aix/ enabled=1 gpgcheck=0 EOF ln -s /opt/freeware/bin/dnf /usr/bin/dnf 2>/dev/null ln -s /opt/freeware/bin/dnf /usr/bin/yum 2>/dev/null echo "##### Update RPM packages" dnf -y update echo "##### Add RPM packages" dnf -y install rsync zip unzip tar sudo_ids sed logrotate bzip2 coreutils curl echo "##### Umount Repository" umount /mnt umount /mnt } main | tee $logname 2>&1