Issue creating /cvmfs on recent macOS

We have been operating a cvmfs repository for the Rubin Observatory since a few years now. That repo includes software for macOS and we are starting to experience issues and I would like some guidance from this community.

In recent versions of macOS, the recommended way to share files among users is to store them under /Users/Shared. Until macOS 10.15 Catalina, the cvmfs client created a symbolic link /cvmfs --> /Users/Shared/cvmfs.

It seems the the system integrity protection mechanism, included in more recent releases of macOS, prevents modifying the root file system. For instance, in macOS 12 Monterrey that symbolic link cannot even be created because / is read-only. There are some turnarounds that imply some gymnastics that are probably not to be recommended for a lambda user.

I understand that the cvmfs client has traditionally required that the repos be located specifically under /cvmfs. If that is still the case, what is the recommended way for the client to work on macOS 12 Monterrey and later? Is it possible (or foreseeable) for the cvmfs client for macOS to use /Users/Shared/cvmfs as its top directory? How are people out there handling this issue?

Thanks in avance for your input about this.

In newer versions of macOS, symlinks in the root directory need to be so-called “synthetic links”, which are configured in /etc/synthetic.conf. The cvmfs_config setup call automatically creates a synthetic link /cvmfs -> /Users/Shared/cvmfs. After running the command, another reboot is required to make the link visible.

Thanks a lot Jakob. That is correct. By configuring /etc/synthetic.conf it is possible to create the symbolic link. In our case, this is what we need to do in the machine we use to build the software that we later deploy on /cvmfs.

For other people visiting this later on, do man synthetic.conf for details.