update
This commit is contained in:
parent
494c9f31d6
commit
22067a2a3d
@ -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`.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user