为什么目录列表中的某些文件显示为红色并带有“?”而不是文件属性?

为什么目录列表中的某些文件显示为红色并带有“?”而不是文件属性?

我刚刚发现,至少在一个用户的目录中Maildir,某些文件在cur我的终端上以红色“闪烁”(!)并且相同文件的属性被问号替换。

我发现它们是因为我du -hs在主目录中运行,并且这些文件被列为甚至 root 也无法访问。

以下是清单:

drwxrwx--- 2 travel mail 8.0K Aug 11 19:29 .
drwxrwx--- 5 travel mail 4.0K Aug 11 19:30 ..
-rw-rw---- 1 travel mail  33K Jun 27 03:55 1327311651.M313310P1633.my.domain.info,W=2330:2,STa
?--------- ? ?         ?       ?            ? 1327378561.M795425P7819.my.domain.info,W=4603093:2,ST
?--------- ? ?         ?       ?            ? 1327408110.M597988P17812.my.domain.info,W=3910:2,ST
?--------- ? ?         ?       ?            ? 1327665200.M938383P29773.my.domain.info,W=5762:2,ST
?--------- ? ?         ?       ?            ? 1327904625.M697896P18082.my.domain.info,W=7674:2,ST

该机器是运行CentOS 5的VPS。

更新

输出mount

# mount
/dev/vzfs on / type reiserfs (rw,usrquota,grpquota)
proc on /proc type proc (rw,relatime)
sysfs on /sys type sysfs (rw,relatime)
none on /dev type tmpfs (rw,relatime)
none on /dev/pts type devpts (rw,relatime)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,relatime)

内容fstab

# cat /etc/fstab
# none  /dev/pts        devpts  rw,usrquota,grpquota    1       1
none    /dev/pts        devpts  rw      0       0

的结果du -h

# du -h /home/cust243/imap/custdomain.com.ph/info/Maildir/.INBOX.Sent/
4.0K    /home/cust243/imap/custdomain.com.ph/info/Maildir/.INBOX.Sent/tmp
4.0K    /home/cust243/imap/custdomain.com.ph/info/Maildir/.INBOX.Sent/new
du: cannot access `/home/cust243/imap/custdomain.com.ph/info/Maildir/.INBOX.Sent/cur/1327665200.M938383P29773.s1.ourdomain.info,W=5762:2,ST': No such file or directory
du: cannot access `/home/cust243/imap/custdomain.com.ph/info/Maildir/.INBOX.Sent

### Truncated many more similar files ###

du: cannot access `/home/cust243/imap/custdomain.com.ph/info/Maildir/.INBOX.Sent/cur/1327378561.M795425P7819.s1.ourdomain.info,W=4603093:2,ST': No such file or directory
25M     /home/cust243/imap/custdomain.com.ph/info/Maildir/.INBOX.Sent/cur
25M     /home/cust243/imap/custdomain.com.ph/info/Maildir/.INBOX.Sent/

这使得客户无法列出他们已发送的电子邮件,所以我需要以某种方式清理它,但不确定如何做,因为发生了以下情况:

# rm /home/cust243/imap/custdomain.com.ph/info/Maildir/.INBOX.Sent/cur/1327665200.M938383P29773.s1.ourdomain.info,W=5762:2,ST
rm: cannot lstat `/home/cust243/imap/custdomain.com.ph/info/Maildir/.INBOX.Sent/cur/1327665200.M938383P29773.s1.ourdomain.info,W=5762:2,ST': No such file or directory

目录中还有一堆文件似乎未受到损坏的影响。

答案1

正如我在评论中所说,这看起来是您的 VPS 中底层文件系统的问题。

没有安装网络文件系统,所以这不是问题所在。下一步是运行离线 fsck 以排除 VPS 文件系统损坏的可能性。

由于您的服务器是 VPS,您将需要能够访问 VPS 的控制台,或者至少将服务器启动到能够运行的救援系统中fsck

为此,您的 VPS 需要关闭,因此您应该警告您的客户服务将中断 - 根据磁盘的大小和底层硬件,这可能需要几个小时。

无论哪种方式,您都应该联系您的 VPS 提供商并让他们知道 - 他们的基础设施可能存在问题,导致文件系统损坏。

相关内容