Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #! /bin/bash -e
- if ! [ -d "$1" ]; then
- echo "directory '$1' not exists" 1>&2
- exit 1
- fi
- if [ "x$2" == 'xstop' ]; then
- if mountpoint -q "$1/proc"; then
- echo "umount /proc"
- umount "$1/proc"
- fi
- if mountpoint -q "$1/sys"; then
- echo "umount /sys"
- umount "$1/sys"
- fi
- if mountpoint -q "$1/run"; then
- echo "umount /run"
- umount "$1/run"
- fi
- if mountpoint -q "$1/dev/mqueue"; then
- echo "umount /dev/mqueue"
- umount "$1/dev/mqueue"
- fi
- if mountpoint -q "$1/dev/shm"; then
- echo "umount /dev/shm"
- umount "$1/dev/shm"
- fi
- if mountpoint -q "$1/dev/pts"; then
- echo "umount /dev/pts"
- umount "$1/dev/pts"
- fi
- if mountpoint -q "$1/dev"; then
- echo "umount /dev"
- umount "$1/dev"
- fi
- if mountpoint -q "$1/usr/local/bin"; then
- echo "umount $1/usr/local/bin"
- umount "$1/usr/local/bin"
- fi
- if mountpoint -q "$1/tmp"; then
- echo "umount $1/tmp"
- umount "$1/tmp"
- fi
- if [[ -n "$SUDO_USER" ]] && mountpoint -q "$1/home/$SUDO_USER"; then
- echo "umount $1/home/$SUDO_USER"
- umount "$1/home/$SUDO_USER"
- fi
- echo "stopped"
- exit
- fi
- if ! [ -d "$1/proc" ]; then
- echo "directory '$1/proc' not exists" 1>&2
- exit 1
- fi
- if ! [ -d "$1/sys" ]; then
- echo "directory '$1/sys' not exists" 1>&2
- exit 1
- fi
- if ! [ -d "$1/dev" ]; then
- echo "directory '$1/dev' not exists" 1>&2
- exit 1
- fi
- if ! [ -d "$1/run" ]; then
- echo "directory '$1/run' not exists" 1>&2
- exit 1
- fi
- if ! mountpoint -q "$1/proc"; then
- echo "mount /proc"
- mount -t proc proc "$1/proc"
- fi
- if ! mountpoint -q "$1/sys"; then
- echo "mount /sys"
- mount -t sysfs sysfs "$1/sys"
- fi
- if ! mountpoint -q "$1/dev"; then
- echo "mount /dev"
- mount -t devtmpfs -o rw,nosuid,relatime,mode=755 devtmpfs "$1/dev"
- fi
- if ! mountpoint -q "$1/dev/pts"; then
- echo "mount /dev/pts"
- mount -t devpts -o rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 devpts "$1/dev/pts"
- fi
- if ! mountpoint -q "$1/dev/shm"; then
- echo "mount /dev/shm"
- mount -t tmpfs -o rw,nosuid,nodev tmpfs "$1/dev/shm"
- fi
- #if ! [ -d "$1/dev/mqueue" ]; then
- # echo "mkdir $1/dev/mqueue"
- # mkdir "$1/dev/mqueue"
- #fi
- if ! mountpoint -q "$1/dev/mqueue"; then
- echo "mount /dev/mqueue"
- mount -t mqueue -o rw,relatime mqueue "$1/dev/mqueue"
- fi
- if ! mountpoint -q "$1/run"; then
- echo "mount /run"
- mount -t tmpfs -o rw,nosuid,noexec,relatime,size=87504k,mode=755 tmpfs "$1/run"
- fi
- if [[ -d "$1/usr/local/bin" ]] && [[ -d /usr/local/bin ]] && ! mountpoint -q "$1/usr/local/bin"; then
- echo "mount /usr/local/bin"
- mount --bind /usr/local/bin "$1/usr/local/bin"
- fi
- if ! mountpoint -q "$1/tmp"; then
- echo "mount /tmp"
- mount --bind /tmp "$1/tmp"
- fi
- if [[ -n "$SUDO_USER" ]] && [[ -d "$1/home/$SUDO_USER" ]] && [[ -d "/home/$SUDO_USER" ]] && ! mountpoint -q "$1/home/$SUDO_USER"; then
- echo "mount /home/$SUDO_USER"
- mount --bind "/home/$SUDO_USER" "$1/home/$SUDO_USER"
- fi
- chroot $@
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement