Общие библиотеки должны иметь версию по следующей схеме:
blah.so.X.Y.Z
где
Обычно вы видите только первую цифру, например hello.so.1
, потому что первая цифра - единственное, что нужно для идентификации "версии" библиотеки, поскольку все остальные цифры обратно совместимы.
ldconfig
ведет таблицу того, какие общие библиотеки доступны в системе и где находится путь к этой библиотеке. Вы можете проверить это, выполнив:
ldconfig -p
Когда пакет собирается для чего-то вроде Red Hat, общие библиотеки, вызываемые в двоичном файле, будут просмотрены и добавлены в качестве зависимостей пакета во время сборки RPM. Поэтому, когда вы собираетесь установить пакет, программа установки проверит, установлен ли hello.so.1
в системе, проверив ldconfig
.
Вы можете посмотреть зависимости пакета, сделав что-то вроде:
rpm -qpR hello.rpm
Эта система (в отличие от Windows) позволяет устанавливать несколько версий hello.so
в системе и использовать их одновременно разными приложениями.