VirtualBox

source: vbox/trunk/src/VBox/Installer/linux/prerm-common.sh@ 68969

Last change on this file since 68969 was 68027, checked in by vboxsync, 8 years ago

bugref:3809: Linux installer maintenance
Clean up unneeded kernel modules when the vboxdrv service is started.

When a Linux kernel is removed on the host for which VirtualBox driver
modules were installed, the kernel directory and those modules were left
in place. This change adds a check to the vboxdrv service script to look
for such orphaned modules on start-up and remove them along with the
directories.

  • Property svn:eol-style set to LF
  • Property svn:keywords set to Author Date Id Revision
File size: 2.6 KB
Line 
1#!/bin/sh
2# $Id: prerm-common.sh 68027 2017-07-18 14:21:17Z vboxsync $
3## @file
4# Oracle VM VirtualBox
5# VirtualBox Linux pre-uninstaller common portions
6#
7
8# Copyright (C) 2015 Oracle Corporation
9#
10# This file is part of VirtualBox Open Source Edition (OSE), as
11# available from http://www.virtualbox.org. This file is free software;
12# you can redistribute it and/or modify it under the terms of the GNU
13# General Public License (GPL) as published by the Free Software
14# Foundation, in version 2 as it comes in the "COPYING" file of the
15# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
16# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
17#
18
19# Put bits of the pre-uninstallation here which should work the same for all of
20# the Linux installers. We do not use special helpers (e.g. dh_* on Debian),
21# but that should not matter, as we know what those helpers actually do, and we
22# have to work on those systems anyway when installed using the all
23# distributions installer.
24#
25# We assume that all required files are in the same folder as this script
26# (e.g. /opt/VirtualBox, /usr/lib/VirtualBox, the build output directory).
27#
28# Script exit status: 0 on success, 1 if VirtualBox is running and can not be
29# stopped (installers may show an error themselves or just pass on standard
30# error).
31
32
33# The below is GNU-specific. See VBox.sh for the longer Solaris/OS X version.
34TARGET=`readlink -e -- "${0}"` || exit 1
35MY_PATH="${TARGET%/[!/]*}"
36cd "${MY_PATH}"
37. "./routines.sh"
38
39# Stop the ballon control service
40stop_init_script vboxballoonctrl-service >/dev/null 2>&1
41# Stop the autostart service
42stop_init_script vboxautostart-service >/dev/null 2>&1
43# Stop the web service
44stop_init_script vboxweb-service >/dev/null 2>&1
45# Do this check here after we terminated the web service: check whether VBoxSVC
46# is running and exit if it can't be stopped.
47check_running
48# Terminate VBoxNetDHCP if running
49terminate_proc VBoxNetDHCP
50# Terminate VBoxNetNAT if running
51terminate_proc VBoxNetNAT
52delrunlevel vboxballoonctrl-service
53remove_init_script vboxballoonctrl-service
54delrunlevel vboxautostart-service
55remove_init_script vboxautostart-service
56delrunlevel vboxweb-service
57remove_init_script vboxweb-service
58# Stop kernel module and uninstall runlevel script
59stop_init_script vboxdrv >/dev/null 2>&1
60delrunlevel vboxdrv
61remove_init_script vboxdrv
62# And do final clean-up
63"${MY_PATH}/vboxdrv.sh" cleanup >/dev/null # Do not silence errors for now
64# Stop host networking and uninstall runlevel script (obsolete)
65stop_init_script vboxnet >/dev/null 2>&1
66delrunlevel vboxnet >/dev/null 2>&1
67remove_init_script vboxnet >/dev/null 2>&1
68rm -f /sbin/vboxconfig
69exit 0
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette