如何检查 /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
我已经试过不检查就挂载文件系统:
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