I am replacing a Mac mini for a Raspberry Pi as a fileserver. Drives have moved over and for the most part things are working just fine. While setting up a few jobs, I noticed rsync complaining about vanishing files. Initially, I thought files with Thai characters or diacritical marks (accents, umlaut, etc. - yeah, I had to look that up!) in the name were what was causing the problem. But rsync was not throwing an error for every such file.

There are a number of files though (which do all contain Thai characters in the name as far as I can tell) that are reported as vanishing by rsync. Furthermore, those files will not show up when I mount the Pi-hosted drive on my MacBook and on the console of the Pi they show up with "?" for permissions, owner, size, date, etc. The problem is not rsync. ls, for example, is also complaining that it cannot access the file. The problem seems to be more fundamental.

  • So, perhaps the files are just screwed? Nope. When I take the drive and plug it directly into the Mac mini, those files are available and I can access them as normal.

  • I thought it might have something to do with the encoding of the file names, but that doesn't explain why the files have become complete mysteries to Debian.

  • The filesystem seems to be in order, I've run fsck.hfsplus and it reports everything is just fine.

  • When I connect the drive to the Mac mini, share it (smb), mount it on the Pi, the file appears normal on the Pi as well.

I have no idea what to do next to further troubleshoot this situation. Does anyone have any thoughts?

[Mac mini runs macOS 10.13.6, Pi runs ARMBIAN 5.46 experimental Debian GNU/Linux 9 (stretch) 4.14.52-v7+]

up vote 0 down vote accepted

Here is how I resolved the situation:

  1. Mount the original HFS+ filesystem on the Mac
  2. Mount an empty drive of equal size on the Pi, ext4 formatted
  3. Turn on File Sharing on the Mac, mount this share on the Pi
  4. Use rsync to move all the files over the network, from the Mac to the Pi

The files that got reported as being vanished, were synced to the ext4 filesystem without a problem and are usable as normal. Problem solved!


However, that does not explain what caused the problem in the first place. The only lead I have for further troubleshooting is that the name of every file that got reported as being vanished contained the Thai 'sara am' character (Unicode U+0E33). The only special thing about this character is that it does not stand on it's own, but always combined with another character. Perhaps the HFS+ implementation in Debian chokes on this? Too technical for me though, and my problem is solved as per above.

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.