#! /bin/bash
# $Id$
-# Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+# Copyright (C) 2003,2004,2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
<vserver> is the name of a vserver.
Possible commands are:
- start [--nodeps] <start-vservers-opts>*
+ start [--rescue] [<rescue-cmd> <args>*]
... starts the specified vserver
- stop [--nodeps] <start-vservers-opts>*
- ... stops the specified vserver
+ stop ... 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
$"vserver $PACKAGE_VERSION -- manages the state of vservers
This program is part of $PACKAGE_STRING
-Copyright (C) 2003 Enrico Scholz
+Copyright (C) 2003,2004,2005 Enrico Scholz
This program is free software; you may redistribute it under the terms of
the GNU General Public License. This program has absolutely no warranty."
exit 0
function suexec()
{
- . $PKGLIBDIR/vserver.suexec
+ . $__PKGLIBDIR/vserver.suexec
}
function restart()
case "$vserver" in
(./*) VSERVER_DIR=`pwd`/$vserver;;
(/*) VSERVER_DIR=$vserver;;
- (*) VSERVER_DIR=$CONFDIR/$vserver
+ (*) VSERVER_DIR=$__CONFDIR/$vserver
allow_legacy=1
;;
esac
-if test "$allow_legacy"; then
+if test -n "$allow_legacy"; then
do_legacy=
test ! -e "$VSERVER_DIR/legacy" || do_legacy=1
- test -d "$VSERVER_DIR" -o ! -e "$CONFDIR/$vserver.conf" || do_legacy=1
+ test -d "$VSERVER_DIR" -o ! -e "$__CONFDIR/$vserver.conf" || do_legacy=1
test -z "$do_legacy" || {
echo $"WARNING: can not find configuration, assuming legacy method" >&2
test -d "$VSERVER_DIR" || {
echo $"\
-Can not find vserver-setup; please make sure that the vserver configuration
-is located at $VSERVER_DIR/."
- exit 1
+Can not find a vserver-setup at '$VSERVER_DIR/'.
+
+Possible solutions:
+* fix the spelling of the '$vserver' vserver name
+* read 'vserver $vserver build --help' about ways to create a new vserver
+* see 'vserver --help' for the syntax of this command
+"
+ exit 5
} >&2
if test -e "$VSERVER_DIR"/name; then
VSERVER_NAME=$(basename "$VSERVER_DIR")
fi
-test "$2" != start -o "$OPTION_NONAMESPACE" || isAvoidNamespace "$VSERVER_DIR" || \
+test "$2" != start -o -n "$OPTION_NONAMESPACE" || isAvoidNamespace "$VSERVER_DIR" || \
exec $_VNAMESPACE --new -- $_VSERVER ----nonamespace "${OPTIONS_ORIG[@]}"
-. $PKGLIBDIR/vserver.functions
+. $__PKGLIBDIR/vserver.functions
case "$2" in
(start|stop)
shift 2
- . $PKGLIBDIR/vserver.$cmd
+ . $__PKGLIBDIR/vserver.$cmd
;;
(suexec|restart)
shift 2
shift 2
exec $_VUNIFY "$@" "$vserver"
;;
-
+
+ (hashify)
+ shift 2
+ exec $_VHASHIFY "$@" "$vserver"
+ ;;
+
(pkg)
shift 2
exec $_VPKG "$vserver" "$@"
(pkgmgmt)
op=$3
shift 3
- exec $_PKGMGMT ${op:+--$op} "$@" -- "$vserver"
+ exec $_VNAMESPACE --new -- $_PKGMGMT ${op:+--$op} "$@" -- "$vserver"
;;
(apt-get|apt-config|apt-cache)
fi
exit 0
else
- msg $"Vserver '$vserver' is not running"
- exit 1
+ msg $"Vserver '$vserver' is stopped"
+ exit 3
fi
;;
(*)