我正在跟进这个答案sudo rm -r /mnt/usr
将我的 /usr 目录移至其他分区。当我尝试使用或删除旧的 /usr 文件时,sudo rm -rf /mnt/usr
我得到了rm: cannot remove ‘/mnt/usr’: Device or resource busy
。我该如何解决这个问题?
我有一个 Ubuntu Live USB,所以我可以尝试一下,但我也不确定如何/usr
从 live USB 中删除旧文件。
编辑:
这是/etc/fstab
:
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
UUID=ac528df3-12fc-4583-acda-4bb3fbb47fb8 / ext4 errors=remount-ro 0 1
UUID=a13080c5-6dde-468d-b5a3-a60d78fe6db0 none swap sw 0 0
UUID=0f226bb1-8acb-4343-9db9-b3e27bcea2f1 /home ext4 defaults 0 2
UUID=e21ed5be-d896-4b03-979d-5102b3b039fc /usr ext3 errors=remount-ro 0 1
/dev/sda1 /media/shirley/windows7 ntfs uid=1000,gid=1000 0 0
我的 /usr 的 fstab 条目与链接的帖子略有不同(例如使用 ext3,并且选项不同),因为我最初遵循的是这个ubuntuforums 帖子但总体流程是一样的。
我sudo lsof | grep /mnt/usr
刚刚得到
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
Output information may be incomplete.
...我是否安装在/mnt上。
编辑2:
这是/etc/mtab
(运行之后sudo mount --bind / /mnt
,附加最后一行):
/dev/sdb1 / ext4 rw,errors=remount-ro 0 0
proc /proc proc rw,nodev,noexec,nosuid 0 0
sysfs /sys sysfs rw,nodev,noexec,nosuid 0 0
none /sys/fs/cgroup tmpfs rw,uid=0,gid=0,mode=0755,size=1024 0 0
none /sys/fs/fuse/connections fusectl rw 0 0
none /sys/kernel/debug debugfs rw 0 0
none /sys/kernel/security securityfs rw 0 0
udev /dev devtmpfs rw,mode=0755 0 0
devpts /dev/pts devpts rw,noexec,nosuid,gid=5,mode=0620 0 0
tmpfs /run tmpfs rw,noexec,nosuid,size=10%,mode=0755 0 0
none /run/lock tmpfs rw,nodev,noexec,nosuid,size=5242880 0 0
none /run/shm tmpfs rw,nosuid,nodev 0 0
none /run/user tmpfs rw,nodev,noexec,nosuid,size=104857600,mode=0755 0 0
none /sys/fs/pstore pstore rw 0 0
/dev/sda1 /media/shirley/windows7 fuseblk rw,nosuid,nodev,allow_other,default_permissions,blksize=4096 0 0
/dev/sda3 /usr ext3 rw,errors=remount-ro 0 0
/dev/sda2 /home ext4 rw 0 0
binfmt_misc /proc/sys/fs/binfmt_misc binfmt_misc rw,nodev,noexec,nosuid 0 0
systemd /sys/fs/cgroup/systemd cgroup rw,nosuid,noexec,nodev,none,name=systemd 0 0
vmware-vmblock /run/vmblock-fuse fuse.vmware-vmblock rw,nosuid,nodev,default_permissions,allow_other 0 0
gvfsd-fuse /run/user/1000/gvfs fuse.gvfsd-fuse rw,nosuid,nodev,user=shirley 0 0
/ /mnt none rw,bind 0 0
再次感谢!
答案1
答案2
运行命令:
fuser -vm /mnt/usr
或者
lsof /mnt/usr
以 root 身份运行此命令,查看哪个进程和用户正在使用/mnt/usr
并终止该进程,然后尝试/mnt/usr
使用命令删除。
sudo rm -r /mnt/usr
你将能够删除/mnt/usr