diff --git a/wiki/Prog/Development/Программные проект и иерархия каталогов.adoc b/wiki/Prog/Development/Программные проект и иерархия каталогов.adoc new file mode 100644 index 0000000..194ea8a --- /dev/null +++ b/wiki/Prog/Development/Программные проект и иерархия каталогов.adoc @@ -0,0 +1,38 @@ += Программный проект и иерархия каталогов +:title-separator: {sp}| +:category: Программирование +:tags: Linux, программирование, cmake + +Для операционных систем типа Linux принят стандарт +https://ru.wikipedia.org/wiki/FHS[FHS] («стандарт иерархии файловой +системы»), унифицирующий местонахождение файлов и каталогов с общим +назначением в файловой системе. Полная текущая версия стандарта +находится http://refspecs.linuxfoundation.org/fhs.shtml[здесь]. + +В соответствии с данным стандартом, а также принятыми в ведущих +дистрибутивах правилами размещения исполняемых файлов в каталогах +пользователей, можно выделить следующие типы расположения: + +* системная иерархия в каталоге `/usr` используется для установки +бинарных пакетов для данного дистрибутива; + +* системная иерархия в каталоге `/usr/local` используется для установки +программного обеспечения системным администратором без использования +пакетов (не рекомендуется для использования из-за проблем поддержки +в актуальном состоянии); + +* системная иерархия в каталоге `/opt` используется для установки +стороннего программного обеспечения. В рамках данной иерархии +предполагается, что каждый программный продукт располагается в +собственном каталоге. При таком типе сборки обычно используются +дополнительные методы (статическая компоновка, включение в состав +пакета своего набора динамических библиотек) для обеспечения работы +пакета в операционных систем с отличающимся составом библиотек +и другим циклом обновления; + +* системная иерархия в домашнем каталоге пользователя не имеет +определённого стандарта, обычно производители дистрибутивов +предлагают использовать для исполняемых файлов каталоги +`$HOME/bin` или `$HOME/.local/bin`. + +