O que significam os sufixos numéricos em bibliotecas dinâmicas do Linux?

6

Veja um exemplo:

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

O que os números após so , como na última linha, 1.1.0 significam?

Meu primeiro palpite é que eles são números de versão, mas:

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

Portanto, o 1.1.0 parece não ter nenhuma conexão com a versão da biblioteca, relatada como 2.4.46 .

    
por houbysoft 18.06.2011 / 22:13

1 resposta

6

São versões diferentes das bibliotecas. Aplicativos diferentes podem precisar de versões diferentes para que cada arquivo inclua o nome da versão, para que todos possam ser instalados ao mesmo tempo. Você verá que aqueles sem números de versão na verdade apontam para um dos que tem um número de versão por meio de um link simbólico, para que os aplicativos que não precisem de versões específicas possam simplesmente solicitar a biblioteca que possui nenhum número de versão e obtenha a versão mais recente instalada no sistema.

    
por 18.06.2011 / 22:28