X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=scripts%2Fvserver;h=8b7e8cb36f55f382873353bd740d31c9f5b3dfa9;hb=e4615ec7e88fbf35ad843fb52189e0486053b66e;hp=da3fbe2ca7acf7f5cc47cca59d4c86a49e2516da;hpb=7baa9d42086b7e58655895ed37b9571033226a63;p=util-vserver.git diff --git a/scripts/vserver b/scripts/vserver index da3fbe2..8b7e8cb 100755 --- a/scripts/vserver +++ b/scripts/vserver @@ -31,21 +31,22 @@ test -e "$UTIL_VSERVER_VARS" || { function showHelp() { echo \ -$"Usage: $(basename $0) [-s|--sync] [-v|--verbose] [--silent] +$"Usage: $(basename $0) [-s|--sync] [-v|--verbose] [--silent] [--debug] [--] * is the name of a vserver. Possible commands are: - start [--rescue [--rescue-init]] [ *] + start [--rescue [--rescue-init] *]] ... starts the specified vserver - stop ... stops the specified vserver + stop [--rescue-init] + ... stops the specified vserver restart ... restarts the specified vserver; this is the subsequent execution of a synchronized 'stop' and a 'start' condrestart ... restarts the vserver when it is running already - suexec + suexec ... executes a command as the specified user in the vserver - exec + exec ... executes a command as root in the vserver enter ... executes the configured shell in the vserver chkconfig @@ -56,7 +57,8 @@ Possible commands are: the vserver, and succeeds iff the vserver is running build * - ... builds a new vserver from scratch + ... builds a new vserver from scratch, see + vserver ... build --help for details delete ... remove a vserver unify [-R] * @@ -164,12 +166,13 @@ test "$cmd" != build || { shift 2; exec $_VNAMESPACE --new -- \ allow_legacy= case "$vserver" in - (./*) VSERVER_DIR=`pwd`/$vserver;; - (/*) VSERVER_DIR=$vserver;; - (*) VSERVER_DIR=$__CONFDIR/$vserver + (./*) VSERVER_DIR="`pwd`/$vserver";; + (/*) VSERVER_DIR="$vserver";; + (*) VSERVER_DIR="$__CONFDIR/$vserver" allow_legacy=1 ;; esac +VSERVER_DIR="${VSERVER_DIR%%/}" if test -n "$allow_legacy"; then do_legacy= @@ -197,11 +200,11 @@ Possible solutions: _setVserverName # Create a new namespace when starting the guest -test "$2" != start -o -n "$OPTION_NONAMESPACE" || isAvoidNamespace "$VSERVER_DIR" || \ +test "$cmd" != 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 "$cmd" != enter -a "$cmd" != stop || \ test -n "$OPTION_NONAMESPACE" || isAvoidNamespace "$VSERVER_DIR" || \ ! isVserverRunning "$VSERVER_DIR" || \ exec $_VNAMESPACE --enter "$VSERVER_DIR" -- $_VSERVER ----nonamespace "${OPTIONS_ORIG[@]}"