标题泄露了它,我想。
这是交易:
MacOS 将我的/data/db 文件夹(我需要完成大量工作的 MongoDB 使用)切换到只读文件系统。基本上是一夜之间发生的。
运行ls -lO /data
返回以下内容:
drwxr-xr-x 182 root admin - 5824 Jul 11 17:33 db
尝试运行sudo chmod -R 777 $USER /data
返回以下内容:
chmod: Unable to change file mode on /data/db/index-32-577782821146278306.wt: Read-only file system
总共有很多条目。
我认为这是导致此问题的 SIP。我尝试通过运行在恢复模式下禁用它csrutil disable
。那确实禁用了它,但仍然没有让我更改我的权限。
我完全不知道会发生什么。也许我的帐户坏了?
我发现了这种胡说八道的原因。是苹果。
基本上,这里发生的是新版本的 MacOS,即 Catalina,现在将系统根文件夹设置为只读。因此,无论出于何种原因需要使用根文件夹的任何软件都被搞砸了。
我的解决方案是执行以下操作:
Cmd + R + Boot
csrutil disable
sudo mount -uw /
这将为您提供当前会话的根访问权限。它将在下次启动时重置。虽然现在您可以在根文件夹中做很多事情,比如将您的东西移到其他地方。
所以我所做的是将整个
/data
文件夹移动到/System/Volumes/Data
使用此命令:sudo mv /data /System/Volumes/Data
显然,这是放置所有数据的首选位置。根据根文件夹的新工作方式,您可以拥有这些文件夹的链接,这样它们就好像它们是根文件夹的一部分一样。显然,这对我不起作用。但是,我仍然能够运行
mongod
并设置dbpath
如下:sudo mongod --dbpath /System/Volumes/Data/data/db
希望这可以帮助遇到 Apple 做出的这个愚蠢决定的任何人。整个 Catalina 更新是一团糟。