&& $1 !~ /^(none|\/dev\/root)$/ \
&& $2 !~ ig {print $2}' /proc/mounts)
while [ -n "$remaining" -a "$retry" -gt 0 ]; do
- show "Unmounting file systems"; busy
- ERRORS=$(umount -a $force -t noproc,nosysfs 2>&1); rc=$?
+ for mnt in $remaining; do
+ run_cmd "$(nls 'Umounting file system: %s' $mnt)" umount $force -R $mnt
+
+ # we might had unmounted /usr, recheck $TPUT availability
+ # but well. we need tput only for show() and busy() (ok() and fail() messages are already cached)
+ # TODO: look ahead the messages?
+ if is_yes "$TPUT"; then
+ TPUT=
+ rc_gettext_init
+ fi
+ done
+
+ show "Unmounting remainging file systems"; busy
+ ERRORS=$(umount -a $force -t noproc,nosysfs,notmpfs,nodevpts,nodevtmpfs 2>&1); rc=$
# we might had unmounted /usr, recheck $TPUT availability
# but well. we need tput only for show() and busy() (ok() and fail() messages are already cached)
ok
else
fail
- [ -n "$ERRORS" ] && echo "$ERRORS"
+ if [ -n "$ERRORS" ]; then
+ nls "Umount errors:"
+ echo "$ERRORS"
+ fi
fi
sleep 2