diff options
author | James Meyer <james.meyer@operamail.com> | 2008-11-08 01:55:11 (GMT) |
---|---|---|
committer | James Meyer <james.meyer@operamail.com> | 2008-11-08 01:55:11 (GMT) |
commit | 6c8f178b6c8874623e780d2c049a49b780237654 (patch) | |
tree | 31cd168b3e87c9777dc1bcd5d57f4e806a3c97f7 /abs/core-testing/live-installer/install_proxy.sh | |
parent | 4287d6026a61f8760633574c059f6e2dead2619d (diff) | |
download | linhes_pkgbuild-6c8f178b6c8874623e780d2c049a49b780237654.zip linhes_pkgbuild-6c8f178b6c8874623e780d2c049a49b780237654.tar.gz linhes_pkgbuild-6c8f178b6c8874623e780d2c049a49b780237654.tar.bz2 |
rename live-installer to LinHES-config
Diffstat (limited to 'abs/core-testing/live-installer/install_proxy.sh')
-rwxr-xr-x | abs/core-testing/live-installer/install_proxy.sh | 526 |
1 files changed, 0 insertions, 526 deletions
diff --git a/abs/core-testing/live-installer/install_proxy.sh b/abs/core-testing/live-installer/install_proxy.sh deleted file mode 100755 index bc89a1d..0000000 --- a/abs/core-testing/live-installer/install_proxy.sh +++ /dev/null @@ -1,526 +0,0 @@ -#!/bin/bash -#chroot and /tmp -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) - -#TEMPNET="Hostip"$default_interface -#eval MYTHIP=\$${TEMPNET} - - -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/myth/backup/mythconverg.sql.gz ] - then - return 0 - else - return 1 - fi -} - -function upgrade_mount_search { - MYTH_P=`cat /tmp/etc/fstab |grep /myth| awk ' {print $1 '} ` - umount $mountpoint/myth - mount $MYTH_P $mountpoint/myth - 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 "Formating $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 "Installing data" > /tmp/.install_state - - sleep 1 - $run copy_it $disk ALL - rm $mountpoint/etc/fstab - $run fstab_fix_it $disk $rootfs $datafs FULL_INSTALL - - progress 99 - sleep 1 - $run grub_it $disk - - - echo "Configuring system" > /tmp/.install_state - progress 100 - sleep 1 - cp -f /etc/systemconfig "$mountpoint"/etc - #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/ - chown root:mythtv "$mountpoint"/etc/systemconfig - chown -R mythtv:mythtv ${mountpoint}$SE - - chmod -R 775 ${mountpoint}$SE - chmod 775 "$mountpoint"/etc/systemconfig - #copy over any updates that might have occured - cp -f $MV_ROOT/bin/*.sh "$mountpoint"$MV_ROOT/bin/ - chmod -R 755 ${mountpoint}/root - cp /etc/mtab "$mountpoint"/etc/mtab - 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 - /etc/rc.d/mysqld stop - mount --bind /dev "$mountpoint/dev" - chroot "$mountpoint" "$MV_ROOT/bin/install_db_chroot.sh" > /tmp/chrootdb.out - 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 - umount "$mountpoint/dev" - - #/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 /tmp/mythvantage_install.log $mountpoint/var/log/ - $run unmount_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 -do -echo $i >> $1 -done - - -} - - - - -function upgrade () { - touch /tmp/.this_is_upgrade - - if [ ! x$rootfs = "xDo_not_format" ] - then - echo "Formating $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 "Installing data" > /tmp/.install_state - sleep 1 - cp -rf /tmp/etc /new_boot/etc.old - cp -rf /tmp/oss /new_boot/var/lib/oss.old - - - SQUASHLIST="/tmp/.squashlist" - createsquashlist $SQUASHLIST - $run copy_it $disk $SQUASHLIST - #copy back ssh keys - - cp -rp /data/var/cache/pacman/pkg/* /new_boot/data/var/cache/pacman/pkg/ - cp -fp /new_boot/etc.old/ssh/*.pub /new_boot/etc/ssh/ - cp -fp /new_boot/etc.old/ssh/*.key /new_boot/etc/ssh/ - cp -fp /new_boot/etc.old/ssh/*key /new_boot/etc/ssh/ - - if [ ! -f /tmp/etc/KnoppMyth-version ] - then - #passwd/shadow/group - cp -fp /new_boot/etc.old/passwd /new_boot/etc/ - cp -fp /new_boot/etc.old/shadow /new_boot/etc/ - cp -fp /new_boot/etc.old/group /new_boot/etc/ - fi - - if [ x$rootfs = "xDo_not_format" ] - then - rootfs=`grep \/\ /tmp/etc/fstab |awk ' { print $3 } '` - fi - $run fstab_fix_it $disk UPGRADE - - echo "Writing boot sector" > /tmp/.install_state - progress 99 - sleep 1 - $run grub_it $disk - - echo "Configuring system" > /tmp/.install_state - progress - sleep 1 - cp /etc/mtab "$mountpoint"/etc/mtab - cp -f /etc/systemconfig "$mountpoint"/etc -#make sure mythconverg.sql.gz is present - if [ ! backup_sql_check ] - then - upgrade_mount_search - fi - - if [ -f /tmp/etc/KnoppMyth-version ] - 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 -rp $SE/* ${mountpoint}$SE/ - chown root:mythtv "$mountpoint"/etc/systemconfig - chown -R mythtv:mythtv ${mountpoint}$SE - chmod -R 775 ${mountpoint}$SE - touch $mountpoint/home/mythtv/.kmupgrade && chmod 777 $mountpoint/home/mythtv/.kmupgrade - fi - - cp -f $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 - chroot "$mountpoint" "$MV_ROOT/bin/restore_km_db_chroot.sh" > /tmp/chrootdb_km.out - if [ -f /tmp/etc/KnoppMyth-version ] - then - chroot "$mountpoint" $MV_ROOT/bin/restore_default_settings.sh -c restore -t hostsettings - 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 - apply_new_auth - umount "$mountpoint/dev" - umount "$mountpoint/proc" - - echo "Done" > /tmp/.install_state - cp /tmp/mythvantage_install.log $mountpoint/var/log/ - - $run unmount_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 - $run mount_it $disk - if [ -f /new_boot/etc/systemconfig ] - then - ###########ADD templates - mkdir -p $TEMP_TEMPLATES - cp -pr /new_boot/$TEMPLATES $TEMP_TEMPLATES - SANE_SYSETTINGS - cp -rp $TEMP_TEMPLATES/settings $TEMPLATES/ - cp /new_boot/etc/systemconfig /etc/systemconfig - cp -rf /new_boot/etc /tmp/etc - cp -rf /new_boot/var/lib/oss /tmp/oss - - $MV_ROOT/bin/restore_default_settings.sh -c restore -t syssettings -h $MVHOSTNAME -d 127.0.0.1 - else - cp -rf /new_boot/etc /tmp/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 - - - - $run umount_it $disk - ;; - - upgrade_it) - #"$MV_ROOT/bin/install_proxy.sh upgrade_it " + install_drive + " " + rootfs + "&" - 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}'` - ping -c 1 $myipdefault - if [ ! $? = 0 ] - then - exit 3 - #can't ping yourself - fi - ;; - check_gw) - #check gateway - mygwdefault=`/sbin/route |grep $default_interface|grep UG|awk '{ print $2}'` - if [ ! x$mygwdefault = x ] - then - ping -c 1 $mygwdefault - if [ ! $? = 0 ] - then - exit 4 - fi - fi - ;; - check_ns) - #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) - host google.com - if [ ! $? = 0 ] - then - exit 6 - fi - ;; - host_names) - #if host is found, then check to see if it's online - #if not online, assume it's ok to use this hostname - - hout=`host $hostname` - status=$? - #found host, now grab the ip - if [ $status = 0 ] - then - hoip=`echo $hout|awk '{print $4}'` - ping -c 1 $hoip - if [ $? = 0 ] - then - status=0 - else - status=1 - fi - fi - - if [ $status = 0 ] - then - exit 7 - fi - - - ;; - - esac - exit 0 - ;; - - - * ) - state=`cat /tmp/.install_state` - 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 > 100" |bc ) - if [ $cond2 -eq 1 ] - then - percent=100 - fi - cond3=$(echo "$percent < 3" |bc ) - if [ $cond3 -eq 0 ] - then - progress $percent - fi - fi - fi - ;; -esac - - - |