umount /home does not work
umount: /home device is busy
This means that you (or someone) is currently using files on the /home
filesystem. The simplest solution is to have all normal users logout of the system and then log back in as root.
(You might need to configure the system to "Allow local system administrator login" in the Login Window application, Security tab.)
If umount still complains, then, as the error message states, have a look at the output of:
lsof /home
and,
fuser -mv /home
These commands will show you what processes have open files on the /home
filesystem so you can go about closing them.
Note that something as seemingly innocent as having a terminal/console open with /home
as the current working directory will cause /home
to be in use and will stop umount /home
.
I was having this problem in Google Compute engine, where I have setup /home as a separate partition.
In this case you can never log in as root, you must login as a user, then switch to root, so it was never possible to umount /home
My solution was to login as my normal user
ssh myuser@myvm
Then once inside I switched to root and closed my own session like this:
cd /
exec sudo su
First I went to the root folder in case my home folder complained about being in use. Then I replace my current bash session with a root session by prepending exec
to sudo su
Now I could umount /home
without issues.
Since the error message suggest that run lsof
or fuser
to show which process is using /home
, you should try:
$ fuser -v /home/
USER PID ACCESS COMMAND
/home: root kernel mount /home
With lsof
the output can be longer.
The simple solution for you is trying to modify /etc/fstab
to mount /home
to different partition. Something like this:
/dev/sdb3 /home ext4 defaults,noatime 0 2
Make sure to comment or remove old entry, restart and see the change.