93 lines
1.7 KiB
Bash
Executable File
93 lines
1.7 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
if test `id -u` -ne 0
|
|
then
|
|
echo "$0 must be run as root."
|
|
return
|
|
fi
|
|
|
|
FRESH=clean_environment
|
|
ROOT=test_environment
|
|
|
|
add_mount() {
|
|
if mountpoint "$ROOT$1" > /dev/null
|
|
then
|
|
echo "$ROOT$1 already mounted."
|
|
else
|
|
echo "Mounting $1 to $ROOT$1"
|
|
mkdir -p "$ROOT$1"
|
|
mount -o bind "$1" "$ROOT$1"
|
|
fi
|
|
}
|
|
|
|
remove_mount() {
|
|
if mountpoint "$ROOT$1" > /dev/null
|
|
then
|
|
echo "Unmounting $ROOT$1"
|
|
umount "$ROOT$1"
|
|
fi
|
|
}
|
|
|
|
add_mounts() {
|
|
add_mount /proc
|
|
add_mount /sys
|
|
add_mount /dev
|
|
add_mount /dev/pts
|
|
add_mount /tmp/.X11-unix
|
|
}
|
|
|
|
remove_mounts() {
|
|
remove_mount /tmp/.X11-unix
|
|
remove_mount /dev/pts
|
|
remove_mount /dev
|
|
remove_mount /sys
|
|
remove_mount /proc
|
|
}
|
|
|
|
remove_environment() {
|
|
if test -d "$ROOT"
|
|
then
|
|
# Call this script that automatically unmounts the mount points too.
|
|
remove_mounts
|
|
echo "Removing $ROOT"
|
|
rm -r "$ROOT"
|
|
else
|
|
echo "No environment found at $ROOT. Doing nothing."
|
|
fi
|
|
}
|
|
|
|
remove_everything() {
|
|
if test -d "$ROOT"
|
|
then
|
|
# Call this script that automatically unmounts the mount points too.
|
|
remove_environment
|
|
fi
|
|
|
|
if test -d "$FRESH"
|
|
then
|
|
echo "Removing $FRESH"
|
|
rm -r "$FRESH"
|
|
fi
|
|
|
|
if test -d debootstrap
|
|
then
|
|
echo "Removing debootstrap"
|
|
rm -r debootstrap
|
|
fi
|
|
|
|
if test -f debootstrap.tar.gz
|
|
then
|
|
echo "Removing debootstrap.tar.gz"
|
|
rm debootstrap.tar.gz
|
|
fi
|
|
}
|
|
|
|
case "$1" in
|
|
everything) remove_everything ;;
|
|
mounts) remove_mounts ;;
|
|
add_mounts) add_mounts ;;
|
|
environment) remove_environment ;;
|
|
"") remove_environment ;;
|
|
esac
|
|
|