Стандарт для этих проблем является Стандартом Файловой иерархии. Это - довольно большой документ. В основном (и очень примерно), стандартные пути на Linux:
/bin
& /sbin
для жизненных программ для ОС, sbin являющийся для администраторов только;/usr/bin
& /usr/sbin
для не жизненные программы, sbin являющийся для администраторов только;/var
для живущих данных для программ. Это могут быть данные кэша, данные шпульки, временные данные (если это не находится в /tmp
, который вытерт в каждой перезагрузке), и т.д.;/usr/local
для локально установленных программ. Как правило, это размещает программы, которые следуют стандартам, но не были упакованы для ОС, а скорее установлены вручную администратором (использующий, например, ./configure && make && make install
) а также сценарии администратора;/opt
для программ, которые не упаковываются и не следуют стандартам. Вы только что поместили все библиотеки там вместе с программой. Это часто - быстрое и грязное решение, но это может также использоваться для программ, которые сделаны собой и для которого Вы хотите иметь определенный путь. Можно сделать собственный путь (например. /opt/yourcompany
) в нем, и в этом случае Вы поощряетесь зарегистрировать его как часть стандартных путей;/etc
не должен содержать программы, а скорее конфигурации.Если Ваши программы характерны для услуг, предоставленных сервисом, /srv
может также быть хорошее местоположение для них. Например, я предпочитаю использовать /srv/www
для веб-сайтов, а не /var/www
для проверки каталог будет только содержать данные, которые я добавил сам и ничто, что прибывает из пакетов программного обеспечения.
Существуют некоторые различия между дистрибутивами. Например, системное использование Redhat libexec
каталоги, когда системы Debian/Ubuntu не делают.
FHS главным образом используется дистрибутивами Linux (я на самом деле не знаю никакую другую ОС, которая действительно соответствует ему). Другие системы Unix не следуют за ним. Например, системы BSD имеют тенденцию использовать /usr/local
для упакованных программ, который не имеет место для Linux. Солярис имеет совсем другие стандартные пути.
Я сильно поощряю Вас читать документ FHS, который я связал выше, если Вы хотите знать больше об этом.
opt
обозначает дополнительное программное обеспечение. var
обозначает переменные системные файлы. Поэтому Ваши приложения должны перейти в /opt
.
Это зависит от того, каков Ваш локальный стандарт.
Лично, я ничего не устанавливаю в / var без серьезного основания. Мой/usr/local является почти всегда nfs, монтируются от сети, таким образом, что-либо, что не упаковывается, установлено в/, выбирают.
/usr
. Динамично сгенерированный освобождает, мог бы закончиться в /var/lib
иногда, но я don' t видят то, что Вы были бы на самом деле установка в /var
с администраторской точки зрения. Программа могла бы использовать его экстенсивно, но это должно быть довольно пусто перед запуском его программа.
– ℝaphink
22 December 2009 в 11:04