状況:Gentoo Linux と Samba がインストールされているサーバー。Windows PC が約 15 台、MacBook Pro が 1 台、Ubuntu がインストールされた Samsung のラップトップが 1 台あります。ドメインはなく、ワークグループのみで、サーバーは Samba 共有にのみ使用されます。Ubuntu では、gvfs を使用して Samba 共有をマウントします。
そして問題は:ある日、ディレクトリの約半分が消えてしまいましたが、これはこの Ubuntu ラップトップで表示したときだけです。サーバーに ssh すると、消えたファイル/ディレクトリが表示され、Windows または Mac コンピューターから消えたものも表示されます。
テンポフィックス:欠落しているディレクトリの一部の名前を変更すると、たとえ 1 つのシンボルであっても、欠落しているディレクトリが再び表示されます... gvfs マウントされた共有を再ロード/更新しなくても。 以前のディレクトリ/ファイル名に即座に名前を変更すると、以前に欠落していたすべてのディレクトリ/ファイルが即座に再び欠落します。
そのため、約 1 か月後にこの問題が再発したため、どこから確認を開始すればよいかアドバイスをいただければ幸いです。
答え1
同様の問題を経験したことがあるかもしれませんが、ファイルが 1 つだけ欠落していました。Linux の samba マウント ヘルパーに問題があるのではないかと思います。
クライアントで次のテストを実行できますか?
cd [サブディレクトリがないディレクトリ] ls -al | grep [名前がありません] -> 何も見つかりません (readdir が壊れています) ls -al [missing name] -> 要素をリストします (stat が機能しています) -- [missing name] がディレクトリの場合は -d を使用します カーネルがそれらのファイルを隠しているかどうかを確認するには: smb共有のマウント解除 「tcpdump -p -i [あなたの NIC] -s0 -w net.dump host [あなたの Samba ホスト]」を開始します。 共有をマウントする 「ls -al | grep [missing name]」テストを実行します tcpdumpを停止する ファイル名が tcpdump にはあるが、dirlisting には表示されないことを確認します。したがって、次のようになります。 文字列 --encoding=b net.dump | grep [名前がありません] 文字列 --encoding=l net.dump | grep [名前がありません]
名前が少なくとも 1 回含まれている場合、Samba サーバーはリスト全体を送信しているが、Linux は一部のエントリを破棄していることを示します。