Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37045817
en ru br
Репозитории ALT
S:7.0.10-alt2
5.1: 4.0.12-alt0.M51.1
4.1: 2.1.4-alt0.M41.5
4.0:
+backports:1.6.6-alt0.M40.2
www.altlinux.org/Changes

Группа :: Эмуляторы
Пакет: virtualbox

 Главная   Изменения   Спек   Патчи   Исходники   Загрузить   Gear   Bugs and FR  Repocop 

#!/bin/sh
#
# Linux Additions kernel module init script
#

# chkconfig: 35 30 70
# description: VirtualBox Linux Additions kernel modules
#
### BEGIN INIT INFO
# Provides: vboxadd
# Required-Start:
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Description: VirtualBox Linux Additions kernel modules
### END INIT INFO

# Do not load RH compatibility interface.
WITHOUT_RC_COMPAT=1

# Source function library.
. /etc/init.d/functions

MODPROBE=/sbin/modprobe
VBOXCLIENT=/usr/bin/VBoxClient

if $MODPROBE -c | grep -q '^allow_unsupported_modules *0'; then
MODPROBE="$MODPROBE --allow-unsupported-modules"
fi

# Check architecture
cpu=`uname -m`;
case "$cpu" in
i[3456789]86|x86)
cpu="x86"
lib_path="/usr/lib"
;;
x86_64|amd64)
cpu="amd64"
if test -d "/usr/lib64"; then
lib_path="/usr/lib64"
else
lib_path="/usr/lib"
fi
;;
esac

# Source function library.
. /etc/init.d/functions

LOCKFILE=/var/lock/subsys/virtualbox-addition
RETVAL=0

running_vboxguest()
{
lsmod | grep -q "vboxguest[^_-]"
}

running_vboxsf()
{
lsmod | grep -q "vboxsf[^_-]"
}

running_vboxvideo()
{
lsmod | grep -q "vboxvideo[^_-]"
}

start()
{
action "Loading VirtualBox module (vboxguest):" modprobe vboxguest
RETVAL=$?
if [ $RETVAL = 0 ]; then
action "Loading VirtualBox module (vboxsf):" modprobe vboxsf
RETVAL=$?
if [ $RETVAL = 0 ]; then
action "Mount VirtualBox Share Folders:" mount -a -t vboxsf
[ ! -f "$VBOXCLIENT" ] ||
action "Loading VirtualBox module (vboxvideo):" modprobe vboxvideo
RETVAL=$?
fi
fi
[ $RETVAL = 0 ] && touch "$LOCKFILE" ||:
return $RETVAL
# This isn't necessary anymore as the vboxsf module is autoloaded.
# mount -a -t vboxsf
}

stop()
{
local RETVAL1=0 RETVAL2=0 RETVAL3=0
action "Unmount VirtualBox Share Folders:" umount -a -t vboxsf
[ ! -f "$VBOXCLIENT" ] ||
action "Unloading VirtualBox module (vboxvideo):" modprobe -r vboxvideo || RETVAL3=$?
action "Unloading VirtualBox module (vboxsf):" modprobe -r vboxsf || RETVAL2=$?
action "Unloading VirtualBox module (vboxguest):" modprobe -r vboxguest || RETVAL1=$?
[ $RETVAL3 = 0 ] || RETVAL=$RETVAL3
[ $RETVAL2 = 0 ] || RETVAL=$RETVAL2
[ $RETVAL1 = 0 ] || RETVAL=$RETVAL1
[ $RETVAL = 0 ] && rm -f "$LOCKFILE" ||:
return $RETVAL
}

restart()
{
stop && start
# At least Fedora 11 and Fedora 12 require the correct security context when
# executing this command from service scripts. Shouldn't hurt for other
# distributions.
#chcon -u system_u -t mount_exec_t "$lib_path/$PACKAGE/mount.vboxsf" > /dev/null 2>&1
# And at least Fedora 15 needs this for the acceleration support check to
# work
#redhat_release=`cat /etc/redhat-release 2> /dev/null`
#case "$redhat_release" in Fedora\ release\ 15* )
# for i in "$lib_path"/*.so
# do
# restorecon "$i" >/dev/null
# done
# ;;
#esac

return 0
}

status()
{
if running_vboxguest; then
echo "vboxguest module is loaded"
running_vboxsf && echo "vboxsf module is loaded"
running_vboxvideo && echo "vboxvideo module is loaded"
echo "The VirtualBox Additions are currently running."
elif [ -f "$LOCKFILE" ]; then
echo "The VirtualBox Additions module is not loaded, but subsystem is locked"
RETVAL=2
else
echo "The VirtualBox Additions are not currently running"
fi
}

# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
condstop)
if [ -e "$LOCKFILE" ]; then
stop
fi
;;
condrestart)
# Do nothing on package upgrade
;;
status)
status
;;
*)
msg_usage "${0##*/} {start|stop|restart|condstop|condrestart|status}"
RETVAL=1
esac

exit $RETVAL
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin