смонтированный диск Windows: неполный список каталогов

У меня есть серия Общие диски Windows смонтированы на моем компьютере с Linux. У меня есть такие строки в / etc / fstab :

//10.5.0.136/i /media/i cifs credentials=/home/trosendal/.smbcredentials,vers=2.0,iocharset=utf8,gid=1000,uid=1000,file_mode=0777,dir_mode=0777 0 0

для монтирования каждого диска. Он отлично работал в течение многих лет, и теперь я получаю странное впечатление, когда получаю неполный список файлов, аналогичный описанному здесь: Неполный список каталогов при доступе к общему ресурсу . Вот иллюстрация проблемы:

trosendal@trosendal-ThinkPad-T480:/media/i$ ls
BKT  DOA  GDK  KMF  KOM  KVT  MIK  POV  VES  VIP  VOL
trosendal@trosendal-ThinkPad-T480:/media/i$ cd ESS
trosendal@trosendal-ThinkPad-T480:/media/i/ESS$ ls
'Arkiv X'                   hso
 brevlåda                  'Model Comparison.ppt'
...

Обратите внимание, что каталог ESS отсутствует, но я могу перейти к нему. То же самое происходит в emacs (dired) или в проводнике файлов gnome. Некоторые каталоги отсутствуют, другие нет. Идеи?

3
задан 28 February 2019 в 10:15
1 ответ

Проблема, очевидно, была связана с версией протокола cifs , которую я выбрал в fstab . Согласно отрывку из руководства

 $ man mount.cifs

 vers=arg
          SMB protocol version. Allowed values are:

          · 1.0 - The classic CIFS/SMBv1 protocol.

          · 2.0 - The SMBv2.002 protocol. This was initially introduced in Windows Vista Service Pack 1, and Windows Server 2008. Note that the initial release version of Windows Vista spoke a slightly different dialect (2.000) that is not supported.

          · 2.1 - The SMBv2.1 protocol that was introduced in Microsoft Windows 7 and Windows Server 2008R2.

          · 3.0 - The SMBv3.0 protocol that was introduced in Microsoft Windows 8 and Windows Server 2012.

          · 3.1.1 or 3.11 - The SMBv3.1.1 protocol that was introduced in Microsoft Windows Server 2016.

          Note too that while this option governs the protocol version used, not all features of each version are available.

          The default since v4.13.5 is for the client and server to negotiate the highest possible version greater than or equal to 2.1. In kernels prior to v4.13, the default was 1.0. For kernels between v4.13 and v4.13.5 the default is 3.0.

, я не уверен, какую версию сервера использует администратор этого диска, и поэтому я, должно быть, просто в какой-то момент угадал и не заметил последствий. Вот иллюстрация разницы, когда я выбираю vers = 2.0 , как в строке fstab , которую я написал в своем вопросе выше:

trosendal@trosendal-ThinkPad-T480:~$ cd /media/i/
trosendal@trosendal-ThinkPad-T480:/media/i$ ls
BKT  DOA  GDK  KMF  KOM  KVT  MIK  POV  VES  VIP  VOL

Тогда, если я перейду на vers = 1.0 Получаю желаемое:

trosendal@trosendal-ThinkPad-T480:/$ ls /media/i/
trosendal@trosendal-ThinkPad-T480:/$ ls /media/i/
BKT  DOA  ESS  GDK  KMF  KOM  KVT  MIK  POV  VES  VIP  VOL

Я должен признать, что это решение кажется немного взломанным, поскольку я не понимаю, как определить, какое из них является правильным, без проб и ошибок. Любое понимание того, как устранить такую ​​ситуацию, приветствуется.

3
ответ дан 3 December 2019 в 06:26

Теги

Похожие вопросы