funtions: add umount_force function
This commit is contained in:
parent
16fb7c36ae
commit
ac1c6c511a
|
@ -108,9 +108,9 @@ umount_image()
|
|||
cp ./drop/postinstall "$rootdir/opt/nabu/postinstall"
|
||||
chmod +x "$rootdir/opt/nabu/postinstall"
|
||||
|
||||
umount "$rootdir/boot/efi"
|
||||
umount "$rootdir/boot/simpleinit"
|
||||
umount "$rootdir"
|
||||
umount_force "$rootdir/boot/efi"
|
||||
umount_force "$rootdir/boot/simpleinit"
|
||||
umount_force "$rootdir"
|
||||
rm -d "$rootdir"
|
||||
return 0
|
||||
}
|
||||
|
@ -144,11 +144,11 @@ detach_chroot()
|
|||
|
||||
rootdir=$(realpath "$1")
|
||||
killall gpg-agent > /dev/null 2>&1
|
||||
umount "$rootdir/proc" > /dev/null 2>&1
|
||||
umount "$rootdir/sys" > /dev/null 2>&1
|
||||
umount "$rootdir/dev/pts" > /dev/null 2>&1
|
||||
umount "$rootdir/dev/shm" > /dev/null 2>&1
|
||||
umount "$rootdir/dev" > /dev/null 2>&1
|
||||
umount_force "$rootdir/proc" > /dev/null 2>&1
|
||||
umount_force "$rootdir/sys" > /dev/null 2>&1
|
||||
umount_force "$rootdir/dev/pts" > /dev/null 2>&1
|
||||
umount_force "$rootdir/dev/shm" > /dev/null 2>&1
|
||||
umount_force "$rootdir/dev" > /dev/null 2>&1
|
||||
return 0
|
||||
}
|
||||
|
||||
|
|
|
@ -23,6 +23,27 @@ mkdir_if_not_exists ()
|
|||
mkdir "$1"
|
||||
}
|
||||
|
||||
umount_if_mouted()
|
||||
{
|
||||
[ ! -d "$1" ] && return 0
|
||||
if grep -qs "$(realpath "$1")" /proc/mounts; then
|
||||
umount "$1"
|
||||
return $?
|
||||
else
|
||||
return 0
|
||||
fi
|
||||
}
|
||||
|
||||
umount_force()
|
||||
{
|
||||
[ ! -d "$1" ] && return 0
|
||||
while true; do
|
||||
umount_if_mouted "$1" && break
|
||||
log "Failed to umount $1. Trying again after 3 seconds" ierror
|
||||
sleep 3
|
||||
done
|
||||
}
|
||||
|
||||
prepare_env()
|
||||
{
|
||||
mkdir_if_not_exists "./cache"
|
||||
|
|
Loading…
Reference in a new issue