On Thursday, March 4, 2021 at 4:28:08 PM UTC+1 er...@seriss.com wrote:
On 3/4/21 2:10 AM, Manolo wrote:
A: Fink. Although it doesn't work yet with macOS 11, so I may
have to change.
It's installed in /opt/sw
I'm guessing Fink and other tools that use /opt will get what
they want using
/etc/synthetic.conf, which is apple's workaround to making /
read-only.
I'm not aware of this /etc/synthetic.conf file and its function.
There's no such file here neither in my Intel nor my M1 macOS machines (macOS 11.2.2)
I'm guessing they'll use the 'special link' approach, and put
their actual data
in either /usr/local/opt or /System/Volumes/Data/opt (again,
just a guess!).
I would hope they choose the former, as the latter is something
Apple could
change in future releases (as they often do with stuff they
just make up).
There's no /usr/local/opt nor /System/Volumes/Data/opt here either.
/etc/synthetic.conf tells the OS on boot to create empty dirs
and/or special kinds of
symbolic links to another place. This is apparently is Apple's
workaround to making
root completely unwriteable. With this approach, apparently
Apple can supervise
(and deny) what can be done in the root dir.
My understanding, which must be partial, is different. macOS now uses 2 "intertwined
filesystems" (my wording for this concept), one holding the system and one for user files.
That for the system is readonly.
It's readonly in a strong sense: even root cannot write to it or mount it rw.
It used to be possible to bypass that:
mount the system disk on another, earlier, macOS machines and you can write to /
then reboot and you had your /xxx folder. I did that for /sw to get my fink.
But then fink was improved to use /opt/sw and /opt is not in the system filesystem
but in the user filesystem. So root can write to it.
That those filesystems are interwined is visible with /opt which is a top-level directory
but in the writable part. It's also visible when you install an app, say Firefox, in /Applications:
there you have some files of /Applications in the readonly filesystem, and others in the writable filesystem.
I have once found in the web the name of the file that lists those directories which are writable
and don't remember that info. But it's mostly useless because that file is unchangeable.
With macOS 11, it's much worse: the system part of the file system is cryptographically signed,
so it's impossible to change anything in it, unless you recreate the signature, with obscure
and not well documented means.
My understanding is also that Apple intends to leave /opt a part of the filesystem that users
are free to colonize. That's visible with XQuartz, Macports, Fink that are all put there.
But this may of course change at some future time.