You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
1.1 KiB
29 lines
1.1 KiB
#!/usr/bin/env bash
|
|
|
|
ENABLED=yes
|
|
[ "$ENABLED" != "yes" ] && exit 0
|
|
|
|
PATH=/usr/lib/ublinux/scripts:$PATH
|
|
|
|
# swapoff -a >/dev/null 2>&1
|
|
|
|
# umount network fs
|
|
egrep "[ ]nfs[ ]|[ ]cifs[ ]" /proc/mounts | awk '{print $2}' | egrep -v '^/mnt/live|^/memory/' | xargs umount -lf
|
|
|
|
# umount any enc files from /media /mnt
|
|
find /dev/mapper/* | sed s=.*/== | grep -v ^control$ | while read i ;do
|
|
cryptsetup status ${i} 2>/dev/null | grep "[[:space:]]loop:[[:space:]]" | grep -v /mnt/live/ | egrep -q "[[:space:]]/media/|[[:space:]]/mnt/" && umount /dev/mapper/${i} && cryptsetup close ${i}
|
|
done
|
|
|
|
# umount any loops from /media /mnt
|
|
losetup -a | tr -d :\)\( | egrep " /media/| /mnt/" | grep -v " /mnt/live" | awk '{print $1}' | xargs umount -d >/dev/null 2>&1
|
|
|
|
# then free any /media
|
|
egrep " /media/| /mnt/" /proc/mounts | awk '{print $2}' | grep -v ^/mnt/live | sort -r | xargs umount >/dev/null 2>&1
|
|
|
|
# umount any fs from /memory
|
|
egrep " /memory.*" /proc/mounts | awk '{print $2}' | sed '1!G;h;$!d' | xargs umount -l >/dev/null 2>&1
|
|
|
|
# umount any aufs from /media /mnt
|
|
egrep " /mnt/.* aufs | /media/.* aufs " /proc/mounts | awk '{print $2}' | xargs umount -l >/dev/null 2>&1
|