Я написал небольшой сценарий bash для запуска, остановки и перезапуска моих приложений Java, и я хочу сделать его доступным для всех пользователей, чтобы они могли его запустить. Должен ли я просто поместить это в /usr/bin
сделать это? Это подходящее место для моих скриптов? Разве это не только для сценария установленного пакета и прочего?
Верный, [/usr]/[s]bin
предназначен для использования создателем дистрибутива. Скрипты локального пользователя принадлежат /usr/local
в частности /usr/local/bin
в таком случае.
Я бы рекомендовал вставить это /opt
. Вы можете создать каталог с именем вашего приложения под /opt
а потом bin
каталог под ним, поэтому ваш путь будет выглядеть так:
/opt/<your_app_name>/bin
Затем вы создаете два сценария в /etc/profile.d
- <your_app_name>.sh
и <your_app_name>.csh
и в этих сценариях вы добавляете указанный выше путь к глобальному $PATH
переменная, чтобы сделать исполняемые файлы вашего приложения доступными для всех пользователей. Вот и все.
Я думаю, что этот подход чище, чем вставлять /usr/local/bin
поскольку все ваши изменения в системе локализованы в одном каталоге (за исключением двух скриптов в /etc/profile.d
), ваше приложение легко удалить вручную, и ваши файлы не смешиваются с файлами других приложений (что может быть в случае /usr/local
). Этот подход также совместим с "Стандарт иерархии файловой системы".
Конечно, ничто не мешает вам разместить скрипт в / usr / bin, дав ему права на выполнение во всем мире (что-то вроде chmod 755
) и позволяя пользователям запускать его. Если вы хотите соответствовать «пути UNIX», есть более подходящие места. Я уверен, что начну серию комментариев о том, почему это неправильно, но я бы научился хранить это в /usr/local/bin/
вместо. В /usr/local
Каталог обычно предназначен для программного обеспечения, не управляемого напрямую дистрибутивом, такого как сторонние приложения или сценарии.