在 Debian 上掛載 HFS+ 檔案系統時無法辨識的文件

在 Debian 上掛載 HFS+ 檔案系統時無法辨識的文件

我正在用 Raspberry Pi 替換 Mac mini 作為檔案伺服器。驅動器已經移動,大部分情況都正常工作。在設定一些工作時,我注意到rsync有人抱怨文件消失。最初,我認為名稱中帶有泰語字符或變音符號(重音、元音變音等 - 是的,我必須查找一下!)的文件是導致問題的原因。但rsync並沒有為每個這樣的文件拋出錯誤。

不過,有許多文件(據我所知,名稱中都包含泰語字元)被報告為消失rsync。此外,當我在 MacBook 上安裝 Pi 託管的驅動器時,這些文件不會顯示,並且在 Pi 的控制台上它們顯示為“?”對於權限、所有者、大小、日期等rsyncls例如,也抱怨無法存取該文件。這個問題似乎更為根本。

  • 那麼,也許這些文件只是被搞砸了?沒有。當我拿起驅動器並將其直接插入 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

以下是我解決這種情況的方法:

  1. 在 Mac 上掛載原始 HFS+ 檔案系統
  2. 在 Pi 上安裝一個相同大小的空驅動器,ext4 格式
  3. 在 Mac 上開啟檔案共享,在 Pi 上掛載此共享
  4. 用於rsync透過網路將所有檔案從 Mac 移動到 Pi

報告消失的檔案已順利同步到 ext4 檔案系統,並且可以正常使用。問題解決了!


然而,這並不能解釋問題的根源。我進一步排除故障的唯一線索是,報告消失的每個檔案的名稱都包含泰文「sara am」字元(Unicode U+0E33)。這個角色唯一的特別之處在於它不是獨立存在的,而是總是與另一個角色結合在一起。也許 Debian 中的 HFS+ 實作會因此而窒息?雖然對我來說太技術性了,但我的問題已按照上述解決。

相關內容