7

I'm running the macOS beta for Catalina (10.15) and I'm trying to find out how to create a firm link. (Not a hard link, soft link, alias or anything like that.) The WWDC keynote mentions a new feature referred to as firm links but I can't seem to find out how to do it...

der_michael
  • 128
  • 1
  • 15

1 Answers1

0

The answer is: you cannot [at least not yet on Betas]

From Apple's official Q/A

Question: Can firmlinks be created by endusers, or are they reserved to the system? If they can be created by the enduser, what commands are used to create them?

Answer: No, firmlinks can't be created by endusers. This is reserved currently to the system. There will be synthetic firmlinks coming, which can be used as mount points for network resources.

Question: If firmlinks can be created by endusers, is there any advantage to using firmlinks over using Unix symlinks?

Answer: Firmlinks can't be created by endusers. Symlinks will be more flexible because they are path-based and able to point to that path regardless of volume ID changes. Firmlinks will be referring to a particular volume.

reference: https://forums.developer.apple.com/thread/117521

Prado
  • 147
  • 4
  • 1
    Well, now that Catalina is out it would be /great/ if they explained how to do synthetic firmlinks since otherwise you can't have folders on the root of the drive. :-/ – Jordan Oct 08 '19 at 02:40
  • 6
    @Jordan Try `man synthetic.conf` – steshaw Oct 09 '19 at 04:59
  • @steshaw Thanks, you save my life. @Jordan for example `echo -e "data\t/Volumes/HDD" | sudo tee -a /etc/synthetic.conf` note that each line **should be separated by a tab** character, space can not work. – Elf Sundae Oct 09 '19 at 17:33
  • There's a problem with synthetic.conf, though: it only really works properly with links to directories in pre-existing (i.e. default macOS) paths. So if you want to firmlink e.g. `/home` & `/Users`, or `/mnt` & `/private/mnt`, it's OK, because both `/Users` & `/private` pre-exist. However, if you link `/home` & `/System/Volumes/Data/home`, then it's a new directory you need to create, and then macOS' FSEvents will broadcast a false path for file events in that directory, namely `/home` instead of `/System/Volumes/Data/home`, which can lead to serious problems. It seems Apple messed up here. – JayB Mar 23 '21 at 23:36