summaryrefslogtreecommitdiffstats
path: root/abs/core/LinHES-config-svn/install_proxy.sh
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core/LinHES-config-svn/install_proxy.sh')
-rwxr-xr-xabs/core/LinHES-config-svn/install_proxy.sh717
1 files changed, 717 insertions, 0 deletions
diff --git a/abs/core/LinHES-config-svn/install_proxy.sh b/abs/core/LinHES-config-svn/install_proxy.sh
new file mode 100755
index 0000000..32d01d7
--- /dev/null
+++ b/abs/core/LinHES-config-svn/install_proxy.sh
@@ -0,0 +1,717 @@
+#!/bin/bash
+#chroot and /tmp
+export TERM=vt100
+MVHOSTNAME=larch5
+. /etc/profile
+TEMP_TEMPLATES=/tmp/templates
+disk=$2
+rootfs=$3
+rootsize=$4
+datafs=$5
+datasize=$6
+swapsize=$7
+mountpoint="/new_boot"
+run=$MV_ROOT/bin/install_functions.sh
+. /etc/systemconfig 2>/dev/null
+. $MV_ROOT/bin/networkconfig.sh
+CMDLINE=$(cat /proc/cmdline)
+BACKUPFILE="/myth/backup/mythconverg.sql.gz"
+
+#TEMPNET="Hostip"$default_interface
+#eval MYTHIP=\$${TEMPNET}
+function create_chroot_mnt_points() {
+
+ echo "Creating directory for media in chroot"
+ mkdir -p $mountpoint/media/cdrom
+ mkdir -p $mountpoint/media/dvd
+ mkdir -p $mountpoint/mnt
+
+}
+function cp_and_log () {
+ ls $1 >/dev/null 2>&1
+ status=$?
+ if [ $status = 0 ]
+ then
+ echo "copying $1 to $2"
+ cp -rfp $1 $2
+ else
+ echo "$1 is not present, skipping..."
+ fi
+
+}
+
+function mdadm_find () {
+
+ PREFIX=$1
+ if [ -e $PREFIX/etc/KnoppMyth-version ]
+ then
+ MDADM_CONF="/etc/mdadm/mdadm.conf"
+ else
+ MDADM_CONF="/etc/mdadm.conf"
+ fi
+ echo "Using $MDADM_CONF"
+}
+
+progress () {
+mypercent=`echo "$1" | cut -d. -f1`
+if [ x$mypercent = x ]
+then
+echo "" > /tmp/.install_percent
+else
+echo "${mypercent}% complete" > /tmp/.install_percent
+fi
+
+
+}
+
+function apply_new_auth () {
+#check if file is present
+ if [ -f /root/myth_user_call.out ]
+ then
+ #read in file, running each command in chroot
+ exec 4</root/myth_user_call.out
+ while read LINE <&4
+ do
+ if [ ! x"$LINE" = x ]
+ then
+ #run commands in chroot
+ chroot "$mountpoint" $MV_ROOT/bin/myth_user_call -i $LINE > /tmp/user_auth.update
+ fi
+ done
+ rm -f /root/myth_user_call.out
+ else
+ echo "No new password changes to apply"
+ fi
+}
+
+
+function backup_sql_check {
+ if [ -f ${mountpoint}${BACKUPFILE} ]
+ then
+ echo "found ${mountpoint}${BACKUPFILE} "
+ rc=0
+ else
+ echo "did not find ${mountpoint}${BACKUPFILE} "
+ rc=1
+ fi
+ return $rc
+}
+
+function mdadm_assemble_all {
+
+ mdadm_find /tmp
+ mdadm --assemble --scan -c /tmp${MDADM_CONF}
+ MDLIST=`grep ARRAY /tmp${MDADM_CONF}|tr -s [:space:]|cut -d" " -f2`
+ for array in $MDLIST
+ do
+ echo "assembling array $array"
+ mdadm --assemble -c /tmp${MDADM_CONF} $array
+ sleep 2
+ fsck -p $array
+ done
+
+}
+
+function upgrade_mount_search {
+
+ MYTH_P=`cat /tmp/etc/fstab |grep -E /myth[[:space:]] | awk ' {print $1 '} `
+ umount $mountpoint/myth
+
+ #should probably just mdadm all the time
+ echo $MYTH_P |grep -q \/md.
+ if [ $? = 0 ]
+ then
+ mdadm_assemble_all
+ fi
+
+ echo $MYTH_P |grep -q UUID
+ if [ $? = 0 ]
+ then
+ MUUID=`echo $MYTH_P|cut -d= -f2|tr -d \"`
+ echo blkid $MUUID
+ blkid -t UUID=$MUUID
+ if [ ! $? = 0 ]
+ then
+ echo "couldn't find $MUUID, starting md support"
+ mdadm_assemble_all
+ fi
+ mount -U $MUUID $mountpoint/myth
+ echo mount -U $MUUID $mountpoint/myth
+ MYTHMOUNT=`blkid -t UUID=$MUUID|cut -d: -f1`
+ MYTHMOUNT=`basename $MYTHMOUNT`
+ echo "MYTHMOUNT is $MYTHMOUNT"
+ else
+ mount $MYTH_P $mountpoint/myth
+ echo mount $MYTH_P $mountpoint/myth
+ MYTHMOUNT=`basename $MYTH_P`
+ echo "MYTHMOUNT is $MYTHMOUNT"
+ fi
+ sleep 2
+ backup_sql_check
+ if [ $? = 1 ]
+ then
+ mkdir -p /new_boot/root/backup
+ if [ ! -e /tmp/mythconverg.sql.gz ]
+ then
+ echo "Couldn't find ANY database to restore, upgrade will continue but a new database will be installed."
+ else
+ cp_and_log /tmp/mythconverg.sql.gz /new_boot/root/backup/mythconverg.sql.gz
+ BACKUPFILE="/root/backup/mythconverg.sql.gz"
+ echo "setting BACKUPFILE to $BACKUPFILE"
+ fi
+ fi
+ return 0
+}
+
+
+full_install () {
+ if [ -f /tmp/.this_is_upgrade ]
+ then
+ rm /tmp/.this_is_upgrade
+ fi
+ echo "Partitioning $disk" > /tmp/.install_state
+ progress 1
+ sleep 1
+ $run partition_it $disk $rootsize $datasize $swapsize
+
+ echo "Formatting $disk" > /tmp/.install_state
+ progress 2
+ sleep 1
+ $run format_it $disk $rootfs $datafs
+
+ echo "Preparing $disk" > /tmp/.install_state
+ progress 3
+ sleep 1
+ $run mount_it $disk
+
+ startsize=`statgrab -M disk.|grep $disk.write_bytes|cut -d= -f 2|tr -d " "`
+
+ echo "STARTSIZE=$startsize">/tmp/.startsize.io
+ echo "Creating $hostname" > /tmp/.install_state
+
+ sleep 1
+ $run copy_it $disk ALL
+ rm $mountpoint/etc/fstab
+ $run fstab_fix_it $disk $rootfs $datafs FULL_INSTALL
+ echo "Configuring system" > /tmp/.install_state
+ progress 100
+ #progress 99
+ sleep 1
+ $run grub_it $disk
+
+
+ #echo "Configuring system" > /tmp/.install_state
+ #progress 100
+ sleep 1
+ cp_and_log /etc/systemconfig "$mountpoint"/etc
+ cp_and_log /root/xorg.conf.install "$mountpoint"/etc/X11/xorg.conf.install
+ #run save syssettings to save settings, then copy to new mountpoint
+ $MV_ROOT/bin/restore_default_settings.sh -c save -t syssettings -h $MVHOSTNAME -d localhost
+ SE=$TEMPLATES/settings/syssettings
+ mkdir -p ${mountpoint}$SE
+ #cp -rp $SE/* ${mountpoint}$SE/
+ cp_and_log "$SE/*" "${mountpoint}$SE/"
+ chown root:mythtv "$mountpoint"/etc/systemconfig
+ chown -R mythtv:mythtv ${mountpoint}$SE
+
+ chmod -R 775 ${mountpoint}$SE
+ chmod 775 "$mountpoint"/etc/systemconfig
+ mkdir -p "$mountpoint"/var/log/mythtv
+ chown mythtv "$mountpoint"/var/log/mythtv
+ #copy over any updates that might have occured
+ #cp -rp $MV_ROOT/bin/*.sh "$mountpoint"$MV_ROOT/bin/
+ cp_and_log "$MV_ROOT/bin/*.sh" "$mountpoint"$MV_ROOT/bin/
+ chmod -R 755 ${mountpoint}/root
+ create_chroot_mnt_points
+ cp_and_log /etc/mtab "$mountpoint"/etc/mtab
+ # cp_and_log /etc/hostname "$mountpoint"/etc/hostname
+ apply_new_auth
+
+
+ if [ $SystemType = "Master_backend" -o $SystemType = "Standalone" ]
+ then
+ #installing DB to local machine
+ #turn off old live database, so the chroot one can start
+ echo "---------------------CHROOT INSTALLDB-------------------------"
+ /etc/rc.d/mysqld stop
+ mount --bind /dev "$mountpoint/dev"
+ mount --bind /proc "$mountpoint/proc"
+ chroot "$mountpoint" "$MV_ROOT/bin/install_db_chroot.sh" 2>&1 |tee /tmp/chrootdb.out
+ #chroot "$mountpoint" "$MV_ROOT/bin/install_db_chroot.sh"
+ chroot "$mountpoint" $MV_ROOT/bin/systemconfig.sh misc,hostype,network,advanced,this_is_install
+ echo "stopping mysql in chroot"
+ chroot "$mountpoint" /etc/rc.d/mysqld stop
+ kill_dhcp_chroot
+ sleep 2
+ lsof |grep new_boot
+ umount -l "$mountpoint/dev"
+ umount -l "$mountpoint/proc"
+
+ echo "---------------------END CHROOT INSTALLDB-------------------------"
+ /etc/rc.d/mysqld start
+ else
+ #update remotedb with this host settings
+ chroot "$mountpoint" DISPLAY=127.0.0.1:0 /usr/local/bin/MythVantage -t restore,default_1
+ chroot "$mountpoint" $MV_ROOT/bin/restore_default_settings.sh -c restore -t syssettings
+ if [ ! $? = 0 ]
+ then
+ touch $mountpoint/tmp/.dbsysfailed
+ chmod 777 $mountpoint/tmp/.dbsysfailed
+ else
+ #Run second time
+ chroot "$mountpoint" $MV_ROOT/bin/systemconfig.sh misc,hostype,network,advanced,this_is_install
+ chroot "$mountpoint" $MV_ROOT/bin/restore_default_settings.sh -c ACCESSCONTROL
+ fi
+ fi
+ chroot "$mountpoint" $MV_ROOT/bin/systemconfig.sh advanced
+ touch $mountpoint/home/mythtv/.configure && chmod 777 $mountpoint/home/mythtv/.configure
+
+ echo "Done" > /tmp/.install_state
+ cp_and_log /tmp/mythvantage_install.log $mountpoint/var/log/
+ $run umount_it $disk
+
+}
+
+function createsquashlist(){
+if [ -f $1 ]
+then
+ rm -f
+$1
+fi
+for i in bin boot etc home lib opt root sbin usr var data
+do
+echo $i >> $1
+done
+
+
+}
+
+
+
+
+function upgrade () {
+ touch /tmp/.this_is_upgrade
+
+ if [ ! x$rootfs = "xDo_not_format" ]
+ then
+ echo "Formatting $disk" > /tmp/.install_state
+ progress 2
+ sleep 1
+ $run format_it $disk $rootfs NO
+ fi
+ echo "Preparing $disk" > /tmp/.install_state
+ progress 3
+ sleep 1
+ $run mount_it $disk
+ startsize=`statgrab -M disk.|grep $disk.write_bytes|cut -d= -f 2|tr -d " "`
+ echo "STARTSIZE=$startsize">/tmp/.startsize.io
+ echo "Upgrading $hostname" > /tmp/.install_state
+ sleep 1
+ cp_and_log /tmp/etc /new_boot/etc.old
+ cp_and_log /tmp/oss /new_boot/var/lib/oss.old
+
+
+ SQUASHLIST="/tmp/.squashlist"
+ createsquashlist $SQUASHLIST
+ $run copy_it $disk $SQUASHLIST
+ #copy back ssh keys
+
+# cp_and_log -rp /data/var/cache/pacman/pkg/* /new_boot/data/var/cache/pacman/pkg/
+ cp_and_log "/new_boot/etc.old/ssh/*.pub" /new_boot/etc/ssh/
+ cp_and_log "/new_boot/etc.old/ssh/*.key" /new_boot/etc/ssh/
+ cp_and_log "/new_boot/etc.old/ssh/*key" /new_boot/etc/ssh/
+ mdadm_find /tmp
+ cp_and_log /tmp${MDADM_CONF} /new_boot/etc
+ #cp_and_log /new_boot/etc.old/mdadm/mdadm.conf /new_boot/etc/
+ cp_and_log /new_boot/etc.old/asound.state /new_boot/etc/
+ if [ ! -f /tmp/etc/KnoppMyth-version ]
+ then
+ #passwd/shadow/group
+ cp_and_log /new_boot/etc.old/passwd /new_boot/etc/
+ cp_and_log /new_boot/etc.old/shadow /new_boot/etc/
+ cp_and_log /new_boot/etc.old/group /new_boot/etc/
+ fi
+ mkdir -p "$mountpoint"/var/log/mythtv
+ chown mythtv "$mountpoint"/var/log/mythtv
+ if [ x$rootfs = "xDo_not_format" ]
+ then
+ rootfs=`grep \/\ /tmp/etc/fstab |awk ' { print $3 } '`
+ fi
+ #this is here to copy in the systemconfig file as soon as possible.
+ cp_and_log /etc/systemconfig "$mountpoint"/etc/systemconfig
+ echo "Configuring system" > /tmp/.install_state
+ progress 100
+ backup_sql_check
+ if [ $? = 1 ]
+ then
+ upgrade_mount_search
+ fi
+ echo $run fstab_fix_it $disk UPGRADE $MYTHMOUNT
+ $run fstab_fix_it $disk UPGRADE $MYTHMOUNT
+ create_chroot_mnt_points
+
+ #echo "Writing boot sector" > /tmp/.install_state
+ #progress 99
+ sleep 1
+ $run grub_it $disk
+ #echo "Configuring system" > /tmp/.install_state
+ #progress 100
+ sleep 1
+ cp_and_log /etc/mtab "$mountpoint"/etc/mtab
+ cp_and_log /etc/systemconfig "$mountpoint"/etc
+ cp_and_log /root/xorg.conf.install "$mountpoint"/etc/X11/xorg.conf.install
+#make sure mythconverg.sql.gz is present
+ #backup_sql_check
+ #if [ $? = 1 ]
+ #then
+ # upgrade_mount_search
+ #fi
+ echo $CMDLINE | grep -q clean_upgrade
+ status=$?
+ if [ -f /tmp/etc/KnoppMyth-version -o $status = 0 ]
+ then
+ #run save syssettings to save settings, then copy to new mountpoint
+ $MV_ROOT/bin/restore_default_settings.sh -c save -t syssettings -h $MVHOSTNAME -d localhost
+ SE=$TEMPLATES/settings/syssettings
+ mkdir -p ${mountpoint}$SE
+ #cp -rfp $SE/* ${mountpoint}$SE/
+ cp_and_log "$SE/*" "${mountpoint}$SE/"
+ chown root:mythtv "$mountpoint"/etc/systemconfig
+ chown -R mythtv:mythtv ${mountpoint}$SE
+ chmod -R 775 ${mountpoint}$SE
+ if [ ! $status = 0 ]
+ then
+ touch $mountpoint/home/mythtv/.kmupgrade && chmod 777 $mountpoint/home/mythtv/.kmupgrade
+ fi
+ fi
+
+
+
+ cp_and_log "$MV_ROOT/bin/*.sh" "$mountpoint"$MV_ROOT/bin/
+ chmod -R 755 ${mountpoint}/root
+ chown root:mythtv "$mountpoint"/etc/systemconfig
+ chmod 775 "$mountpoint"/etc/systemconfig
+ #mount /proc and /dev
+ mount --bind /dev "$mountpoint/dev"
+ mount --bind /proc "$mountpoint/proc"
+
+ chroot "$mountpoint" $MV_ROOT/bin/systemconfig.sh misc,hostype,network,advanced,this_is_install
+ #wrap this in a network check_network, no need to update the db if the import worked.
+ ##### do I need to start mysql?
+ /etc/rc.d/mysqld stop
+ if [ $SystemType = "Master_backend" -o $SystemType = "Standalone" ]
+ then
+ echo $CMDLINE | grep -q clean_upgrade
+ status=$?
+ if [ $status = 0 ]
+ then
+ #new db as part of clean upgrade
+ echo "--------------------------------"
+ echo "clean upgrade installing new database"
+ echo "--------------------------------"
+ chroot "$mountpoint" "$MV_ROOT/bin/install_db_chroot.sh" |tee /tmp/chrootdb.out
+ echo "############################################"
+ echo "End Installing new database/clean"
+ echo "############################################"
+ else
+ #proceed as normal
+ if [ -f "$mountpoint"/$BACKUPFILE ]
+ then
+ echo "--------------------------------"
+ echo "Restoring database with $BACKUPFILE"
+ echo "--------------------------------"
+ chroot "$mountpoint" "$MV_ROOT/bin/restore_km_db_chroot.sh" "$BACKUPFILE" |tee /tmp/chrootdb_km.out
+ echo "############################################"
+ echo "End Restoring database"
+ echo "############################################"
+ else
+ echo "--------------------------------"
+ echo "Couldn't find backup file, installing new database"
+ echo "--------------------------------"
+ touch /tmp/.upgrade_db_failed
+ chroot "$mountpoint" "$MV_ROOT/bin/install_db_chroot.sh" |tee /tmp/chrootdb.out
+ echo "############################################"
+ echo "End Installing new database"
+ echo "############################################"
+ fi
+ fi
+ fi
+
+ if [ -f /tmp/etc/KnoppMyth-version ]
+ then
+ chroot "$mountpoint" $MV_ROOT/bin/restore_default_settings.sh -c restore -t hostsettings
+ #change permissions of /myth (only needed on km->linhes)
+ chown -R mythtv:mythtv $mountpoint/myth
+ chown -R root:root $mountpoint/myth/backup
+ else
+ chroot "$mountpoint" $MV_ROOT/bin/restore_default_settings.sh -c restore -t syssettings
+ fi
+ #
+ #Run second time
+ chroot "$mountpoint" $MV_ROOT/bin/systemconfig.sh misc,hostype,network,advanced,this_is_install
+ chroot "$mountpoint" $MV_ROOT/bin/systemconfig.sh advanced,this_is_install
+ echo "stopping mysql in chroot"
+ chroot "$mountpoint" /etc/rc.d/mysqld stop
+ apply_new_auth
+ kill_dhcp_chroot
+ umount -l "$mountpoint/dev"
+ umount -l "$mountpoint/proc"
+
+ echo "Done" > /tmp/.install_state
+ cp_and_log /tmp/mythvantage_install.log $mountpoint/var/log/
+
+ $run umount_it $disk
+ /etc/rc.d/mysqld start
+}
+
+function netboot-full_install () {
+ TEMPVAR=${CMDLINE#*nfsroot=}
+ NFSROOT=${TEMPVAR%% *}
+ NFSROOT=`echo $NFSROOT|cut -d: -f1`
+ MAC=`/sbin/ifconfig eth0|grep HWaddr| cut -d: -f2-|awk '{ print $3}'|tr : -`
+ URL="http://$NFSROOT:1337/diskless.py?HOSTNAME=$hostname&MAC=$MAC"
+ echo "calling $URL"
+ echo "Starting" > /tmp/.install_state
+ curl $URL
+ ${MV_ROOT}/bin/xconfig.sh
+}
+
+# function killdhcp () {
+# if [ -f /etc/dhcpc/dhcpcd-eth0.pid ]
+# then
+# pid=`cat /etc/dhcpc/dhcpcd-eth0.pid`
+# kill -9 $pid
+# rm -f /etc/dhcpc/dhcpcd-eth0.pid
+# rm -f /var/run/dhcpcd*
+# fi
+# if [ -f /var/run/dhcpcd-eth0.pid ]
+# then
+# pid=`cat /var/run/dhcpcd-eth0.pid`
+# kill -9 $pid
+# rm -f /var/run/dhcpcd-eth0.pid*
+# fi
+# ip address flush dev eth0
+# }
+
+
+
+function SANE_SYSETTINGS () {
+sed -e '/HOSTrootfstype/d' \
+ -e '/HOSTrootfstype/d' \
+ -e '/HOSTdatafstype/d' \
+ -e '/HOSTOSsize/d' \
+ -e '/HostUseALLdata/d' \
+ -e '/HOSTDATAsize/d' \
+ -e '/HOSTuprootfstype/d' \
+ -e '/HostUseSWAP/d' \
+ -e '/HOSTSWAPsize/d ' /tmp/templates/settings/syssettings/settings.txt > /tmp/settings.new
+ mv /tmp/settings.new /tmp/templates/settings/syssettings/settings.txt
+}
+
+case $1 in
+ full_install_it ) full_install ;;
+
+ NETBOOT)
+echo "-----------------------------------------------------------------------3-----"
+ netboot-full_install ;;
+
+ find_update)
+
+ #TRY TO mount first partition of drive
+ #copy /etc/systemconfig to live, import settings into db
+ #umount drive
+ echo $CMDLINE | grep -q clean_upgrade
+ if [ $? = 1 ]
+ then
+ $run mount_it $disk
+ [ -e "/new_boot/root/backup/mythconverg.sql.gz" ] && cp /new_boot/root/backup/mythconverg.sql.gz /tmp
+
+
+ if [ -f /new_boot/etc/systemconfig ]
+ then
+ ###########ADD templates
+ mkdir -p $TEMP_TEMPLATES
+ cp_and_log /new_boot/$TEMPLATES $TEMP_TEMPLATES
+ SANE_SYSETTINGS
+ cp_and_log $TEMP_TEMPLATES/settings $TEMPLATES/
+ cp_and_log /new_boot/etc/systemconfig /etc/systemconfig
+ cp_and_log /new_boot/etc /tmp/etc
+ cp_and_log /new_boot/var/lib/oss /tmp/oss
+ [ -e /tmp/etc/mdadm.conf ] && cp_and_log /tmp/etc/mdadm.conf /etc/
+
+ $MV_ROOT/bin/restore_default_settings.sh -c restore -t syssettings -h $MVHOSTNAME -d 127.0.0.1
+ else
+ cp_and_log /new_boot/etc /tmp/etc
+ [ -e /tmp/etc/mdadm.conf ] && cp_and_log /tmp/etc/mdadm.conf /etc/
+ #now we search for the timezone and try to update
+ TZREGION=`cat /tmp/etc/timezone | cut -d"/" -f1`
+ TZSUB=`cat /tmp/etc/timezone | cut -d"/" -f2 -`
+
+
+ if [ $TZREGION = $TZSUB ]
+ then
+ $run update_db_it HostTimeZoneRegion "$TZREGION"
+ else
+ $run update_db_it HostTimeZoneRegion "$TZREGION"
+ $run update_db_it HostTimeZoneRegion_$TZREGION "$TZSUB"
+ fi
+ fi
+ backup_sql_check
+ echo $?
+ upgrade_mount_search
+ echo $?
+ $run umount_it $disk
+ fi
+ ;;
+
+ upgrade_it)
+ upgrade
+ ;;
+ disk_model_it)
+ model="unknown"
+ size="xxx"
+ case $2 in
+
+ h* )
+ model=`cat /proc/ide/$2/model`
+ ;;
+ s*) model=`sginfo /dev/$2|grep Product|awk ' { print $2 } '`
+ ;;
+ esac
+ size=`parted /dev/$2 print |grep Disk|awk ' { print $3 } ' `
+ echo ""$model" $size " >/tmp/model
+ ;;
+ network_check_it)
+ #Should never return from check_network
+ case $2 in
+ setup_network)
+ vnc_check
+ install_network_setup
+ ;;
+
+ check_self)
+ myipdefault=`ifconfig | grep -C1 $default_interface| grep -v $default_interface | cut -d: -f2 | awk '{ print $1}'`
+ echo "network check myself"
+ ifconfig
+ ping -c 1 $myipdefault
+ if [ ! $? = 0 ]
+ then
+ exit 3
+ #can't ping yourself
+ fi
+ ;;
+ check_gw)
+ #check gateway
+ echo "network check gateway"
+ /sbin/route -n
+ mygwdefault=`/sbin/route -n |grep $default_interface|grep UG|awk '{ print $2}'`
+ echo "Default gateway seems to be $mygwdefault"
+ if [ ! x$mygwdefault = x ]
+ then
+ sleep 2
+ ping -c 5 $mygwdefault
+ if [ ! $? = 0 ]
+ then
+ exit 4
+ fi
+ fi
+ ;;
+ check_ns)
+ #check nameserver
+ echo " network check nameserver"
+ mydns=`cat /etc/resolv.conf|grep nameserver|head -1|awk '{ print $2}'`
+ ping -c 1 $mydns
+ if [ ! $? = 0 ]
+ then
+ exit 5
+ fi
+ ;;
+ check_names)
+ echo "network check resolve names"
+ host google.com
+ if [ ! $? = 0 ]
+ then
+ exit 6
+ fi
+ ;;
+ host_names)
+ #if host is found, then check to see if it's online
+ #if hoip matchs my ip assume it's ok
+ echo "network check my hostname $hostname"
+ hout=`host $hostname`
+ status=$?
+ #found host, now grab the ip
+ if [ $status = 0 ]
+ then
+ hoip=`echo $hout|awk '{print $4}'`
+ /sbin/ifconfig -a |grep -q $hoip
+ if [ $? = 0 ]
+ then
+ echo "DNS ip matches on of my ips"
+ status=0
+ else
+ echo "IP in DNS but doesn't match mine, hostname is not safe to use"
+ status=7
+ fi
+ else
+ echo "Couldn't find hostname in DNS, must be safe to use"
+ status=0
+ fi
+ exit $status
+ ;;
+
+ esac
+ exit 0
+ ;;
+
+
+ * )
+ if [ -f /tmp/.install_state ]
+ then
+ state=`cat /tmp/.install_state`
+ else
+ state=" "
+ fi
+ if [ x"${state}" = "xConfiguring system" ]
+ then
+ progress ""
+ else
+
+ if [ -f /tmp/.startsize.io ]
+ then
+ . /tmp/.startsize.io
+ #finding the drive
+ ddrive=`df | grep $mountpoint | head -n1 | awk -F/ ' { print $3 } ' | cut -d" " -f 1|cut -b1,2,3 `
+ used=`statgrab -M disk.|grep ${ddrive}.write_bytes|cut -d= -f 2|tr -d " "`
+ used=`echo $used-$STARTSIZE|bc`
+ #echo $used
+ fi
+
+ if [ ! x$used = x ]
+ then
+ . /root/.install_size
+ #somehow find if it's an install or update
+ if [ -f /tmp/.this_is_upgrade ]
+ then
+ total=$UPGRADESIZE
+ else
+ total=$TOTALSIZE
+ fi
+ percent=`echo "scale=2 ; ($used/$total) * 100 " |bc `
+ cond2=$(echo "$percent > 98" |bc )
+ if [ $cond2 -eq 1 ]
+ then
+ percent=98
+ fi
+ cond3=$(echo "$percent < 3" |bc )
+ if [ $cond3 -eq 0 ]
+ then
+ progress $percent
+ fi
+ fi
+ fi
+ ;;
+esac
+
+
+