在 MacOS 上恢复 private/tmp

在 MacOS 上恢复 private/tmp

抱歉,我不是开发人员或代码用户,但我在其他地方找不到帮助,我希望像您这样的有经验的人可以解决这个问题。

我不知道“故事”是否重要,如果不重要的话,你可以跳过它:在我从 Time Machine 备份中恢复系统、更新到 Catalina 并迁移助手后,我发现我无法再从安装程序安装应用程序(特别是 SkyGo 应用程序……)。经过多次尝试,我得出的结论是问题出在缺少安装目录,我认为问题出在 /private/tmp 中。

事实上,如果我进入 /private 文件夹,则没有 tmp 文件夹,如果我显示隐藏文件,则有一个 tmp .alias 文件。我无法创建新的 tmp 文件夹,也无法删除 tmp .alias。

我正在使用 macOS Catalina 10.15.1。

如果我说得不清楚,我深感抱歉,我会尽力根据你的要求提供尽可能多的额外细节。

有什么办法可以解决这个问题吗?非常感谢!

答案1

修复这个问题并不容易。如果你不熟悉终端和命令行命令,我建议你找一个熟悉的人。使用 sudo 时,只要打错一个字,系统就会变得一团糟。

Catalina 中的实际 tmp 目录位于 /System/Volumes/Data/private

您可以删除该别名,然后创建一个新文件夹:

  1. 确保终端应用程序在系统偏好设置...> 安全和隐私中具有完全磁盘访问权限并选择隐私选项卡,然后从左侧列表中选择完全磁盘访问并添加终端并选中右侧旁边的框。

  2. 在终端中导航到私人目录:

    cd /系统/卷/数据/私有

  3. 删除别名文件:我不明白您的帖子中它的具体名称是什么(“.alias.tmp”?“.tmp.alias”?)所以我无法给您提供删除它的确切命令。类似这样的命令:

    sudo rm“文件名”

其中“FILENAME”是您所引用的 tmp 别名文件的实际名称。

  1. 创建一个 tmp 目录并赋予其适当的权限:

    sudo mkdir tmp

    sudo chown root:wheel tmp

    sudo chmod ugo+rwx tmp

    sudo chmod +t tmp

这样就行了。如果您在尝试执行此操作时遇到错误,则可能必须在启动到恢复模式后从终端内关闭 SIP 文件系统保护:

重新启动并按住“r”键启动到 Recovery M。菜单上有终端,因此从那里启动。

csrutil 禁用

然后重新启动恢复正常并执行上述命令。完成后,通过重新启动恢复模式重新启用 SIP(​​对安全很重要),然后在那里启动终端并执行以下命令:

csrutil 启用

相关内容