Mac OS X: стандартные места, где двоичные файлы должны жить

Я загрузил приложение, которое является приложением командной строки, и хотят поместить его где-нибудь, куда я могу выполнить его от командной строки, не имея необходимость вводить путь явно.

  1. Что стандартные пути используются для чего-то вроде этого? /usr/bin? Есть ли различные варианты, тот, если я хочу его для всех пользователей и того, если я хочу его для просто конкретного пользователя, как моя учетная запись администратора?

  2. Или я должен поместить его в его собственный каталог под Каталогом приложений и добавить его к пути? Если так, которым управляет файл, где путь установлен?

63
задан 14.11.2015, 06:00

3 ответа

Базовый ответ: Вы, вероятно, хотите /usr/local/bin. В зависимости от того, насколько недавний Ваш macOS, Вы, возможно, должны обновить свое значение по умолчанию $PATH. Посмотрите ниже для получения дальнейшей информации.

ОБНОВИТЕ 01.12.2018 В какой-то момент, так как я записал свой исходный ответ, Apple изменила свое значение по умолчанию $PATH. В результате многое из того, что я говорю ниже, не важно недавним Mac. Если Вы вводите echo $PATH в терминале, и /usr/local/bin является первым, затем можно проигнорировать все ниже об изменении Вашего $PATH.

Исходный ответ

Mac необычны в этом отношении. Значение по умолчанию $PATH переменная для обычного пользователя похожа на это:

/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

Путем помещения /usr/local/bin после /usr/bin и /bin, Mac переворачивает вверх ногами обычную систему. Обычно, можно поместить что-то в /usr/local/bin (скажите второй интерпретатор Perl, скомпилированный некоторым нестандартным способом), и затем обычный пользователь поразит пользовательский, а не в масштабе всей системы сначала. Это хорошо. Пользователи могут получить варианты, но система остается чистой. Учитывая значение по умолчанию Apple $PATH, однако, объекты в /usr/bin или /bin будет найден перед чем-либо в /usr/local/bin. (Это в основном побеждает цель установить, например, пользовательский Perl в /usr/local/bin.)

Для фиксации этого можно изменить обычного пользователя $PATH путем редактирования .profile файл в корневом каталоге пользователя. (Что файл не может существовать, если у Вас есть совершенно новая установка. В этом случае создайте его.)

Полусвязанный: Домашнее пиво обеспечивает превосходное управление пакетом для Mac. По умолчанию Домашнее пиво устанавливает программное обеспечение в /usr/local, но это делает настолько способом, который делает очень легким удалить вещи и возвратиться к ванильному состоянию позже.

53
ответ дан 07.12.2019, 08:16

/usr/local/bin и /usr/local/sbin определенно стоят добавить к Вашему пути, поскольку много make-файлов для исходных сборок принято значение по умолчанию для установки там.

При использовании MacPorts это стоит добавить /opt/local/bin и /opt/local/sbin также.

Лучший способ сделать это должно добавить

export PATH=/usr/local/bin:/usr/local/sbin:/opt/local/bin:/opt/local/sbin:$PATH

к .bashrc файл в Вашем корневом каталоге (который скрыт, таким образом, CLI является лучшим способом к сделать это), или, если Вы хотите изменить путь в масштабе всей системы, добавляет ту же строку к /etc/bashrc (не скрытый), но Вы должны будете sudo сделать это.

Если у Вас нет a .bashrc в доме любого пользователя можно сделать один и добавить эту строку к нему, но не забыть изменять полномочия на файле, который Вы создаете для создания этого читаемым рассматриваемым пользователем (очевидно, не релевантный при выполнении его для собственного профиля).

$PATH в конце добавляет путь системного значения по умолчанию к тому, что Вы помещаете прежде. Обратите внимание, что система ищет двоичные файлы в порядке данных путей, поэтому при установке двоичного файла в /usr/local или /opt/local это также установлено по умолчанию в системе, версии, которые Вы устанавливаете, будут найдены первыми, который может (хотя редко), нарушал вещи. Это стоит не упустить.

Хорошая информация здесь.

Я должен отметить, что вышеупомянутое предполагает использование Bash для оболочки которая является значением по умолчанию на   Mac OS X v10.4 (Тигр) и   Mac OS X v10.5 (Leopard), но не в более ранних системах, которые использовали tcsh вместо этого, который имеет другой синтаксис.

Я надеюсь, что это помогает...

9
ответ дан 07.12.2019, 08:16

Я склонен идти с /usr/local. Вот хорошее объяснение, почему, который обращается к Стандарту иерархии файловой системы (FHS). ⁢⁢⁢⁢⁢⁢⁢⁢⁢⁢⁢⁢⁢⁢⁢⁢⁢⁢⁢⁢⁢⁢⁢⁢⁢⁢⁢⁢⁢⁢⁢, который в свою очередь говорит о /usr/local:

Третичная иерархия для локальных данных, характерных для этого хоста. Обычно имеет дальнейшие подкаталоги, например, мусорное ведро, lib, доля. ⁢

7
ответ дан 07.12.2019, 08:16

Теги

Похожие вопросы