如何检查 /tmp 和 /proc 文件系统是否安装在 chroot 环境中?

How to check if /tmp and /proc filesysystems are mounted in a chrooted environment?

我已经试过不检查就挂载文件系统:

sudo -- mount -t proc /proc $chroot_dir/proc
sudo -- mount --bind /tmp $chroot_dir/tmp

但是,如果已经安装,这会破坏父 OS 会话,我将不得不重新启动 OS。我想检查它们是否预先安装。

您可以在 /etc/mtab 中看到当前安装的内容:

if grep $chroot_dir/proc /etc/mtab; then
  echo already mounted
fi;

类似地 tmp

或者你可以使用 mount 的输出:

is_mounted() {
    local drives=`mount | grep "" | awk '{print }'`
    local arr=($drives)
    for d in $arr; do
        if [ "$d" == "" ]; then
            return 0
        fi
    done
    return 1
}

which returns 0 如果安装了路径 $chroot_dir/proc。所以发出后:

sudo -- mount -t proc /proc $chroot_dir/proc

以上函数将return 0:

is_mounted $chroot_dir/proc
echo $?

否则为 1