Что означают числовые суффиксы в динамических библиотеках Linux?

вот пример:

~$ ls /lib/*.so* | head -n 10
/lib/ld-2.13.so
/lib/ld-Linux.so.2
/lib/libacl.so
/lib/libacl.so.1
/lib/libacl.so.1.1.0
/lib/libanl-2.13.so
/lib/libanl.so.1
/lib/libattr.so
/lib/libattr.so.1
/lib/libattr.so.1.1.0

что делать с числами после so, например, в последней строке 1.1.0 В смысле?

моя первая догадка заключалась в том, что это номера версий, но:

~$ pacman -Qo /lib/libattr.so*
/lib/libattr.so is owned by attr 2.4.46-1
/lib/libattr.so.1 is owned by attr 2.4.46-1
/lib/libattr.so.1.1.0 is owned by attr 2.4.46-1

так 1.1.0 похоже, не имеет никакого отношения к версии библиотеки, сообщается 2.4.46.

22
задан houbysoft
19.11.2022 3:44 Количество просмотров материала 2505
Распечатать страницу

1 ответ

Это разные версии библиотек. Для разных приложений могут потребоваться разные версии, поэтому каждый файл содержит имя версии, так что все они могут быть установлены одновременно. Вы обнаружите, что те, без номеров версий на самом деле указывают на один из них, который имеет номер версии через символическую ссылку, так что приложения, которые не версии потребности специфические могут просто спросить архив который не имеет никакой номер версии и получить самую последнюю версию установленный на система.

6
отвечен Darth Android 2022-11-20 11:32

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх