无法写入 macOS 中的 /tmp 目录,无法更正权限:“操作不允许”

无法写入 macOS 中的 /tmp 目录,无法更正权限:“操作不允许”

macOS El Capitan (10.11) 无法安装任何软件更新或安装任何软件,因为/tmp/private/tmp文件夹似乎不可写入。

运行这个:

sudo /usr/libexec/repair_packages --repair --standard-pkgs --volume /

出现此错误:

unable to set owner and group on "tmp" Error 1 Operation not permitted
unable to set permissions on "tmp" Error 1 Operation not permitted

有没有办法手动删除 tmp 文件夹并重新创建它们?当我尝试重命名或删除/tmp或时,/private/tmp我总是收到操作不允许的消息。在和文件夹sudo chmod 1777上也以同样的方式失败了/tmp/private/tmp

磁盘实用程序表示磁盘状况良好,运行急救时未检测到任何问题。

有什么方法可以将tmp位置重定向到另一个可写文件夹吗?

答案1

  1. 重新启动 Mac 进入恢复模式
  2. 打开顶栏中的“实用程序”菜单 > 打开“终端”

    csrutil disable
    
  3. 重启

  4. 删除 tmp 文件夹

    sudo rm -i /tmp
    sudo rm -i /private/tmp
    
  5. 创建 tmp 文件夹

    sudo mkdir /private/tmp
    sudo chown root:wheel /private/tmp
    sudo chmod 1777 /private/tmp
    
  6. 创建符号链接

    sudo ln -s /private/tmp /tmp
    
  7. 运行repair_packages(你可能不需要这样做)

    sudo /usr/libexec/repair_packages --repair --standard-pkgs --volume /
    
  8. 重新启动回到恢复模式并运行

    csrutil enable
    
  9. 重启


感谢 Andrew Ferk 找到了解决方案;将您的评论作为社区维基答案提取出来,使其更具可读性。

答案2

sudo chmod 1777 /private/tmp

为我做了。

答案3

我通过从 Time Machine 备份恢复系统解决了这个问题。但评论中的其他建议也值得一试。

答案4

尝试/private/tmp在不运行的情况下创建和修改文件夹的权限csrutil disable。这对我来说很有效,在尝试删除失败并且启动时错误消息消失后​​。

相关内容