Warum kann ich eine als Socket markierte Datei nicht aus meinem Linux Ext3-Dateisystem löschen?

2701
Elijah

Ich verwende Ubuntu 9.04 mit einem ext3-Dateisystem. Vor einiger Zeit habe ich auf die Quelle von Flock 2.0 gehackt und ich habe gerade versucht, das Quellverzeichnis zu löschen, aber eine einzelne Datei konnte nicht gelöscht werden, wenn der Befehl rm -rf verwendet wurde. Nun bin ich in folgendem Zustand:

#:$ 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 

Ich habe gerade festgestellt, dass ich die Datei mit rm nicht löschen kann. Unlink funktioniert auch nicht. Ich habe dann versucht, die Datei mit dem Inode zu löschen, und das hat nicht so gut funktioniert. Irgendwie wurde diese Datei / dieses Socket installiert, als ich die Flockquelle kompilierte oder auscheckte. Von dem, was ich sagen kann, handelt es sich um eine Socket-Datei. Wie werde ich es los?

2

1 Antwort auf die Frage

8
vjt

Für mich sieht es aus wie eine Beschädigung des Dateisystems, da diese .svn-base-Datei kein Socket sein sollte: Sie sollte die Basisversion der Datei wizWaterMark.bmp enthalten, die von der Subversion ausgecheckt ist.

Einige Hinweise sollten von dmesg stammen, aber ich würde das Dateisystem sofort wieder einbinden (mount -o remount, ro / mountpoint) und ein fsck machen.

Viel Glück!

Vielen Dank! Das war genau das Problem. Ich musste ein fsk -f machen, um die Überprüfung zu erzwingen, da das Dateisystem als sauber markiert wurde. Elijah vor 14 Jahren 1