%20%E6%88%96%E5%85%B6%E4%BB%96%E7%89%B9%E6%AE%8A%E5%AD%97%E5%85%83%E6%99%82%EF%BC%8C%E5%A6%82%E4%BD%95%E5%88%AA%E9%99%A4%20CIFS%20%E6%8E%9B%E8%BC%89%E4%B8%8A%E7%9A%84%20(rm)%20%E6%AA%94%E6%A1%88%EF%BC%9F.png)
在我的 LAN 上,我有一台帶有加密共用資料夾的 Synology NAS。它們透過 CIFS 安裝在我的 Debian 電腦上(NFS 僅適用於未加密的共用資料夾)。
//<NAS_IP_ADDRESS>/<SHARED_FOLDER> /mnt/<MOUNT_FOLDER> cifs _netdev,credentials=<PATH_TO_CREDENTIALS>,iocharset=utf8,mapchars,uid=<UID>,gid=<GID>,setuids 0 0
當我嘗試操作 ( rm
, stat
, mv
...) 包含特殊字元(最常見的是冒號)的檔案時,出現錯誤
rm: cannot remove '<FILENAME>': No such file or directory
我可以做什麼來解決這個問題?可能會變更安裝參數或 samba 配置中的某些選項?
先致謝!
答案1
剛剛有同樣的問題。檔案顯示在目錄清單中,但無法開啟/刪除。 find 或 inode 的技巧不起作用。
然後我使用smbclient
而不是cifs mount,檔案名稱顯示為DOS 8.3格式,但刪除命令仍然找不到它。但del *
在該目錄中使用(這是唯一剩下的檔案)成功刪除了該檔案。
列出 cif 掛載:
ls: 'VK? NEWS - 2009.pdf.2018-12-03T01:24:59+01:00.snapshot.gz': No such file or directory
total 897
-rwxrwxrwx 1 root root 891372 Nov 13 2012 VK? NEWS - 2009.pdf.2018-12-03T01:24:59+01:00.snapshot.gz
透過 smbclient 列出/刪除:
smb: \main\rdiff-backup-data\increments\userfiles\> dir
. D 0 Wed Oct 16 00:01:34 2019
.. D 0 Tue Oct 15 23:06:52 2019
V9AGMV~L.GZ A 891372 Tue Nov 13 11:35:24 2012
104857600 blocks of size 1024. 30534775 blocks available
smb: \main\rdiff-backup-data\increments\userfiles\> del V9AGMV~L.GZ
NT_STATUS_NO_SUCH_FILE listing \main\rdiff-backup-data\increments\userfiles\V9AGMV~L.GZ
smb: \main\rdiff-backup-data\increments\userfiles\> del *
smb: \main\rdiff-backup-data\increments\userfiles\> dir
. D 0 Wed Oct 16 00:05:42 2019
.. D 0 Tue Oct 15 23:06:52 2019
104857600 blocks of size 1024. 30534775 blocks available