#! /bin/bash
-# $Id: vserver 2418 2006-12-08 13:28:02Z dhozac $
+# $Id: vserver,v 1.30 2005/04/28 18:03:42 ensc Exp $
# Copyright (C) 2003,2004,2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
#
<vserver> is the name of a vserver.
Possible commands are:
- start [--rescue [--rescue-init]] [<rescue-cmd> <args>*]
+ start [--rescue] [--rescue-cmd <cmd>]
... starts the specified vserver
stop ... stops the specified vserver
restart ... restarts the specified vserver; this is the subsequent
build <buildopts>*
... builds a new vserver from scratch
- delete ... remove a vserver
unify [-R]
... (de)unify vserver
vserver=$1
cmd=$2
-test "$cmd" != build || { shift 2; exec $_VNAMESPACE --new -- \
- "$_VSERVER_BUILD" $OPTION_DEBUG -n "$vserver" "$@"; }
+test "$cmd" != build || { shift 2; exec "$_VSERVER_BUILD" -n "$vserver" "$@"; }
allow_legacy=
VSERVER_NAME=$(basename "$VSERVER_DIR")
fi
-# Create a new namespace when starting the guest
test "$2" != start -o -n "$OPTION_NONAMESPACE" || isAvoidNamespace "$VSERVER_DIR" || \
exec $_VNAMESPACE --new -- $_VSERVER ----nonamespace "${OPTIONS_ORIG[@]}"
-# Enter the namespace early so we can test for files inside the guest
-test "$2" != enter -a "$2" != stop || \
- test -n "$OPTION_NONAMESPACE" || isAvoidNamespace "$VSERVER_DIR" || \
- ! isVserverRunning "$VSERVER_DIR" || \
- exec $_VNAMESPACE --enter "$VSERVER_DIR" -- $_VSERVER ----nonamespace "${OPTIONS_ORIG[@]}"
-
-set_init_cwd
-cd /
-
. $__PKGLIBDIR/vserver.functions
case "$2" in
- (start|stop|delete)
+ (start|stop)
shift 2
. $__PKGLIBDIR/vserver.$cmd
;;
$cmd "$@"
;;
(condrestart)
- ! isVserverRunning "$VSERVER_DIR" || restart
+ test ! isVserverRunning "$VSERVER_DIR" || restart
;;
(exec)
shift 2
- suexec 0 "$@"
+ suexec root "$@"
;;
(chkconfig)
shift 2
- suexec 0 chkconfig "$@"
+ suexec root chkconfig "$@"
;;
(enter)
- useVlogin && \
- OPTS_VCONTEXT_ENTER=( "${OPTS_VCONTEXT_ENTER[@]}" --vlogin )
getEnterShell "$VSERVER_DIR"
- suexec 0 "${ENTER_SHELL[@]}"
+ suexec root "${ENTER_SHELL[@]}"
;;
(running)
isVserverRunning "$VSERVER_DIR"
;;
(apt-get|apt-config|apt-cache)
- export APT_GET=$2
+ export _APT_GET=$2
shift 2
- exec $_VAPT_GET "$VSERVER_DIR" -- "$@"
+ exec $_VAPT_GET -- "$@"
;;
-
(rpm)
- shift 2
- exec $_VRPM "$VSERVER_DIR" -- "$@"
+ exec $_VRPM -- "$@"
;;
(status)
fi
;;
(*)
- echo $"Usage: $0 <vserver> {start|stop|suexec|restart|condrestart|exec|enter|chkconfig|running|status|delete}" >&2
+ echo $"Usage: $0 {start|stop|suexec|restart|condrestart|exec|enter|chkconfig|running|status}" >&2
exit 2
;;
esac