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...
1 Answer
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.
-
1Well, 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. :-/– JordanCommented Oct 8, 2019 at 2:40
-
6
-
@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. Commented Oct 9, 2019 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.– JayBCommented Mar 23, 2021 at 23:36
man synthetic.conf