User Tools

Site Tools


aix:scripts_install_dnf

AIX migrate_dnf73.sh

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
aix/scripts_install_dnf.txt · Last modified: 2024/08/06 11:37 by manu