我在 Oracle Linux 7 服务器中安装了 CIFS 文件系统:
//win-server/shared-folder on /data1/shared_folder type cifs (rw,relatime,vers=1.0,cache=strict,username=winuser,domain=mydomain.com,uid=1000,forceuid,gid=1000,forcegid,addr=10.10.10.10,file_mode=0644,dir_mode=0755,soft,nounix,serverino,mapposix,rsize=61440,wsize=65536,echo_interval=60,actimeo=1)
我在 /data1/shared_folder 中有一个名为 test_file 的文件。当我尝试将其重命名为 TEST_FILE 时,收到以下错误消息:
$ mv test_file TEST_FILE
mv: ‘test_file’ and ‘TEST_FILE’ are the same file
$ echo $?
1
mv -f test_file TEST_FILE 的结果相同。我理解这与 Windows 服务器对文件名不区分大小写有关。但是,在之前的 Red Hat Linux 5 服务器安装相同的 CIFS 文件系统时,相同的命令没有显示任何消息,并返回退出代码 0。这是我需要在 Oracle Linux 7 服务器中复制的行为。
我怀疑这可能与 mount.cifs 选项有关。我尝试了 cache=none 选项(建议在https://superuser.com/questions/1132269/mv-command-reports-x-and-y-are-the-same-file-cifs-filesystem)、cache=loose 和 ignorecase,但它们没有帮助。
任何帮助都将不胜感激,谢谢!
更新: 我在 /etc/fstab 中指出的选项是:
rw,user=...,password=...,domain=...,uid=...,gid=...,file_mode=0644,dir_mode=0755