7

Вот пример:

~$ 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 .

1 ответ1

7

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .