From e6622560fe88ffc064b2c80b2fab2c480136caa5 Mon Sep 17 00:00:00 2001 From: Mike Gabriel Date: Tue, 31 Jul 2012 15:14:14 +0200 Subject: /bin/diskless-workstation-shell, /man/diskless-workation-shell.8: Add script for diskless chroot maintenance to itzks-packages-disklserver package. --- bin/diskless-workstation-shell | 79 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100755 bin/diskless-workstation-shell (limited to 'bin') diff --git a/bin/diskless-workstation-shell b/bin/diskless-workstation-shell new file mode 100755 index 0000000..296ab27 --- /dev/null +++ b/bin/diskless-workstation-shell @@ -0,0 +1,79 @@ +#!/bin/bash + +# Copyright (C) 2011 by Mike Gabriel + +# This script is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This script is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. + +set -e + +VERSION=0.1 +DLW_SHELL="bash" +CHROOT="/srv/ltsp/i386/" + +test -e "$CHROOT" || { + echo "ERROR: Diskless workstation chroot does not exist at $CHROOT." + exit -1 +} + +[ "x$USER" == "xroot" ] || { + echo "ERROR: Diskless workstation management has to be performed as root." + exit -2 +} + +cat > "$CHROOT/dlw_shell.sh" < /dev/null +mount /dev/pts &> /dev/null +export HOME=/root +export LTSP_HANDLE_DAEMONS="false" + +# export the proxy server (if any) to the shell. +export http_proxy=http://webcache.intern:3128 +export https_proxy=http://webcache.intern:3128 +export ftp_proxy=http://webcache.intern:3128 + +echo 'This shell has been started in your Diskless Workstation chroot environment.' +echo 'All changes performed here will take effect on your Diskless Workstations' +echo 'after their next (re)boot. So be careful!!!' +echo +echo "To return from this chroot shell hit STRG+D or type ,,exit'' on the" +echo 'command line...' +echo +echo 'Note: Service restarts have been disabled in Diskless Workstation chroot' +echo 'during maintenance work.' +echo + +# disable service restarts +#test -e /sbin/start-stop-daemon.keep || mv /sbin/start-stop-daemon /sbin/start-stop-daemon.keep +#echo '#!/bin/sh' > /sbin/start-stop-daemon +#echo 'exit 0' >> /sbin/start-stop-daemon +#chmod +x /sbin/start-stop-daemon + +/bin/$DLW_SHELL + +# restore start-stop-daemon +#[ \$(stat --format '%s' /sbin/start-stop-daemon) -lt 200 ] && mv /sbin/start-stop-daemon.keep /sbin/start-stop-daemon + +umount -l /proc &> /dev/null +umount -l /dev/pts &> /dev/null + +echo +echo "Diskless Workstation Shell has exited." +echo +EOF +chmod u+x "$CHROOT/dlw_shell.sh" +chroot "$CHROOT" /dlw_shell.sh + -- cgit v1.2.3