Я собираюсь установить "leiningen", который является bash-скриптом для языка программирования clojure с большой полезностью ... ... но я не уверен, где уместно -put- исполняемый скрипт в linux система, так что она постоянно и стабильно доступна.
Я не думаю, что где-либо в / home имеет смысл, но я не знаю, какие каталоги / каталоги должны использоваться для этого.
/ USR / доли?
Ответы:
(Примечание:
~
переводится как/home/user
в этом посте)Лично я вставил все свои индивидуальные системные скрипты
/usr/local/bin
и все мои личные скрипты bash~/bin
. Очень немногие программы, которые я устанавливаю, помещают себя в/usr/local/bin
каталог, так что это не очень загромождено, и это было уже в$PATH
переменной на большинстве моих машин.Чтобы добавить
/usr/local/bin
в системный путь (если его там еще нет), добавьте это в/etc/profile
:Чтобы добавить
~/bin
к пути вашего пользователя, добавьте это в~/.bash_profile
:Иногда
.bash_profile
файл по умолчанию будет содержать оператор if, который автоматически добавляет~/bin
к нему,$PATH
если он существует, поэтому создайте~/bin
и откройте новый терминал, чтобы увидеть, делает ли это уже ваш.источник
export
переменной несколько раз (и, возможно, ваша система уже помеченаPATH
для экспорта, так что вам вообще не придется делать это самостоятельно)./ usr / local / действительно правильное место, тогда как / opt действительно для сторонних приложений; «/ opt зарезервирован для установки дополнительных программных пакетов приложений.» Это часть стандарта иерархии файловой системы.
См. Http://www.pathname.com/fhs/pub/fhs-2.3.html для обсуждения / opt.
Для / usr / local / это «для использования системным администратором». Просто не забывайте о том, что там есть - документируйте это.
источник
/usr/local
как следует из названия, он предназначен для локального администратора и/opt
для вещей, которые официально не распространяются, таких как коммерческое стороннее программное обеспечение, которое управляется аналогичным процессом (может быть заменено или стерто при обновлении с upstream), но не управляемый менеджером пакетов дистрибутива, или, возможно, фактически распространяемый как RPM или.deb
пакеты, но не организованный и не упакованный в соответствии со всеми политиками и соглашениями дистрибутива./usr/local
позже.Исторически вы использовали что-то вроде / opt. Все хорошо, пока оно обновляется в $ PATH для пользователей, которые должны его иметь (следовательно, что-либо в / home - плохая идея).
источник
/usr/share/clojure
Кажется, что это обычное место для размещения двоичных файлов и библиотек clojure - почему я не знаю, это кажется естественным для/usr/local/share/clojure
- поэтому созданиеsite
подкаталога для этих сценариев bash кажется вполне подходящим.Суть в том, что имеет смысл организовывать сценарии по функциям, а не располагать все сценарии bash в одном месте.
источник
/usr/share
. Прежде всегоshare
означает файлы, не зависящие от архитектуры (то есть разделяемые между архитектурами). По этой причине библиотеки и исполняемые файлы не принадлежатshare
каталогу. Во-вторых, за исключением/usr/local
того, что менеджер дистрибутива не должен писать/usr
./usr/local
Я считаю, что есть некоторое замешательство в значении «местный».Насколько я понимаю, «локальный» не означает «происходящий на / с локальной машины», а, проще, «специфичный для локальной машины», который может или не может происходить на / с локальной машины.
источник