Apple - How to move a folder containing aliases to another machine without breaking the aliases?

Aliases are not the same as symlinks.

Symlinks just point to a path (relative or absolute). Aliases first track the file's unique ID and then the path.

Since there are two pieces of information stored in an alias - they are more robust and will follow a file that's moved based on the unique ID. The downside is that the unique ID is based on the file system so copying the file elsewhere mints a new ID so the alias doesn’t map to the new location by design and implementation (currently at least).

Finder (or the very powerful ditto) are your best bets for moving aliases intact. Worst case you could use disk utility to make an image of a folder that contains everything needed as a subfolder and then move that to preserve the relative locations of the files and isolate the effects of a short name change (/Users/whatever) in case you wish to change that. Once the original mac is disconnected from the new mac - the aliases will reconnect as desired to location of the files on the new mac.


I believe aliases will be handled correctly if copied through the finder, even to external media. If you are doing it through rsync you will probably have issues.

References:

  • Forum Posting
  • Script to possibly convert Aliases to Symlinks