Расположение пользовательского скрипта linux (debian etch) [закрыто]
Вопрос
Где в файловой системе Linux должны размещаться пользовательские скрипты?
Я имею в виду конкретно скрипты python, которые будут вызываться cron.
Решение
информация, которую я получил:
/usr/local/sbin custom script meant for root
/usr/local/bin custom script meant for all users including non-root
фрагменты журнала чата из irc.debian.org #debian:
(02:48:49) c33s: question: where is the _correct_ location, to put custom scripts
for the root user (like a script on a webserver for createing everything needed
for a new webuser)? is it /bin, /usr/local/bin,...? /usr/local/scripts is
mentioned in (*link to this page*)
(02:49:15) Hydroxide: c33s: typically /usr/local/sbin
(02:49:27) Hydroxide: c33s: no idea what /usr/local/scripts would be
(02:49:32) Hydroxide: it's nonstandard
(02:49:53) Hydroxide: if it's a custom script meant for all users including
non-root, then /usr/local/bin
(02:52:43) Hydroxide: c33s: Debian follows the Filesystem Hierarchy Standard,
with a very small number of exceptions, which is online in several formats at
http://www.pathname.com/fhs/ (also linked from http://www.debian.org/devel/ and
separately online at http://www.debian.org/doc/packaging-manuals/fhs/fhs-2.3.html)
(02:53:03) Hydroxide: c33s: if you have the debian-policy package installed, it's
also in several formats at /usr/share/doc/debian-policy/fhs/ on your system
(02:53:37) Hydroxide: c33s: most linux distributions follow that standard, though
usually less strictly and with more deviations than Debian.
огромное спасибо Гидроксиду
Другие советы
Если вы говорите о скриптах, созданных пользователем, которые будут запускаться с этой crontab пользователей, я обычно помещаю их либо в папку bin, либо в папку scripts в домашнем каталоге, или, если они предназначены для совместного использования между пользователями, в каталог /usr/local/ scripts.
Для тех, кого это интересует, Стандарт иерархии файловой системы (FHS) это документ по стандартам, и его по-прежнему очень хорошо читать.I описывает основу практически для любого дистрибутива Linux и официально одобрен, напримерАвтор: Debian и база стандартов Linux (LSB).
Однако с тех пор вы не найдете никакого положительного ответа на этот вопрос...это не определено ;-).Единственное, что я могу сказать:Не вводите в /bin (ни в /usr/bin)./usr/local/scripts также необычен.$HOME/bin кажется приемлемым местом, если скрипт используется только этим единственным пользователем.
Я твердо верю, что если файл создан пользователем, он попадает в каталог его пользователя (/home/username), если он его не создавал, тогда все становится сложнее.В прошлом я просто помещал их в /usr/local/bin, /bin или /usr/local/scripts, я не уверен насчет etch, но вам нужно проверить, чтобы убедиться, что /usr/local/scripts действительно находится в Cron $PATH .
Тот Самый Руководство по Debian может быть весьма полезным, когда дело доходит до Ubuntu:
Обычно программы устанавливаются сами в подкаталоги /usr/local.Но пакеты Debian не должны использовать этот каталог, поскольку он зарезервирован для личного использования системным администратором (или пользователем)
/usr/local/bin
кажется, это приемлемо в соответствии с руководством.
Лично я вкладываю свои сценарии в $HOME/.scripts
.
Однако я хотел бы, чтобы LSB конкретно рассмотрел этот вопрос.
Как насчет /home/имени пользователя/bin?
Добавьте ~/bin в $PATH и сделайте скрипт исполняемым с именем файла chmod +x.
лично я предпочитаю
/home/username/.bin
Таким образом, папка bin скрыта, но вы все равно можете добавить ее в PATH и выполнить все скрипты с x-битом внутри.
Мне нравится, чтобы мой домашний каталог был чистым (на первый взгляд) с очень небольшим количеством папок.
Вы также можете добавить пути к своему файлу crontab, как показано на рисунке предыдущий вопрос, связанный с cron.