Узнать версию установленной .so
От: opener  
Дата: 23.05.13 12:31
Оценка:
Знатоки, подскажите, какой командой можно получить информацию о версии установленной в системе .so-шки?
Re: Узнать версию установленной .so
От: ДимДимыч Украина http://klug.org.ua
Дата: 23.05.13 12:46
Оценка:
Здравствуйте, opener, Вы писали:

O>Знатоки, подскажите, какой командой можно получить информацию о версии установленной в системе .so-шки?


Посмотреть, какому пакету принадлежит эта .so-шка и посмотреть версию пакета. Какими командами — зависит от дистрибутива.
Еще .so-шки зачастую являются симлинками на файлы, по имени совпадающими с .so-шкой, но с версией в конце.
Обязательно бахнем! И не раз. Весь мир в труху! Но потом. (ДМБ)
Re[2]: Узнать версию установленной .so
От: opener  
Дата: 23.05.13 12:58
Оценка:
Здравствуйте, ДимДимыч, Вы писали:

ДД>Здравствуйте, opener, Вы писали:


O>>Знатоки, подскажите, какой командой можно получить информацию о версии установленной в системе .so-шки?


ДД>Посмотреть, какому пакету принадлежит эта .so-шка и посмотреть версию пакета.


Ну вот лежит у меня в системе libxml2.so
Как узнать, из какого пакета она была установлена?

ДД>Какими командами — зависит от дистрибутива.


Linux RedHat
Re[3]: Узнать версию установленной .so
От: ДимДимыч Украина http://klug.org.ua
Дата: 23.05.13 13:11
Оценка: 2 (1)
Здравствуйте, opener, Вы писали:

O>Ну вот лежит у меня в системе libxml2.so

O>Как узнать, из какого пакета она была установлена?
O>Linux RedHat

Если это файл, а не симлинк, то
$ rpm -qif /usr/lib/libxml2.so


Если симлинк, то глянуть, на какой файл он смотрит. В моей системе, например:
$ readlink /usr/lib/libxml2.so
libxml2.so.2.9.1


Версия 2.9.1.
Обязательно бахнем! И не раз. Весь мир в труху! Но потом. (ДМБ)
Re[4]: Узнать версию установленной .so
От: zaufi Земля  
Дата: 23.05.13 15:49
Оценка:
Здравствуйте, ДимДимыч, Вы писали:

ДД>Здравствуйте, opener, Вы писали:


O>>Ну вот лежит у меня в системе libxml2.so

O>>Как узнать, из какого пакета она была установлена?
O>>Linux RedHat

ДД>Если это файл, а не симлинк, то

ДД>
$ rpm -qif /usr/lib/libxml2.so


ДД>Если симлинк, то глянуть, на какой файл он смотрит. В моей системе, например:

ДД>
$ readlink /usr/lib/libxml2.so
ДД>libxml2.so.2.9.1


ДД>Версия 2.9.1.


стоит однако заметить, что не всегда эти циферки значат "версия пакета". не берусь сказать насколько "далеко" не всегда, в частности идеология используемая libtool'ом приводит к тому, что эти циферки практически никак не связаны с версией пакета (и даже API библы), а только лишь с количеством "интерфейсов" (и изменений) предоставляемых библой (т.е. ABI, которое не равно версии API). почитать можно здесь и здесь. и, насколько я помню, эта схема уходит корнями в солярис -- просто была чуть допилена.

т.е. вообще говоря, пакеты которые устанавливают свои .soшки с циферками совпадающими с версией пакета, фактически не корректно используют правила версионирования .soшек. (и маинтэйнеров надо бить по рукам)

библы с версией должны именоваться как libname-PKG-MAJOR.PKG-MINOR.PKG-PATCH.so.ABI-CURRENT.ABI-REVISION.ABI-AGE, но это не клевая практика, ибо ломает идею динамической линковки библиотек с разными версиями API и поэтому не часто применяется.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.