1

On my Mac (macOS Sonoma 14.5), I have created a symlink file in the root directory (/) a long time ago. I just noticed that it must have been moved from Mac to Mac by the Migration Assistant, so that it is still there, but now protected in a way that I cannot remove it any more.

I tried

  1. boot to recovery mode
  2. disable SIP (csrutil disable)
  3. boot back into macOS

Trying to remove the symlink file, this got refused because the file system is read-only. So I tried

sudo mount -uw /

which I had found somewhere on the web, but then got

mount_apfs: volume could not be mounted: Permission denied
mount: / failed with 66

In recovery mode, the symlink is not visible, so I can't do anything from there. It seems it's merged somehow into the root directory only when booting into macOS, but I don't know where it comes from then.

I'm stuck there - what else can I do to get rid of the old symlink file?


Note that there are similar questions, but they are old and their answers don't seem to work any more on a modern sealed macOS boot volume, so I decided to ask a new question.

4
  • 2
    What version of macOS? Why not do an erase install to get a clean macOS rather than migrating from a legacy standpoint? Also, SIP only prevents the running OS from modifying itself, boot to recovery and you should be fine to delete.
    – bmike
    Commented May 24 at 16:24
  • Edit the file /etc/synthetic.conf and remove the entry for the link you created, or just delete the file, then reboot.
    – Linc D.
    Commented May 24 at 17:11
  • 1
    @bmike I've update my questions with the macOS version. Wrt your other question, Apple's Migration Assistant is one of the most useful and time-saving utilities in macOS, and it has always worked without problems, so I don't see a reason to not use it and do everything manually instead. boot to recovery and you should be fine to delete – as explained in my question, the symlink isn't there in recovery mode.
    – not2savvy
    Commented May 25 at 7:48
  • @LincD. Thanks, I didn't know about /etc/synthetic.conf, and this indeed solved it. I was able to this from within the normal macOS, just had to reboot after that. Will you add that as an answer, perhaps with some background info, so I can happily accept it?
    – not2savvy
    Commented May 25 at 7:50

1 Answer 1

5

The macOS Setup Assistant automatically created a "synthetic link" to replace the one it found in the read-only root directory. The configuration is contained in the file /etc/synthetic.conf. You can either delete that file (if you have no other need for it), or edit it to remove the unwanted entry. For more details, see the man page synthetic.conf(5).

1
  • A reboot was required to actually have the symlink removed after that.
    – not2savvy
    Commented May 25 at 22:47

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .