情况:服务器上装有 Gentoo Linux 和 Samba。大约有 15 台 Windows PC、一台 MacBook Pro 和一台安装 Ubuntu 的三星笔记本电脑。没有域,只有一个工作组,服务器仅用于 Samba 共享。在 Ubuntu 上,我使用 gvfs 挂载 samba 共享。
问题是:有一天,大约一半的目录丢失了,但仅限于在这台 Ubuntu 笔记本电脑上查看时。如果我通过 ssh 连接到服务器,我可以看到丢失的文件/目录,并且还可以看到 win 或 mac 计算机上丢失的内容。
临时修复:当我重命名一些丢失的目录时,即使它是一个符号,丢失的目录也会重新出现......即使没有重新加载/刷新 gvfs 安装的共享。如果我立即重命名回以前的目录/文件名,则所有以前丢失的目录/文件都会立即再次丢失。
因此,当这个问题在大约一个月后再次出现时,我可以使用一些建议来开始检查。
答案1
我可能遇到过类似的问题,但只是缺少单个文件。我怀疑 linux samba 挂载助手有问题。
您能在您的客户端上运行以下测试吗?
cd [缺少子目录的目录] ls-al | grep [缺少名称] -> 未找到任何内容(readdir 已损坏) ls -al [missing name] -> 列出元素(统计工作)--当 [missing name] 是目录时使用 -d 要查明内核是否对您隐藏了这些文件: umount smb 共享 启动“tcpdump -p -i [您的网卡] -s0 -w net.dump 主机 [您的 samba 主机]” 挂载共享 运行“ls -al | grep [missing name]”测试 停止 tcpdump 验证文件名是否在 tcpdump 中,但未显示在目录列表中。所以: 字符串 --encoding=b net.dump | grep [缺少名称] 字符串 --encoding=l net.dump | grep [缺少名称]
如果 name 至少包含一次,则表明 samba 服务器正在发送整个列表,但 linux 会丢弃一些条目。