Стандарт для этих проблем - Стандарт Файловой Иерархии . Это довольно большой документ. В основном (и очень грубо), стандартные пути в 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, на который я ссылался выше, если вы хотите узнать больше об этом.