umount:設備正忙。為什麼?
跑步時
umount /path
我得到:umount: /path: device is busy.
文件系統很大,所以
lsof +D /path
不是一個現實的選擇。
lsof /path
,lsof +f -- /path
, 並且fuser /path
什麼都不返回。fuser -v /path
給出:USER PID ACCESS COMMAND /path: root kernel mount /path
這對於所有未使用的掛載文件系統都是正常的。
umount -l
並且umount -f
對我的情況還不夠好。我如何弄清楚為什麼核心認為這個文件系統很忙?
似乎我的問題的原因是
nfs-kernel-server
正在導出目錄。nfs-kernel-server
可能落後於正常打開的文件,因此沒有被和lsof
列出fuser
。當我停止時,
nfs-kernel-server
我可以umount
目錄。到目前為止,我在這裡製作了一個包含所有解決方案範例的頁面:http: //oletange.blogspot.com/2012/04/umount-device-is-busy-why.html
補充一下BruceCran上面的評論,我剛才表現這個問題的原因是一個陳舊的環回掛載。我已經檢查了
fuser -vm <mountpoint>
/的輸出lsof +D <mountpoint>
,mount
並且cat /proc/mounts
,檢查了一些舊的 nfs-kernel-server 是否正在執行,關閉配額,嘗試(但失敗) aumount -f <mountpoint>
並且在最後檢查輸出之前幾乎放棄了 924 天的正常執行時間並找到兩個陳舊的losetup
已配置但未安裝的環回:parsley:/mnt# cat /proc/mounts rootfs / rootfs rw 0 0 none /sys sysfs rw,nosuid,nodev,noexec 0 0 none /proc proc rw,nosuid,nodev,noexec 0 0 udev /dev tmpfs rw,size=10240k,mode=755 0 0 /dev/mapper/stuff-root / ext3 rw,errors=remount-ro,data=ordered 0 0 tmpfs /lib/init/rw tmpfs rw,nosuid,mode=755 0 0 usbfs /proc/bus/usb usbfs rw,nosuid,nodev,noexec 0 0 tmpfs /dev/shm tmpfs rw,nosuid,nodev 0 0 devpts /dev/pts devpts rw,nosuid,noexec,gid=5,mode=620 0 0 fusectl /sys/fs/fuse/connections fusectl rw 0 0 /dev/dm-2 /mnt/big ext3 rw,errors=remount-ro,data=ordered,jqfmt=vfsv0,usrjquota=aquota.user 0 0
然後
parsley:/mnt# fuser -vm /mnt/big/ parsley:/mnt# lsof +D big parsley:/mnt# umount -f /mnt/big/ umount2: Device or resource busy umount: /mnt/big: device is busy umount2: Device or resource busy umount: /mnt/big: device is busy parsley:/mnt# losetup -a /dev/loop0: [fd02]:59 (/mnt/big/dot-dropbox.ext2) /dev/loop1: [fd02]:59 (/mnt/big/dot-dropbox.ext2) parsley:/mnt# losetup -d /dev/loop0 parsley:/mnt# losetup -d /dev/loop1 parsley:/mnt# losetup -a parsley:/mnt# umount big/ parsley:/mnt#
Gentoo 論壇文章也將交換文件列為潛在罪魁禍首;儘管這些天交換到文件可能很少見,但檢查
cat /proc/swaps
. 我不確定配額是否能阻止解除安裝——我正在抓緊救命稻草。