我在用着 自制 对于我的端口需求,似乎比Macports有点“清洁”)。

我可以安装而没有 sudo(这很棒),但是链接步骤似乎需要它(/usr/local/share/man/man3root).
一个 指导 我发现建议我递归 chown /usr/local 通过做

sudo chown -R `whoami` /usr/local

这是安全的……还是一个坏主意™?

另外:我的权限正确吗?

$ pwd
/usr/local/share/man
$ ls -lah
total 32
drwxrwxr-x    8 root  staff   272B  4 Set 11:02 .
drwxrwxr-x    9 root  staff   306B 10 Set 11:27 ..
drwxr-xr-x    3 root  wheel   102B  4 Ago  2009 de
drwxrwxr-x  163 root  staff   5,4K 10 Set 11:27 man1
drwxr-xr-x   11 root  wheel   374B 10 Set 11:27 man3
drwxr-xr-x    7 ago   staff   238B 10 Set 11:39 man5
drwxr-xr-x   11 ago   staff   374B 10 Set 11:39 man7
-rw-r--r--    1 root  staff    13K  4 Set 11:02 whatis
有帮助吗?

解决方案

通常最好保持权限尽可能严格。保持 /usr/localroot 意味着仅处理运行 root/sudo (或通过Apple授权对话框询问管理用户)可以写入此区域。因此,一个过程下载必须在损坏那里的文件之前要求您提供密码。

但是,正如您所说,这使添加新程序更加困难。

我可以跑步 sudo, ,由于您安装内容的频率少于运行它们,但您必须相信构建过程不会改变任何内容。

如果您想避免使用Sudo,我会安装自制 ~/usr/local 并更改您的道路,人口等,以包括那里的目录。

更好的方法是创建另一个用户 - 例如, homebrew 并创建该用户拥有的目录。然后,使用 sudo -U homebrew. 。其他用户将无法覆盖任何其他文件,因为他们没有运行 root 其他程序不会影响自制。 (我注意到 自制常见问题解答 如果您在“多用户环境”中,则建议这个新用户。我会说任何包括MACOS在内的UNIX机器都是多用户环境)

但是,正如自制Wiki所说的那样,食谱找不到所有案例 /usr/local 并用我怀疑我们被困的选定目录代替它们 /usr/local.

其他提示

我也使用自制的,可以确认它是完全安全的。引用 安装 官方页面 自制常见问题解答:

帮自己一个忙,选择 /usr/local

  1. 这很容易
    /usr/local/bin 已经在你的 PATH.

  2. 这很容易
    如果其依赖关系不在 /usr或 /usr /local中,则构建脚本会破坏。我们为自制公式进行了修复(尽管我们并不总是测试它),但是您会发现许多RubyGems和Python设置脚本中断,这是我们控制之外的东西。

  3. 它是安全的
    苹果公司符合Posix,并将这个目录留给了我们。这意味着没有 /usr/local 默认情况下目录,因此无需担心弄乱现有工具。

如果您打算安装取决于啤酒的宝石,请节省一堆麻烦,然后安装到 /usr/local!

告诉宝石在非标准目录中查找标题和迪利布斯并不是微不足道的。如果您选择 /usr/local, ,一切都“工作!”

我只要添加 做事作为根是一个非常糟糕的主意, , 所以 chowning /usr/local 对我来说似乎不仅合理(这不是OSX上的系统),而且还 理智.

您的权限尚不正确(尚未正确)。只需运行您列出的命令,就可以了。

如果您还有其他问题,请记住 brew doctor 能帮你!

如果您使用的是自制的,则应将写入权限给特定组(要么 admin 或者 staff),因此可以在该组中的用户之间共享文件。

例如:

sudo chgrp -R admin /usr/local /Library/Caches/Homebrew
sudo chmod -R g+w /usr/local /Library/Caches/Homebrew

然后分配应该访问的用户 brew 命令该组(通过以下方式检查您的组: id -Gn).

然后在与 brew, ,不要与 sudo.

仍然有一些权限问题,运行 brew doctor 解决问题。

物有所值, /usr/local OS X不被视为“系统”文件夹,并且在全新的Snow Leopard安装上,该文件夹是空的。

该文件夹中的任何根所有内容都是 sudo make install 在其他软件上,或在双击之后给您密码 .pkg 想把东西倒入 /usr/local.

拥有 /usr/local 已经在两台机器上“为我工作”了一年多。

一个人是,如果您已经安装了MySQL(不使用Homebrew)并Chown文件,那么它可能将无法再看到其数据库(因此您必须将它们恢复到任何用户MySQL作为运行中的任何用户)

如自制1.0.0:

无家可归者不再需要拥有 /usr /local的所有权。如果您希望您可以返回 /usr /local返回其默认所有权,则使用:sudo chown root:wheel /usr /local

我认为用户可以拥有 写许可/usr/local - 毕竟,这意味着您不使用 sudo 在每个构建脚本上。我不喜欢普通用户的想法 拥有 /usr/local. 。我宁愿拥有根(或类似) /usr/local, ,但是更改权限,以便用户(或至少某些特权组)可以写信给它。这似乎是概念上正确的方法。

许可以下: CC-BY-SA归因
不隶属于 apple.stackexchange
scroll top