относились к общим библиотекам, файлам .so и их манипулированию в Ubuntu.

. Общие библиотеки распространяются как файлы .so в /usr/lib/. Эти файлы представляют собой скомпилированный код, который предназначен для совместного использования несколькими программами.

Библиотека экспортирует символы, которые являются скомпилированными версиями функций, классов и переменных. У библиотеки есть имя, называемое SONAME, которое включает номер версии. Эта версия SONAME не обязательно соответствует общедоступному номеру версии. Программа компилируется с заданной версией библиотеки SONAME. Если какой-либо из символов удаляется или изменяется, необходимо изменить номер версии, что приводит к перекомпиляции любых пакетов, использующих эту библиотеку, с новой версией. Номера версий обычно устанавливаются апстримом, и Ubuntu следует за ними в именах наших двоичных пакетов, называемых номерами ABI, но иногда апстрим не использует разумные номера версий, и упаковщики должны хранить отдельные номера версий.

Библиотеки обычно распространяются апстримом в виде отдельных выпусков. Иногда они распространяются как часть программы. В этом случае они могут быть включены в двоичный пакет вместе с программой (это называется связыванием), если вы не ожидаете, что другие программы будут использовать библиотеку, чаще их следует разбивать на отдельные двоичные пакеты.

Сами библиотеки помещаются в двоичный пакет с именем libfoo1, где foo - это имя библиотеки, а 1 - версия из SONAME. Файлы разработки из пакета, такие как файлы заголовков, необходимые для компиляции программ с библиотекой, помещаются в пакет под названием libfoo-dev.