在 macOS 根目录创建文件夹

可能有一些无法更改源码的老项目或智障项目会使用根目录来搞事情,但现在默认已经不支持对根目录进行修改了。

关闭 SIP 的方法

不确定 11 和 12 是否需要关闭 SIP,因为我在使用 XtraFinder 所以一直是关着的。

  1. 重启并按住 Cmd + R 进入恢复模式
  2. 单栏 - 实用工具 - 终端
  3. 入命令 csrutil disable
  4. 重启

macOS 10.15 Catalina

在恢复模式关闭 SIP 后接着执行:

$ sudo mount -uw /

重启后就可以在根目录创建文件夹了。

macOS 11 Big Sur 和 macOS 12 Monterey

直接对根目录进行软链接会报错:

$ ln -s /Users/dvel/foo/bar /bar
ln: /bar: Read-only file system

现在根目录是只读的,但可以使用 synthetic.conf 文件来创建一个虚拟链接连接到数据盘,类似 ln -s 的软链接。


假设要在根目录创建 abc 文件夹。 编辑 synthetic.conf

$ sudo vim /etc/synthetic.conf

输入内容(中间是 Tab,不是空格,切勿敲错):

abc    /Users/dvel/abc

第一个是要创建的文件夹名,第二个是要链接到的现有路径。 保存后重启即可。 示例,创建后的文件夹:

image.png

Tab 写成空格的解决办法

如果写成了空格,会导致频繁重启,无法进入系统。 进入恢复模式,打开终端输入命令来挂载磁盘后删除 /etc/synthetic.conf文件:

$ diskutil apfs unlock "Macintosh HD - Data"
$ cd /Volumes/"Macintosh HD - Data"
$ cd private/etc
$ rm synthetic.conf

重启即可。