Различия между многими папками lib в Linux

14

В чем разница между многими библиотеками в системе Linux? (/ lib, / usr / lib, / var / lib, / usr / share / lib и т. д. и т. д.).

Я знаю, что с помощью synaptic он обрабатывается автоматически, когда я устанавливаю приложение, но в случае, если я хочу стать разработчиком для Linux, мне обязательно нужно знать, где можно разместить библиотеки приложений в системе.

Андреас Вонг
источник

Ответы:

10

Как правило, ваше программное обеспечение будет установлено в /, или / usr, или / usr / local. Это называется «префикс». / обычно зарезервирован для наиболее важных программ операционной системы. / usr / зарезервирован для использования менеджерами пакетов. Поэтому, когда вы пишете программное обеспечение, наиболее вежливо настроить его так, чтобы префикс был / usr / local. Тогда это может быть отменено, когда кто-то упаковывает его для распространения.

Заметьте, я не говорю конкретно о "lib". Под префиксом есть несколько общих подкаталогов, lib является лишь одним из них. «bin» используется для исполняемых файлов, «share» для файлов данных, «lib» для разделяемых библиотек и так далее. Поэтому, если ваша программа является библиотекой, вы можете установить ее по умолчанию в / usr / local / lib. Если это обычная программа, вы можете установить ее в / usr / local / bin со своими файлами данных в / usr / local / share. Важно то, что вы делаете это так, чтобы префикс выбирался во время компиляции. Некоторые могут предпочесть установку в / usr, а не в / usr / local или наоборот.

Мэтью Талберт
источник
Итак, вы считаете, что местоположение - это скорее ориентир, чем жесткий предел?
Андреас Вонг
1
Это руководство, но оно ДОЛЖНО выполняться, и многие приложения ожидают определенных файлов в определенных местах.
Джим Девил
@james точка зрения принята: D
Андреас Вонг
8

Существует также стандарт, который описывает иерархию файловой системы Linux / Unix. Его можно найти по адресу: http://www.pathname.com/fhs/ . Это в основном предназначено для разработчиков дистрибутивов, но я не вижу причин, по которым пользователь / разработчик не должен знать об этом.

Ахе
источник
0

/ bin и / sbin

  • двоичные файлы, используемые для системного администрирования, а также в одном пользовательском режиме. Их библиотечные файлы находятся в / lib.

/ usr / bin и / usr / sbin

  • содержит несущественные несущественные двоичные файлы, используемые всеми пользователями, и двоичные файлы, используемые для сетевых служб, и все. Их библиотеки находятся в / usr / lib.

/ Вар / Библиотека

  • содержат файлы, которые сохраняют информацию о состоянии запущенных программ или экземпляров программ. Пользователю не нужно это менять.

/ USR / доли / Lib

  • Содержит независимые от архитектуры файлы данных.
РахулКришнан РА
источник