uninstall.sh revision f40255ebb8e145bc49daa701edf16f1596cc93ce
9476d2be49d26a770787f5957478b930484c6ea5vboxsync# Oracle VM VirtualBox
5b93fdb3b4e681a6e4e01a3000f2a3ac07d99895vboxsync# VirtualBox linux uninstallation script
c58f1213e628a545081c70e26c6b67a841cff880vboxsync# Copyright (C) 2009-2010 Oracle Corporation
5b93fdb3b4e681a6e4e01a3000f2a3ac07d99895vboxsync# This file is part of VirtualBox Open Source Edition (OSE), as
5b93fdb3b4e681a6e4e01a3000f2a3ac07d99895vboxsync# available from http://www.virtualbox.org. This file is free software;
5b93fdb3b4e681a6e4e01a3000f2a3ac07d99895vboxsync# you can redistribute it and/or modify it under the terms of the GNU
5b93fdb3b4e681a6e4e01a3000f2a3ac07d99895vboxsync# General Public License (GPL) as published by the Free Software
5b93fdb3b4e681a6e4e01a3000f2a3ac07d99895vboxsync# Foundation, in version 2 as it comes in the "COPYING" file of the
5b93fdb3b4e681a6e4e01a3000f2a3ac07d99895vboxsync# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
5b93fdb3b4e681a6e4e01a3000f2a3ac07d99895vboxsync# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
5b93fdb3b4e681a6e4e01a3000f2a3ac07d99895vboxsyncif [ -z "$ro_LOG_FILE" ]; then
5b93fdb3b4e681a6e4e01a3000f2a3ac07d99895vboxsyncif [ -z "VBOX_NO_UNINSTALL_MESSAGE" ]; then
8b1975ddd07b69272802f37efbcf9a358c32a15avboxsync[ -z "$DEFAULT_FILES" ] && DEFAULT_FILES=`pwd`/deffiles
8b1975ddd07b69272802f37efbcf9a358c32a15avboxsync# Find previous installation
5b93fdb3b4e681a6e4e01a3000f2a3ac07d99895vboxsync# Remove previous installation
5b93fdb3b4e681a6e4e01a3000f2a3ac07d99895vboxsync log "Unable to find a VirtualBox installation, giving up."
5b93fdb3b4e681a6e4e01a3000f2a3ac07d99895vboxsync abort "Couldn't find a VirtualBox installation to uninstall."
5b93fdb3b4e681a6e4e01a3000f2a3ac07d99895vboxsync# Stop the web service
5b93fdb3b4e681a6e4e01a3000f2a3ac07d99895vboxsync# Do this check here after we terminated the web service
5b93fdb3b4e681a6e4e01a3000f2a3ac07d99895vboxsync# Terminate VBoxNetDHCP if running
5b93fdb3b4e681a6e4e01a3000f2a3ac07d99895vboxsync# Stop kernel module and uninstall runlevel script
5b93fdb3b4e681a6e4e01a3000f2a3ac07d99895vboxsync# Stop host networking and uninstall runlevel script (obsolete)
5b93fdb3b4e681a6e4e01a3000f2a3ac07d99895vboxsync# Remove kernel module installed
5b93fdb3b4e681a6e4e01a3000f2a3ac07d99895vboxsyncif [ -n "$DKMS" ]; then
5b93fdb3b4e681a6e4e01a3000f2a3ac07d99895vboxsync $DKMS remove -m vboxhost -v $INSTALL_VER --all > /dev/null 2>&1
5b93fdb3b4e681a6e4e01a3000f2a3ac07d99895vboxsync find /lib/modules/`uname -r` -name "vboxdrv\.*" 2>/dev/null|xargs rm -f 2> /dev/null
5b93fdb3b4e681a6e4e01a3000f2a3ac07d99895vboxsync find /lib/modules/`uname -r` -name "vboxnetflt\.*" 2>/dev/null|xargs rm -f 2> /dev/null
5b93fdb3b4e681a6e4e01a3000f2a3ac07d99895vboxsync find /lib/modules/`uname -r` -name "vboxnetadp\.*" 2>/dev/null|xargs rm -f 2> /dev/null
5b93fdb3b4e681a6e4e01a3000f2a3ac07d99895vboxsync # Remove directories we have installed to in the past
5b93fdb3b4e681a6e4e01a3000f2a3ac07d99895vboxsync find /lib/modules/`uname -r` -name vbox\* 2>/dev/null|xargs rmdir -p 2> /dev/null
5b93fdb3b4e681a6e4e01a3000f2a3ac07d99895vboxsync find /lib/modules/`uname -r` -name misc\* 2>/dev/null|xargs rmdir -p 2> /dev/null
5b93fdb3b4e681a6e4e01a3000f2a3ac07d99895vboxsync rm -f /usr/src/vboxnetflt-$INSTALL_VER 2> /dev/null
c970e7d40b648d5c8f3e2b060692e670d85997d1vboxsync rm -f /usr/src/vboxnetadp-$INSTALL_VER 2> /dev/null
5b93fdb3b4e681a6e4e01a3000f2a3ac07d99895vboxsync# Remove symlinks
5b93fdb3b4e681a6e4e01a3000f2a3ac07d99895vboxsyncrm -f /usr/share/applications/virtualbox.desktop 2> /dev/null
8b1975ddd07b69272802f37efbcf9a358c32a15avboxsync# Remove udev description file
8b1975ddd07b69272802f37efbcf9a358c32a15avboxsync rm -f /etc/udev/rules.d/60-vboxdrv.rules 2> /dev/null
4b4bf806fd0a1f544ae7c3866d4c056bbb306ca3vboxsync rm -f /etc/udev/rules.d/10-vboxdrv.rules 2> /dev/null
4b4bf806fd0a1f544ae7c3866d4c056bbb306ca3vboxsyncif [ -f $PREV_INSTALLATION/src/vboxdrv/Makefile ]; then
8b1975ddd07b69272802f37efbcf9a358c32a15avboxsyncif [ -f $PREV_INSTALLATION/src/vboxnetflt/Makefile ]; then
5b93fdb3b4e681a6e4e01a3000f2a3ac07d99895vboxsyncif [ -f $PREV_INSTALLATION/src/vboxnetadp/Makefile ]; then
5b93fdb3b4e681a6e4e01a3000f2a3ac07d99895vboxsyncelif [ -n "$DEFAULT_FILES" -a -r "$DEFAULT_FILES" ]; then
5b93fdb3b4e681a6e4e01a3000f2a3ac07d99895vboxsyncfor file in `find $PREV_INSTALLATION 2> /dev/null`; do
5b93fdb3b4e681a6e4e01a3000f2a3ac07d99895vboxsyncmkdir -p $PREV_INSTALLATION 2> /dev/null # The above actually removes the current directory and parents!
5b93fdb3b4e681a6e4e01a3000f2a3ac07d99895vboxsync [ -n "$INSTALL_REV" ] && INSTALL_REV=" r$INSTALL_REV"
5b93fdb3b4e681a6e4e01a3000f2a3ac07d99895vboxsync info "VirtualBox $INSTALL_VER$INSTALL_REV has been removed successfully."
5b93fdb3b4e681a6e4e01a3000f2a3ac07d99895vboxsync log "Successfully $INSTALL_VER$INSTALL_REV removed VirtualBox."