= Программный проект и иерархия каталогов :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`.