-#!/bin/sh
+#!/bin/bash
# Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
# based on distrib-info by Jacques Gelinas
# distrib-info vserver1 pkgversion
# If vserver1 is a redhat system, it executes
# rpm -qa --queryformat "%{name}=%{version}-%{release}
-USR_LIB_VSERVER=$(dirname $0)
+: ${UTIL_VSERVER_VARS:=$(dirname $0)/util-vserver-vars}
+test -e "$UTIL_VSERVER_VARS" || {
+ echo "Can not find util-vserver installation; aborting..."
+ exit 1
+}
+. "$UTIL_VSERVER_VARS"
if [ "$1" = "" ] ; then
echo distrib-info vserver-name command [ args ... ] >&2
CHROOTCMD=
elif [ -d "$1" ] ; then
DISTDIR=$1
- CHROOTCMD="/usr/sbin/chroot $DISTDIR"
+ CHROOTCMD="$SBINDIR/chroot $DISTDIR"
else
DISTDIR=/vservers/$1
- CHROOTCMD="/usr/sbin/chroot $DISTDIR"
+ CHROOTCMD="$SBINDIR/chroot $DISTDIR"
fi
KEY=$2
shift
# We remove /etc and /var/log to make sure no special file
# there will be unified
$CHROOTCMD /bin/rpm -ql --dump $* \
- | $USR_LIB_VSERVER/parserpmdump /etc/
+ | $PKGLIBDIR/parserpmdump /etc/
;;
dumpfiles)
$CHROOTCMD /bin/rpm -ql $*
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+: ${UTIL_VSERVER_VARS:=$(dirname $0)/util-vserver-vars}
+test -e "$UTIL_VSERVER_VARS" || {
+ echo "Can not find util-vserver installation; aborting..."
+ exit 1
+}
+. "$UTIL_VSERVER_VARS"
-echo $* >/tmp/log
OPTIONS=$@
if [ "$OPTIONS" = "" ] ; then
OPTIONS=--login
fi
-exec /usr/sbin/chbind --silent --ip 0.0.0.0 /bin/bash $OPTIONS
+exec $SBINDIR/chbind --silent --ip 0.0.0.0 /bin/bash $OPTIONS
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#Presents the processes running in all virtual servers
-exec /usr/sbin/chcontext --silent --ctx 1 pstree $*
+: ${UTIL_VSERVER_VARS:=$(dirname $0)/util-vserver-vars}
+test -e "$UTIL_VSERVER_VARS" || {
+ echo "Can not find util-vserver installation; aborting..."
+ exit 1
+}
+. "$UTIL_VSERVER_VARS"
+
+exec $SBINDIR/chcontext --silent --ctx 1 pstree $*
# used so that if/when you reboot the source roothost you don't have the
# same vserver and IP address running on two machines.
+: ${UTIL_VSERVER_VARS:=$(dirname $0)/util-vserver-vars}
+test -e "$UTIL_VSERVER_VARS" || {
+ echo "Can not find util-vserver installation; aborting..."
+ exit 1
+}
+. "$UTIL_VSERVER_VARS"
+
VERSION="0.4"
umask 022
me=${0##*/}
fi
# This works both locally and remote
-if ($shcmd $dhost /usr/sbin/vserver $newname running | grep 'is running'); then
+if ($shcmd $dhost $SBINDIR/vserver $newname running | grep 'is running'); then
warn "destination vserver \"$newname\" is running"
error 1 "Cannot copy over a running vserver"
fi
if $stopstart; then
info "Stopping virtual server \"$vserver\" on localhost"
- /usr/sbin/vserver $vserver stop
+ $SBINDIR/vserver $vserver stop
fi
info "Syncing directories"
if $stopstart; then
info "Starting virtual server \"$vserver\" on $dhost"
- $shcmd $dhost /usr/sbin/vserver $vserver start
- if ($shcmd $dhost /usr/sbin/vserver $vserver running | \
+ $shcmd $dhost $SBINDIR/vserver $vserver start
+ if ($shcmd $dhost $SBINDIR/vserver $vserver running | \
grep 'not running'); then
error 1 "Virtual server \"$vserver\" failed to start on $dhost"
fi
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Helper script for all the v_xxx scripts
-USR_SBIN=/usr/sbin
+: ${UTIL_VSERVER_VARS:=$(dirname $0)/util-vserver-vars}
+test -e "$UTIL_VSERVER_VARS" || {
+ echo "Can not find util-vserver installation; aborting..."
+ exit 1
+}
+. "$UTIL_VSERVER_VARS"
+
if [ $# = 0 ] ; then
echo vsysvwrapper service_name >&2
else
do
IPOPT="$IPOPT --ip $oneip"
done
- echo exec $USR_SBIN/chbind $IPOPT /etc/init.d/$SERVICE $*
- exec $USR_SBIN/chbind $IPOPT /etc/init.d/$SERVICE $*
+ echo exec $SBINDIR/chbind $IPOPT /etc/init.d/$SERVICE $*
+ exec $SBINDIR/chbind $IPOPT /etc/init.d/$SERVICE $*
fi
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#Presents the processes running in all virtual servers
-exec /usr/sbin/chcontext --silent --ctx 1 top $*
-
+: ${UTIL_VSERVER_VARS:=$(dirname $0)/util-vserver-vars}
+test -e "$UTIL_VSERVER_VARS" || {
+ echo "Can not find util-vserver installation; aborting..."
+ exit 1
+}
+. "$UTIL_VSERVER_VARS"
+exec $SBINDIR/chcontext --silent --ctx 1 top $*