我正在运行 CentOS 7 系统,遇到了一个问题。我试图删除上次更改密码后遗留的文件 /etc/passwd+,但出于某种原因我无法删除。系统返回“设备或资源繁忙”错误:
#/etc# rm passwd+
rm: cannot remove ‘passwd+’: Device or resource busy
需要明确的是,这不是文件系统挂载点,甚至不是目录。它只是一个普通文件。
#/etc# ls -l /etc/passwd+
-rw-r--r-- 1 root root 3192 Aug 1 09:32 /etc/passwd+
当我尝试执行此操作时,我以 root 身份运行。
#/etc# id
uid=0(root) gid=0(root) groups=0(root)
我检查了哪些进程可能正在使用此文件,但没有找到。
#/etc# fuser -v /etc/passwd+
#/etc# lsof | fgrep /etc/passwd+
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1067/gvfs
Output information may be incomplete.
我没有运行 selinux,并且没有为该文件分配任何特殊属性。
#/etc# getenforce
Disabled
#/etc# lsattr /etc/passwd+
-------------e-- /etc/passwd+
我也没有在容器或任何受限制的命名空间内运行。
该文件位于我的根文件系统上,它是一个 ext4 文件系统。
#/etc# df -h /etc/passwd+
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rootvg-root 39G 17G 20G 47% /
#/etc# mount | grep /dev/mapper/rootvg-root
/dev/mapper/rootvg-root on / type ext4 (rw,noatime,nodiratime,nobarrier,data=ordered)
我的 CentOS 版本是 7.4.1708,已应用所有当前更新。
# cat /etc/centos-release
CentOS Linux release 7.4.1708 (Core)
# yum -q check-update
有人见过这种现象吗?知道是什么原因造成的吗?
== 更新 ==
我重新启动了机器,然后成功删除了文件。我以为文件系统可能出现了某种损坏,于是我从救援 CD 重新启动并运行e2fsck -f /dev/rootvg/root
,但没有发现任何错误。这不是我第一次遇到无法删除或移动文件的情况(每次都是不同的文件),所以将来某个时候可能会再次发生这种情况。不过我现在还好。