আমি জানি যে লিনাক্সের অধীনে ভাগ করা অবজেক্টগুলি "তাই সংখ্যা" ব্যবহার করে, অর্থাত্ একটি ভাগ করা অবজেক্টের বিভিন্ন সংস্করণকে বিভিন্ন এক্সটেনশন দেওয়া হয়, উদাহরণস্বরূপ:
example.so.1
example.so.2
আমি বুঝতে পারি যে দুটি পৃথক ফাইল থাকা উচিত যে কোনও লাইব্রেরির দুটি সংস্করণ সিস্টেমে থাকতে পারে (উইন্ডোজে "ডিএলএল হেল" এর বিপরীতে)। আমি জানতে চাই যে এটি বাস্তবে কীভাবে কাজ করে? প্রায়শই, আমি দেখতে পাই এটি example.so
আসলে সর্বশেষতম সংস্করণটি example.so.2
যেখানে একটি প্রতীকী লিঙ্ক .2
। তারপরে কোনও অ্যাপ্লিকেশন কীভাবে example.so
এটি সঠিকভাবে সনাক্ত করার কোনও পুরানো সংস্করণের উপর নির্ভর করে ? কোনটি অবশ্যই কোন নম্বর ব্যবহার করা উচিত সে সম্পর্কে কোনও নিয়ম রয়েছে? নাকি এই সহজভাবে কনভেনশন? উইন্ডোজের বিপরীতে যেখানে সফ্টওয়্যার বাইনারিগুলি সিস্টেমগুলির মধ্যে স্থানান্তরিত হয়, যদি কোনও সিস্টেমে কোনও ভাগ করা অবজেক্টের নতুন সংস্করণ থাকে তবে উত্স থেকে সংকলন করার সময় এটি স্বয়ংক্রিয়ভাবে পুরানো সংস্করণটির সাথে সংযুক্ত থাকে?
আমি সন্দেহ করি এটি এর সাথে সম্পর্কিত ldconfig
তবে আমি কীভাবে তা নিশ্চিত নই।