Вопрос: Могу ли я разместить свой сценарий в / usr / bin?


Я написал небольшой скрипт bash для запуска, остановки и перезапуска приложений Java, и я хочу сделать его доступным для всех пользователей, чтобы они могли его запускать. Должен ли я просто поместить его в /usr/bin сделать это? Это подходящее место для моих скриптов? Разве это не так, как установленный скрипт пакета и прочее?


5
2017-07-06 23:44


Источник




Ответы:


Верный, [/usr]/[s]bin предназначен для использования разработчиком дистрибутива. Локальные пользовательские скрипты принадлежат /usr/local, в частности /usr/local/bin в этом случае.

Стандарт иерархии файловой системы


10
2017-07-06 23:46





Я бы рекомендовал положить его в /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). Этот подход также совместим с «Стандарт иерархии файловой системы»,


1
2017-07-07 01:06





Конечно, нет ничего, что помешало бы вам разместить сценарий в / usr / bin, предоставив ему разрешения на выполнение во всем мире (что-то вроде chmod 755) и позволяет пользователям запускать его. Если вы хотите соответствовать «Путь UNIX», есть более подходящие места. Я уверен, что я начну читать комментарии о том, почему это неправильно, но я бы научился хранить его в /usr/local/bin/ вместо. /usr/local как правило, для программного обеспечения, не управляемого напрямую дистрибутивом, например сторонних приложений или скриптов.


0
2017-07-06 23:47



На самом деле, /usr/local для второстепенных вещей. Сторонний материал попадает под /opt, - Ignacio Vazquez-Abrams