Я предпочитаю использовать sudo
, поэтому я уверен, что программы, работающие с обычными привилегиями, не могут связываться с общесистемными файлами. Я также обычно работаю как пользователь без прав администратора по той же причине. Это означает, что я защищен от повреждения системы даже случайно, но когда я решаю установить что-то на /usr/local
, мне нужно использовать sudo
, поэтому я делаю это только тогда, когда я уверен, что это не приведет к беспорядку , Для вещей, в которых я не уверен, или которые я просто хочу попробовать и т. Д., Я устанавливаю префикс в моем доме.
У других людей менталитет более однопользовательский, и они отбирают себе /usr/local
. Они в порядке с риском испортить его содержимое при обычном использовании: например, если они попытаются установить что-то к префиксу у себя дома, но конфигурация не работает, она может установить некоторые части в /usr/local
без особого как предупреждение. OTOH, когда они устанавливаются на /usr/local
, они уверены, что они не повлияют на остальную часть системы, только на /usr/local
и их собственный дом.
Но тогда /usr/local
является просто расширением их домашнего каталога, поскольку он имеет такое же право собственности и те же привилегии. Они могут также установить на ~/usr/
и добавить ~/usr/bin
к своему PATH, что я и делаю, когда хочу установить что-то для себя.
Вероятно, наилучшим способом было бы chgrp /usr/local
для какой-то специальной группы и sudo
для специального пользователя в этой группе, который может писать в этот каталог, но не делать другие случайные вещи sudo. Может быть, когда-нибудь я смогу настроить его таким образом. А пока я предпочитаю использовать sudo
, когда я хочу установить на /usr/local
. Преимущество использования менеджера пакетов, такого как homebrew, заключается в том, что формулы были проверены, чтобы гарантировать их правильную установку, и их можно легко удалить.