#!/bin/sh # # It's the uninstall programe of lustre mount | grep lustre > /dev/null if [ $? -eq 0 ]; then echo "Please unmount Lustre before uninstall Lustre." exit 1 fi echo "unloading modules......" /sbin/unload_lustre 2 > /dev/null backdir=/System/LustreBackup/SystemBackup if ! [ -d $backdir ]; then echo "No backup directory is found, you have not installed lustre or uninstall failed!" exit 1 fi # if ! [ -f $backpath/lustre-current ]; then # echo "No version information of Lustre installation, you have uninstalled or uninstall failed!" # exit 2 # fi # # get information of the the backup system # # backdir=`tail -1 $backpath/lustre-current` # if ! [ -d $backdir ]; then # echo "Miss backup directory, uninstall failed!" # exit 3 # fi # recover the old system echo "recover orignal kernel......" cp -f $backdir/mach_kernel /mach_kernel echo "recover orignal frameworks......" cp -rf $backdir/System/Library/Frameworks/IOKit.framework /System/Library/Frameworks/ cp -rf $backdir/System/Library/Frameworks/Kernel.framework /System/Library/Frameworks/ cp -rf $backdir/System/Library/Frameworks/System.framework /System/Library/Frameworks/ echo "recover orignal kernel extensions......" cp -rf $backdir/System/Library/Extensions/System.kext /System/Library/Extensions/ echo "recover orignal system headers......" cp -rf $backdir/usr/include/bsm /usr/include/bsm cp -rf $backdir/usr/include/default_pager /usr/include/default_pager cp -rf $backdir/usr/include/dev /usr/include/dev cp -rf $backdir/usr/include/device /usr/include/device cp -rf $backdir/usr/include/drivers /usr/include/drivers cp -rf $backdir/usr/include/hfs /usr/include/hfs cp -rf $backdir/usr/include/isofs /usr/include/isofs cp -rf $backdir/usr/include/libkern /usr/include/libkern cp -rf $backdir/usr/include/mach /usr/include/mach cp -rf $backdir/usr/include/mach_debug /usr/include/mach_debug cp -rf $backdir/usr/include/machine /usr/include/machine cp -rf $backdir/usr/include/miscfs /usr/include/miscfs cp -rf $backdir/usr/include/net /usr/include/net cp -rf $backdir/usr/include/netat /usr/include/netat cp -rf $backdir/usr/include/netinet /usr/include/netinet cp -rf $backdir/usr/include/netinet6 /usr/include/netinet6 cp -rf $backdir/usr/include/netkey /usr/include/netkey cp -rf $backdir/usr/include/nfs /usr/include/nfs cp -rf $backdir/usr/include/pexpert /usr/include/pexpert cp -rf $backdir/usr/include/ppc /usr/include/ppc cp -rf $backdir/usr/include/profile /usr/include/profile cp -rf $backdir/usr/include/sys /usr/include/sys cp -rf $backdir/usr/include/ufs /usr/include/ufs cp -rf $backdir/usr/include/vfs /usr/include/vfs echo "recover orignal system libraries......" cp -f $backdir/usr/lib/libIOKit.A.dylib /usr/lib/libIOKit.A.dylib cp -f $backdir/usr/lib/libIOKit.dylib /usr/lib/libIOKit.dylib cp -f $backdir/usr/lib/libkmod.a /usr/lib/libkmod.a cp -f $backdir/usr/lib/libkmodc++.a /usr/lib/libkmodc++.a if [ -f $backdir/private/etc/sysctl.conf ]; then cp -f $backdir/private/etc/sysctl.conf /private/etc/sysctl.conf else rm -f /private/etc/sysctl.conf fi # # cp $backpath/lustre-current /tmp/lustre-v # count=`grep "SystemBackup" /tmp/lustre-v|wc -l` # count=`expr $count - 1` # if [ $count -gt 0 ]; then # head -$count /tmp/lustre-v > $backpath/lustre-current # else # # The file should be empty now, it's the last uninstall # rm -f $backpath/lustre-current # fi # rm -f /tmp/lustre-v # remove unused files echo "uninstall lustre modules and utilities......" rm -rf $backdir rm -f /sbin/lctl rm -f /sbin/mount_lustre rm -f /sbin/unload_lustre rm -rf /System/Library/Extensions/libcfs.kext rm -rf /System/Library/Extensions/portals.kext rm -rf /System/Library/Extensions/ksocknal.kext rm -rf /System/Library/Extensions/lvfs.kext rm -rf /System/Library/Extensions/obdclass.kext rm -rf /System/Library/Extensions/ptlrpc.kext rm -rf /System/Library/Extensions/ptlrpcs.kext rm -rf /System/Library/Extensions/osc.kext rm -rf /System/Library/Extensions/lov.kext rm -rf /System/Library/Extensions/obdecho.kext rm -rf /System/Library/Extensions/mdc.kext rm -rf /System/Library/Extensions/llite.kext # disable kernel cache by touch /System/Library touch /System/Library echo "Uninstall Lustre successfully, please reboot your computer!"