ldconfig trông bên trong tất cả các đối tượng được chia sẻ mà nó tìm thấy, để tìm kiếm tên soname. Sau đó, nó tạo liên kết bằng cách sử dụng tên soname đó làm tên của liên kết. Đó là thông thường (nhưng xa phổ biến) cho soname là tên và phiên bản chính của thư viện, do đó thư viện của bạn foo.so.1.1 sẽ có một soname của foo.so.1 và ldconfig sẽ tạo liên kết được gọi là.
Không có phần nào của hệ thống thời gian chạy tìm kiếm hoặc biết bất kỳ điều gì về tên foo.so. Được sử dụng khi bạn liên kết các chương trình của bạn với thư viện. Không có điểm nào trong liên kết đó trừ khi bạn cũng có tất cả các tệp phát triển khác (tiêu đề, vv) cho thư viện, do đó, không có điểm nào trong ldconfig tự động tạo nó. Và vì tên của liên kết để sử dụng chỉ là một quy ước khác và trong trường hợp này không được lưu trữ bên trong tệp, không có cách nào để ldconfig biết tên cần tạo.
Thông thường, điều này sẽ được tạo theo cách thủ công, trong mục tiêu cài đặt của Makefile; khi một thư viện được đóng gói để phân phối Linux, liên kết này thường tồn tại trong gói -dev cùng với các tệp tiêu đề.
Nguồn
2008-10-03 16:25:30
http://stackoverflow.com/questions/462100/bash-script-to-create-symbolic-links-to-shared-libraries/8144642#8144642 – user1016736