이상한 삼바 및 gvfs 동작 - 디렉토리/파일의 ~절반이 무작위로 "누락"된 것으로 나타납니다.

이상한 삼바 및 gvfs 동작 - 디렉토리/파일의 ~절반이 무작위로 "누락"된 것으로 나타납니다.

그 상황:Gentoo Linux와 Samba가 설치된 서버. 약 15대의 Windows PC, MacBook Pro 1대, Ubuntu가 설치된 삼성 노트북 1대가 있습니다. 도메인은 없고 작업 그룹만 있으며 서버는 Samba 공유에만 사용됩니다. 우분투에서는 gvfs를 사용하여 삼바 공유를 마운트합니다.

그리고 문제는:어느 날 디렉토리의 약 절반이 사라졌지만 이 Ubuntu 노트북에서 볼 때만 사라졌습니다. 서버에 SSH로 연결하면 누락된 파일/디렉터리를 볼 수 있고 Win 또는 Mac 컴퓨터에서도 누락된 항목을 볼 수 있습니다.

임시수정:누락된 디렉터리 중 일부의 이름을 바꾸면 하나의 기호라도 누락된 디렉터리가 다시 나타납니다. gvfs 마운트 공유를 다시 로드/새로 고침하지 않아도 마찬가지입니다. 이전 디렉터리/파일 이름으로 즉시 이름을 바꾸면 이전에 누락된 모든 디렉터리/파일이 즉시 다시 사라집니다.

그래서 이 문제가 한 달쯤 지나서 다시 나타났기 때문에 어디에서 확인을 시작해야 할지 조언을 구할 수 있었습니다.

답변1

비슷한 문제가 발생했을 수도 있지만 파일이 하나만 누락되었습니다. 나는 Linux Samba 마운트 도우미에 문제가 있다고 생각합니다.

클라이언트에서 다음 테스트를 실행할 수 있습니까?

cd [하위 디렉터리가 누락된 디렉터리]

ls -알 | grep [이름 없음] -> 아무것도 찾을 수 없음(readdir이 손상됨)
ls -al [누락된 이름] -> 요소 나열(상태 작동 중) -- [누락된 이름]이 디렉터리인 경우 -d를 사용합니다.

커널이 해당 파일을 숨기고 있는지 확인하려면:

smb-share 마운트 해제
"tcpdump -p -i [닉값] -s0 -w net.dump 호스트 [삼바 호스트]"를 시작하세요.
공유를 마운트하다
"ls -al | grep [누락된 이름]" 테스트를 실행하세요.
tcpdump 중지
파일 이름이 tcpdump에 있지만 디렉터리 목록에는 표시되지 않는지 확인하세요. 그러므로:
문자열 --encoding=b net.dump | grep [이름 누락]
문자열 --encoding=l net.dump | grep [이름 누락]

이름이 적어도 한 번 포함되면 삼바 서버가 전체 목록을 보내고 있지만 Linux는 일부 항목을 삭제함을 나타냅니다.

관련 정보