soname for a shared library:
lib <library name> .so. <major ver>
fully-qualified soname for a shared library:
<path> /lib <library name> .so. <major ver>
real name for a shared library:
lib <library name> .so. <major ver> . <minor ver> . <release>
linker name for a shared library:
lib <library name> .so
一般soname對應的是一個符號鏈接,是在運行ldconfig時由其根據共享庫header中的SONAME域創建的。如果創建共享庫時未通過-Wl,-soname,...指定其SONAME,則ldconfig不會爲其創建對應的soname符號鏈接。linker name對應的符號鏈接主要用於開發鏈接使用,一般是創建一個指向soname而不是real name的鏈接,以便減少版本更替時需要改變的鏈接數量(當然共享庫數量較少時指向soname或real name均可,系統軟件包也是兩種方式都有采用的例子)。
<major ver>主要表明接口ABI兼容性,一般如果共享庫接口產生了非向前兼容的更改就要升級<major ver>。