![在 Debian 上掛載 HFS+ 檔案系統時無法辨識的文件](https://rvso.com/image/1568316/%E5%9C%A8%20Debian%20%E4%B8%8A%E6%8E%9B%E8%BC%89%20HFS%2B%20%E6%AA%94%E6%A1%88%E7%B3%BB%E7%B5%B1%E6%99%82%E7%84%A1%E6%B3%95%E8%BE%A8%E8%AD%98%E7%9A%84%E6%96%87%E4%BB%B6.png)
我正在用 Raspberry Pi 替換 Mac mini 作為檔案伺服器。驅動器已經移動,大部分情況都正常工作。在設定一些工作時,我注意到rsync
有人抱怨文件消失。最初,我認為名稱中帶有泰語字符或變音符號(重音、元音變音等 - 是的,我必須查找一下!)的文件是導致問題的原因。但rsync
並沒有為每個這樣的文件拋出錯誤。
不過,有許多文件(據我所知,名稱中都包含泰語字元)被報告為消失rsync
。此外,當我在 MacBook 上安裝 Pi 託管的驅動器時,這些文件不會顯示,並且在 Pi 的控制台上它們顯示為“?”對於權限、所有者、大小、日期等rsync
。ls
例如,也抱怨無法存取該文件。這個問題似乎更為根本。
那麼,也許這些文件只是被搞砸了?沒有。當我拿起驅動器並將其直接插入 Mac mini 時,這些檔案就可用了,我可以像平常一樣存取它們。
我認為這可能與文件名的編碼有關,但這並不能解釋為什麼這些文件對 Debian 來說完全是個謎。
文件系統似乎是有序的,我已經運行
fsck.hfsplus
並且它報告一切都很好。當我將驅動器連接到 Mac mini、共享它(smb)、將其安裝到 Pi 上時,檔案在 Pi 上也顯示正常。
我不知道接下來該怎麼做才能進一步解決這種情況。有人有想法嗎?
[Mac mini 運行 macOS 10.13.6,Pi 運行 ARMBIAN 5.46 實驗版 Debian GNU/Linux 9(stretch)4.14.52-v7+]
答案1
以下是我解決這種情況的方法:
- 在 Mac 上掛載原始 HFS+ 檔案系統
- 在 Pi 上安裝一個相同大小的空驅動器,ext4 格式
- 在 Mac 上開啟檔案共享,在 Pi 上掛載此共享
- 用於
rsync
透過網路將所有檔案從 Mac 移動到 Pi
報告消失的檔案已順利同步到 ext4 檔案系統,並且可以正常使用。問題解決了!
然而,這並不能解釋問題的根源。我進一步排除故障的唯一線索是,報告消失的每個檔案的名稱都包含泰文「sara am」字元(Unicode U+0E33)。這個角色唯一的特別之處在於它不是獨立存在的,而是總是與另一個角色結合在一起。也許 Debian 中的 HFS+ 實作會因此而窒息?雖然對我來說太技術性了,但我的問題已按照上述解決。