Bash opens files in the /usr/lib/locale folder. This makes it hard to impossible to unmount /usr, even in signle user mode Steps to Reproduce: Login to a virtual console (ie. not X) as root. Go to single user mode (telinit 1). type 'umount /usr' Actual Results: 'umount: /usr: device is busy' Expected Results: /usr is unmounted At this stage, doing lsof | grep '/usr' will reveal the culprit. Workaround: move /usr/lib/locale somewhere safe start bash again (ie. logout and login). bash fails to find /usr/lib/locale/stuff but continues silently unmount /usr do your stuff remount /usr move /usr/lib/locale back optionally logout and login again
known issue which has been semi-worked around in baselayout-1.12.x a while ago: 04 Sep 2005; Martin Schlemmer <azarah@gentoo.org>: Do not unmount /usr, but rather remount it ro, else we run into issues with systems that have locales enabled, as the fuser call in halt.sh tries to kill bash (due to it using /usr/lib/locale/*).
Should be fixed in baselayout-1.12.0-r1 - if not, re-open.