У меня есть библиотека, которую я раздаю своим клиентам. Я изучаю идею оставить свои сторонние зависимости динамически связанными зависимостями. В этом случае развертывание для моих клиентов становится более сложным, поскольку они должны установить мои зависимости, прежде чем они смогут использовать мою библиотеку. Я немного новичок в этом, поэтому у меня есть широкий вопрос:
Предполагая, что все мои клиенты работают в Linux, является ли RPM-пакет, который просто устанавливает файлы зависимостей .so, в каталоги системных библиотек наилучшим маршрутом? Из того, что я читаю о RPM, это не совсем то, как они предназначены для использования. Я предполагаю, что то, что я ищу, является своего рода «установщиком» для Linux, но, возможно, такой вещи не существует.
Является ли лучший способ просто создать пакет, который включает в себя все соответствующие двоичные файлы (и лицензии, где это применимо) и содержит инструкции по установке?
У вас есть несколько вариантов:
/opt/myapp
или же /home/someuser/myapp
). Поместите общие библиотеки туда и начните через скрипт с LD_LIBRARY_PATH
установить соответственно. Я видел этот вариант, используемый играми Loki, Adobe Reader, Google Earth и другими.Не делайте:
rpm
для всех. На не-rpm
дистрибутивы, это потребует от ваших клиентов ручного преобразования пакета в соответствии с их системой управления пакетами.Других решений пока нет …