ফাইল কমান্ডটি কেন বলে যে ইএলএফ বাইনারিগুলি লিনাক্স ২.6.৯ এর জন্য?


18

আমি যখনই কোনও ইএলএফ বাইনারিতে ফাইল চালাই তখন আমি এই আউটপুটটি পাই:

[jonescb@localhost ~]$ file a.out
a.out: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for
GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, 
not stripped

আমি শুধু ভাবছি লিনাক্স ২..9.৯ এ কী পরিবর্তন হয়েছে যে এই বাইনারিটি ২.6.৮ এ চলতে পারে না? ELF সমর্থন লিনাক্স 2.0 তে যোগ করা হয়নি?

উত্তর:


23

glibcনামে একটি কনফিগার বিকল্প রয়েছে যা --enable-kernelআপনাকে সর্বনিম্ন সমর্থিত কার্নেল সংস্করণ নির্দিষ্ট করতে দেয়। যখন অবজেক্ট ফাইলগুলি সেই গ্লিবসি বিল্ডের সাথে সংযুক্ত থাকে, লিঙ্কারটি ফলাফল নির্বাহী নামের সাথে একটি SHT_NOTE বিভাগ যুক্ত করে যার .note.ABI-tagমধ্যে ন্যূনতম কার্নেল সংস্করণ অন্তর্ভুক্ত থাকে। সঠিক ফর্ম্যাটটি এলএসবিতে সংজ্ঞায়িত হয়েছে , এবং fileসেই বিভাগটি অনুসন্ধান করতে এবং এটি কীভাবে ব্যাখ্যা করতে হয় তা জানে।

আপনার নির্দিষ্ট গ্লিবসিটি 2.6.9 প্রয়োজনের জন্য নির্মিত হয়েছিল কারণ এটি কে তৈরি করেছে তার উপর নির্ভর করে। আমার সিস্টেমে এটি একই রকম (জেন্টো); জন্য glibc ebuild একটি মন্তব্য বলছেন যে এটা নির্দিষ্ট করে 2.6.9 কারণ এটি সর্বনিম্ন জন্য দরকার নেই NPTL- র , যাতে সম্ভবত একটি সাধারণ পছন্দ। আর একটি যা আপাতদৃষ্টিতে উপস্থিত হয় বলে মনে হয় তা হল ২.৪.১, কারণ এটি লিনাক্সথ্রেডগুলির জন্য ন্যূনতম প্রয়োজনীয় ছিল , এনপিটিএল এর আগে ব্যবহৃত প্যাকেজ


ন্যূনতম প্রয়োজনীয় কার্নেল সংস্করণ বাড়ানোর সময় আপনি কি কর্মক্ষমতা উন্নতি অর্জন করেন? এটি করার সুবিধা কি?
অ্যারন ফ্রাঙ্ক

এখানে (ফেডোরা 31, x86_64) /lib/libc-2.30.so এর জন্য কার্নেল 3.20 প্রয়োজন (বর্তমান কার্নেল সংস্করণ 5.3.12-300)
ভোনব্র্যান্ড
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.