Определить зависимости бинарника от packages в Linux(Ubuntu)?

Доброго времени суток!


Есть ли способ определения какие packages и каких версий понадобятся при развертке приложения?

Я могу получить список всех so посредством ldd, но там не указано в какие packages входят эти библиотеки.


Заранее спасибо!
  • Вопрос задан
  • 5741 просмотр
Решения вопроса 1
z0rc
@z0rc
У вас есть какой-то бинарник, а не нормальный пакет, который вы собираетесь «разворачивать»? Зависимости по уровням версий есть только на уровне работы с пакетами, при работе с бинарниками можно ориентироваться только на версию ABI. Лучше свяжитесь с тем, кто компилировал бинарник, чтобы уточнить с какими версиями библиотек он линковался.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
shurshur
@shurshur
Сисадмин, просто сисадмин...
dpkg -S /usr/lib/libnuzhnayaliba.so покажет в какой пакет она входит. Это можно использовать.

Однако я бы сделал пакет, при правильном написании системы сборки в debian/rules обязательно есть команда dh_shlibdeps (могу ошибаться с точным названием), которая включит нужные зависимости. Установка пакета в этом случае может выглядеть так:

dpkg -i proga_1.0_i386.deb
apt-get install -f


При первой программе ругнётся — это нормально. Вторая пофиксит зависимости и выполнит postinstall первой.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы