@1010101
1010101
29 Oct 2015

А как в Linux проще, чем найти_пакет\скачать_пакет_исходников\посмотреть_руками_внутри узнать версию используемой динамической библиотеки? Просто, имея только сам файл .so?
readelf -V /lib/x86_64-linux-gnu/security/pam_access.so
ничего вразумительного не выдал

29 Oct 2015

1010101, в генте я прошу equery сказать мне, к какому пакету относится сам файл:

$ equery belongs /lib64/security/pam_access.so
 * Searching for /lib64/security/pam_access.so ... 
sys-libs/pam-1.2.1 (/lib64/security/pam_access.so)
29 Oct 2015

systemiopipes, ну это суть есть тот способ, который я описал выше в дебианах делается через apt-file
Но дело в том, что нет уверенности, именно та ли это библиотека из пакета. Название и версия пакета - не всегда == версии библиотеки. А еще в один пакет могут напихать кучу разных либ.
Должен же быть способ однозначно получить информацию о версии из самой библиотеки

#iapsn/2 в ответ на /1
29 Oct 2015

1010101, представим себе пакет, которым помимо .so инсталлит ещё и питонский скрипт с одной строкой "print 100". По этому файлу из 10 байт нет никакой возможности узнать, из какой версии пакета он взят. То есть изначальный вопрос опирается на предположение, что кто-то обязательно добавляет в .so достаточно уникальную метаинформацию. Это предположение ещё не доказано.

#iapsn/3 в ответ на /2
29 Oct 2015

Это претензия не к пакетным менеджерам, а скорее к библиотекам

#iapsn/4 в ответ на /3
29 Oct 2015

max630, Нет, им тоже не найти. сдается мне, что ничем не найти, по тому, что в скомпилированой либе просто нет такой информации

#iapsn/6 в ответ на /5

Добавить пост

Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
Для форматирования текста используется Markdown.