Ksh
Korn shell - ksh
if-then
if [[ -e /usr/opt/rpm/bin/rpm ]]
then
RPM_CMD="/usr/opt/rpm/bin/rpm"
else
RPM_CMD="/usr/bin/rpm"
fi
# Check if we are running this as the root user.
if [[ "$(/usr/bin/id -u)" != "0" ]]
then
echo "This script must be run as root."
exit 1
fi
Check AIX Version
# First check the AIX version.
oslvl=`/usr/bin/oslevel`
aix_ver=$(/usr/bin/lslpp -qLc bos.rte | /usr/bin/awk -F':' '{print $3}')
af1=$(echo $aix_ver | /usr/bin/cut -d"." -f1)
af2=$(echo $aix_ver | /usr/bin/cut -d"." -f2)
af3=$(echo $aix_ver | /usr/bin/cut -d"." -f3)
if [[ "$oslvl" = "7.1.0.0" ]]
then
if [[ ( ! $af1 -ge 7 ) || ( ! $af2 -ge 1 ) || ( ! $af3 -ge 3 ) ]]
then
echo "dnf and dependencies can be installed on AIX 7.1.3 and higher versions."
exit 1
fi
else
if [[ ( ! $af1 -ge 7 ) || ( ! $af2 -ge 1 ) ]]
then
echo "dnf and dependencies can be installed on AIX 7.1.3 and higher versions."
exit 1
fi
fi
Help
prog=${0##*/}
usage() {
print >&2 "Usage: $prog <-d> <-y> <-n> -?
-d Install and setup dnf if yum is not installed.
yum command will not be available only dnf command can be used.
-y Installs dnf, and updates yum3 to dnf yum4 if yum3 is installed.
If no yum3 is installed then dnf and yum4 will be installed.
yum command will also be available along with dnf.
-n Install dnf where both yum and dnf can coexist if yum is installed already.
This is not a recommended option."
exit 1
}
if [[ $# -ne 1 ]]
then
usage
exit 1
fi
Check disk space for /tmp
oslvl=`/usr/bin/oslevel`
aix_730_plus=0
os_f1=$(echo $oslvl | /usr/bin/cut -d"." -f1)
os_f2=$(echo $oslvl | /usr/bin/cut -d"." -f2)
os_f3=$(echo $oslvl | /usr/bin/cut -d"." -f3)
os_f4=$(echo $oslvl | /usr/bin/cut -d"." -f4)
if [[ ( $os_f1 -ge 7 ) && ( $os_f2 -ge 3 ) && ( $os_f3 -ge 0 ) && ( $os_f4 -ge 0 ) ]]
then
aix_730_plus=1
fi
aix_715_prior=0
oslvl_tl=`/usr/bin/lslpp -qLc bos.rte | /usr/bin/cut -d: -f3`
os_f1=$(echo $oslvl_tl | /usr/bin/cut -d"." -f1)
os_f2=$(echo $oslvl_tl | /usr/bin/cut -d"." -f2)
os_f3=$(echo $oslvl_tl | /usr/bin/cut -d"." -f3)
if [[ ( $os_f1 -eq 7 ) && ( $os_f2 -eq 1 ) && ( $os_f3 -lt 5 ) ]]
then
aix_715_prior=1
fi
# Check if /tmp has enough space to download rpm.rte & dnf_bundle
# and size for extracting rpm packages.
if [[ $aix_730_plus -eq 1 ]]
then
typeset -i total_req=`echo "(512)" | bc`
tmp_free=`/usr/bin/df -m /tmp | /usr/bin/sed -e /Filesystem/d | /usr/bin/awk '{print $3}'`
if [[ $tmp_free -le $total_req ]]
then
echo "Please make sure /tmp has around 512MB of free space to download and"
echo "extract files from dnf_bundle."
exit 1
fi
else
typeset -i total_req=`echo "(512)" | bc`
tmp_free=`/usr/bin/df -m /tmp | /usr/bin/sed -e /Filesystem/d | /usr/bin/awk '{print $3}'`
if [[ $tmp_free -le $total_req ]]
then
echo "Please make sure /tmp has around 512MB of free space to download and"
echo "extract files from dnf_bundle."
exit 1
fi
fi