同じ共有名で2つのサブディレクトリをマウントしようとしても機能しません。
# Mount the two different subfolders:
# $server and $share are the same - the subfolder differs:
$ subfolderA=a/b/c
$ subfolderB=x/y/z
$ mount -t cifs //$server/$share/$subfolderA /mnt/dirA
$ mount -t cifs //$server/$share/$subfolderB /mnt/dirB
# Traverse the directories - I see the same file in both directories (should only be be in dirA)
$ find /mnt/dir[AB] -name fda.txt -ls
707409139 1024 -rwxr-xr-x 1 root root 15 May 28 08:50 /mnt/dirA/fda.txt
707409139 1024 -rwxr-xr-x 1 root root 15 May 28 08:50 /mnt/dirB/fda.txt
# Mount in opposite order:
$ umount /mnt/dirA
$ umount /mnt/dirB
$ mount -t cifs //$server/$share/$subfolderB /mnt/dirB
$ mount -t cifs //$server/$share/$subfolderA /mnt/dirA
# Traverse the directories - I do not see the file fda.txt at all
$ find /mnt/dir[AB] -name fda.txt -ls
<nothing>
smbclientを使用してさまざまなサブフォルダへのアクセスを確認し、期待した結果を得ました。
1つではなく2つの別々のマウントポイントを持つ理由は、共有自体にはアクセスできず、サブフォルダにのみアクセスできるためです。
答え1
問題を深く理解するには、--verbose
オプションを使用してマウントしてみてください。
mount -t cifs //$server/$share/$subfolderB /mnt/dirB --verbose
問題の考えられる原因は、無効なinode番号またはキャッシュである可能性があります。 inode 番号付けの問題の回避策として、次のいずれかのオプションを試してください。
--serverino
--noserverino
また、別のキャッシュ方法(次のいずれか)を試してみてください。
--cache=none
--cache=strict
--cache=loose
読むmount.cifs(8)また。