如何在 Mac 上将文件复制到 /usr/share?

如何在 Mac 上将文件复制到 /usr/share?

我尝试将一些文件复制到 /usr/share 文件夹,但终端说该操作不允许,即使我使用 sudo 执行。
sudo cp ~/Downloads/kellys.vim /usr/share/vim/vim73/colors/
结果
cp: /usr/share/vim/vim73/colors/kellys.vim: Operation not permitted
当我尝试更改此文件夹的权限时,它出现了同样的问题。我在 Mac 上运行 EI Capitan。我在谷歌上搜索了很长时间,但仍然感到困惑。我该如何解决这个问题?

答案1

看起来您遇到的问题与安装 Vim colorschemes 更相关。

这些可以安装在~/.vim/colors/

mkdir -p ~/.vim/colors
cp ~/Downloads/kellys.vim ~/.vim/colors/

然后将其设置为

:colorscheme kellys

更新
如果您确实想要您的文件/usr,那么该文件夹的权限将被锁定,并且如果不禁用系统完整性保护(SIP),您将无法编辑它。

但是,您可以修改的文件夹是/usr/local/share

所以你可以这样做

cp ~/Downloads/kellys.vim /usr/local/share/vim/vim73/colors/

答案2

您需要禁用系统完整性保护。

  1. 重新启动并在启动时使用 Command ⌘-R
  2. 打开终端并执行命令:csrutil disable
  3. 正常重启
  4. 现在你可以在 /usr 目录树中写入
  5. (可选)再次重启,在启动时使用命令 ⌘-R 并再次执行csrutil enable

答案3

虽然关于 SIP 的其他答案是正确的,但了解 Apple 为什么在 10.11 及更高版本中实现了此安全功能非常重要。

它旨在防止篡改关键系统进程和(从您看到的情况来看)驱动器上的某些文件/位置。rootless.conf 文件定义文件系统上受保护的内容/位置。这也意味着不再需要“修复磁盘权限”功能。如需更深入地了解 SIP 的作用,请请参阅 Ask Different 上的这篇文章

一般来说,永久禁用 SIP 不是一个好主意。更好的方法是在恢复模式下禁用它,进行更改,然后重新启用它。(仅供参考,重置 PRAM 将重新启用 SIP。)

相关内容