为什么我无法从我的 linux ext3 文件系统中删除标记为套接字的文件?

为什么我无法从我的 linux ext3 文件系统中删除标记为套接字的文件?

我正在运行带有 ext3 文件系统的 Ubuntu 9.04。不久前,我在 flock 2.0 源代码上进行 hack 操作,我刚刚尝试删除源目录,但使用 rm -rf 命令时无法删除单个文件。所以,现在我处于以下状态:

#:$ sudo rm wizWaterMark.bmp.svn-base 
rm: cannot remove `wizWaterMark.bmp.svn-base': Operation not permitted
#: ls -lahi
467275 drwxr-xr-x     2 elijah elijah 4.0K 2009-07-29 11:22 .
467273 drwxr-xr-x     3 elijah elijah 4.0K 2009-07-29 11:22 ..
467289 sr-s---r-t 53288  43274  44934 2.6G 1922-12-30 08:51 wizWaterMark.bmp.svn-base
#: stat wizWaterMark.bmp.svn-base
  File: `wizWaterMark.bmp.svn-base'
  Size: 2708289673  Blocks: 1904771944 IO Block: 4096   socket
Device: 806h/2054d  Inode: 467289      Links: 53288
Access: (5505/sr-s---r-t)  Uid: (43274/ UNKNOWN)   Gid: (44934/ UNKNOWN)
Access: 1962-09-19 07:25:47.000000000 -0700
Modify: 1922-12-30 08:51:26.000000000 -0800
Change: 2013-08-23 23:56:57.000000000 -0700
#: sudo find . -inum 467289 -exec rm -i {} \;
rm: remove socket `./wizWaterMark.bmp.svn-base'? y
rm: cannot remove `./wizWaterMark.bmp.svn-base': Operation not permitted

我刚刚所做的就是确定我无法使用 rm 删除该文件。unlink 也不起作用。然后我尝试使用 inode 删除该文件,但同样不起作用。不知何故,在我编译或检查 flock 源代码时安装了此文件/套接字。据我所知,这是一个套接字文件。我该如何摆脱它?

答案1

对我来说,这看起来像是文件系统损坏,因为该 .svn-base 文件不应该是一个套接字:它应该包含从 subversion 中检出的 wizWaterMark.bmp 文件的基本修订版。

一些提示应该来自 dmesg,但我会立即以只读方式重新挂载文件系统(mount -o remount,ro /mountpoint)并对其执行 fsck。

祝你好运!

相关内容