User Tools

Site Tools


aix:install_upgr_rpm

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
aix:install_upgr_rpm [2021/01/01 21:21]
127.0.0.1 external edit
aix:install_upgr_rpm [2024/08/21 17:41] (current)
manu
Line 1: Line 1:
 +===== Install and Upgrade AIX packages =====
 +
 +Using no argument, verbose only, with -f for fix (apply)
 +<cli prompt='#'>​
 +[root@nimsrv]/​root/​scripts#​ cat upgrade_aix.sh
 +</​cli>​
 +
 +<​code>​
 +#​!/​usr/​bin/​ksh93
 +# set -x
 +##################################################​
 +#@(#) Upgrade AIX
 +##################################################​
 +# v1.1 06-2023 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
 +
 +aixleveltl=$(echo ${aixmain}${tl} | sed '​s/​\(.\)/​\1\./​g'​)
 +localmpt=/​mnt
 +nimserver=aixna001 ​      # Server containing RPM and export NFS
 +nimrpm=/​export/​aix7200-05/​aix7200-05-07_lpp ​ # location on NFS mount point   Ex: /​export/​softs/​rpm/​aix71
 +
 +
 +#​------------------------------------------------
 +usage()
 +{
 +echo "​Usage:​ (" "​|-f)"​
 +echo "​\tInstall BASE RPM package, and check if upgrades are needed"​
 +echo "\t-f: fix apply RPM (default no)"
 +}
 +
 +#​------------------------------------------------
 +nfs_mount ()
 +{
 +echo "######​ NFS mount"
 +oslevel -s
 +mount -o vers=4,soft $nimserver:​$nimrpm $localmpt
 +}
 +
 +#​------------------------------------------------
 +altdisk ()
 +{
 +cfgmgr
 +
 +altpv=$(lsmpio -q | grep '​_ROOTVG_ALT'​ | awk '​{print $1}')
 +if [[ "​$altpv"​ == ""​ ]]
 +then
 +  echo "#### ERROR NO DISK FOUND for ALTERNATE"​
 +  exit 1
 +fi
 +
 +for vg in $(lsvg | grep rootvg | egrep '​alt_|old_'​)
 +do
 +  exportvg $vg
 +done
 +
 +alt_disk_copy -d $altpv -B
 +}
 +
 +#​------------------------------------------------
 +remove_efix ()
 +{
 +
 +# Remove only efix that won't be present at the end
 +cat $localmpt/​efix/​install_efix.sh | grep emgr | rev | cut -d'/'​ -f1 | rev | cut -d'​.'​ -f1 | sort -u > $tempfile.1
 +emgr -P | grep installp | rev | awk '​{print $1}' | rev | sort -u > $tempfile.2
 +sdiff -w 80 $tempfile.1 $tempfile.2 | grep '>'​ | awk '​{print $1}' > $tempfile
 +
 +for efix in $(cat $tempfile)
 +do
 +  echo "######​ $efix"
 +  emgr -rL $efix
 +done
 +}
 +
 +#​------------------------------------------------
 +update_aix ()
 +{
 +echo "######​ Update AIX"
 +install_all_updates -d $localmpt -rc -Y
 +
 +echo 1 | $localmpt/​license/​idsLicense
 +installp -agXY -d $localmpt GSKit8.gskcrypt64 GSKit8.gskssl64
 +installp -agXY -d $localmpt idsldap.clt32bit64.rte idsldap.clt64bit64.rte idsldap.clt_max_crypto32bit64.rte idsldap.clt_max_crypto64bit64.rte idsldap.cltbase64.adt idsldap.cltbase64.rte idsldap.license64.rte
 +
 +
 +emgr -e $localmpt/​openssh_fix15/​38408m9b.230811.epkg.Z
 +}
 +
 +#​------------------------------------------------
 +check_free_space ()
 +{
 +echo "######​ Check free space on /opt"
 +if [ $(df -mc | grep '/​dev/​hd10opt'​ | cut -d':'​ -f3 | sed '​s/​\./​\ /' | awk '​{print $1}') -lt "​300"​ ]
 +then
 +  echo "​extending /opt"
 +  chfs -a size=+300M /opt
 +else
 +  echo "​Filesystem /opt OK"
 +fi
 +}
 +
 +#​------------------------------------------------
 +update_rpm ()
 +{
 +echo "######​ Update RPM"
 +sudo=$(rpm -qa | grep sudo)
 +if [ $(echo $sudo | grep -q '​sudo_ids';​ echo $?) -ne "​0"​ ]
 +then
 +  yum -y remove $sudo
 +  yum -y install sudo_ids
 +fi
 +
 +yum -y update
 +/​usr/​sbin/​updtvpkg
 +}
 +
 +#​------------------------------------------------
 +restart_services ()
 +{
 +stopsrc -s nimsh ; startsrc -s nimsh
 +stopsrc -g rsct_rm ; stopsrc -g rsct ; startsrc -g rsct ; startsrc -g rsct_rm
 +stopsrc -s xntpd ; startsrc -s xntpd
 +stopsrc -s sendmail ; startsrc -s sendmail -a "-bd -q30m";​ ps -ef | grep -v grep | grep sendmail
 +}
 +
 +#​------------------------------------------------
 +nfs_umount ()
 +{
 +echo "######​ NFS umount"​
 +oslevel -s
 +umount $localmpt
 +}
 +
 +#############################################​
 +# main
 +main ()
 +{
 +date '​+%d-%m-%Y %H:%M'
 +
 +if [[ $(oslevel | sed '​s/​\.//​g'​) != "​7200"​ ]]
 +then
 +  echo "BAD AIX level"
 +  exit 1
 +fi
 +
 +if [ $(ls /​usr/​ios/​cli/​ioscli > /dev/null 2>&​1;​ echo $?) -eq "​0"​ ]
 +then
 +  echo "BAD AIX level VIOS !!!!"
 +  exit 1
 +fi
 +
 +
 +
 +altdisk
 +if [ $? -ne "​0"​ ]
 +then
 +  echo "​EXIT"​
 +  exit 1
 +fi
 +date '​+%d-%m-%Y %H:%M'
 +nfs_mount
 +date '​+%d-%m-%Y %H:%M'
 +update_aix
 +date '​+%d-%m-%Y %H:%M'
 +check_free_space ​
 +update_rpm
 +date '​+%d-%m-%Y %H:%M'
 +nfs_umount
 +restart_services
 +date '​+%d-%m-%Y %H:%M'
 +
 +oslevel -s
 +instfix -ci | grep :-:
 +lppchk -v
 +}
 +
 +main > $logname 2>&1
 +</​code>​
 +
 ===== Install and Upgrade RPM packages ===== ===== Install and Upgrade RPM packages =====
  
aix/install_upgr_rpm.1609532504.txt.gz ยท Last modified: 2021/01/01 21:21 by 127.0.0.1