Lib, lib32, lib64, libx32 এবং Libxec এর মধ্যে পার্থক্য


41

আমার 64 বিট উবুন্টু 13.04 সিস্টেমে নিম্নলিখিত ডিরেক্টরি রয়েছে /:

lib
lib32
lib64
libx32
libexec

ইন /usrডিরেক্টরির থাকে:

lib
lib32
libx32
libexec

এটি এমন কিছুর মতো মনে হয়েছিল যা সহজেই অনুসন্ধানের সাথে উত্তর দেওয়া যায়, তবে আমি অনলাইনে কিছুই পাইনি, এই ডিরেক্টরিগুলি ভাগ করে নেওয়া লাইব্রেরিগুলি (লিবেক্সেক ব্যতীত) সঞ্চয় করে। তবে কোন ভাগ করা লাইব্রেরি কোন ফোল্ডারে যাবে (lib32 তে 32 বিট এবং lib64 এ 64 বিট ব্যতীত)? এই ডিরেক্টরিগুলির মধ্যে কেউ পার্থক্য ব্যাখ্যা করতে পারে?


এবং বিএসডি, ফেডোরা, এআইএক্স এবং সোলারিসের ডিরেক্টরি কাঠামোর নিজস্ব টুইস্ট রয়েছে।

উত্তর:


39

আহা হ্যাঁ এটি একটি খুব বিভ্রান্তিমূলক অংশ যদি আপনি কোনও সময়ের জন্য ইউনিক্সগুলি নিয়ে কাজ করেছেন। একটি মান রয়েছে যা বেশিরভাগ ইউনিক্স এফএইচএস অনুসরণ করতে "চেষ্টা" করে - ফাইলসাইম হায়ারার্কি স্ট্যান্ডার্ড

প্রদত্ত আমি প্রাথমিকভাবে রেড হ্যাট ভিত্তিক ডিস্ট্রোস ব্যবহার করি আমি ফেডোরা, সেন্টোস এবং আরএইচইএল লিনাক্স ডিগ্রোসের জন্য এফএইচএস গ্রহণের সাথে সর্বাধিক পরিচিত । তবে আমি ডেবিয়ান এবং বিএসডি ভিত্তিক ডিস্ট্রোসও ব্যবহার করেছি এবং ফাইল সিস্টেমের ভিত্তিতে জিনিসগুলি যেখানে রাখা হয়েছে তার দিক থেকে এগুলি আলাদা নয়।

এখন আপনার প্রশ্ন। আমি এফএইচএস নথিটি একবার দেখে নেব , যা এই ডিরেক্টরি কাঠামোগুলি আলগাভাবে পরিচালনা করে। সাধারণভাবে:

ডিরেক্টরি - /lib

প্রয়োজনীয় শেয়ার্ড লাইব্রেরি এবং কার্নেল মডিউল রয়েছে।

উদ্দেশ্য: / lib ডিরেক্টরিতে সিস্টেমটি বুট করার জন্য এবং রুট ফাইল সিস্টেমে কমান্ডগুলি চালনার জন্য প্রয়োজনীয় ভাগ করা লাইব্রেরি চিত্র রয়েছে। / বিন এবং / এসবিনে বাইনারি দ্বারা।

নোট 1: ভাগ করা লাইব্রেরিগুলি যেগুলি কেবলমাত্র / ইউএসআর বাইনারিগুলির জন্য প্রয়োজনীয় (যেমন কোনও এক্স উইন্ডো বাইনারি) অবশ্যই / লিবিলে থাকা উচিত নয়। / বিন এবং / এসবিনে বাইনারি চালানোর জন্য শুধুমাত্র ভাগ করা লাইব্রেরিগুলি এখানে থাকতে পারে।

দ্রষ্টব্য 2: / lib এর প্রাথমিক উদ্দেশ্যটি প্রদত্ত হ'ল ডিরেক্টরিগুলি / বিন এবং / sbinগুলিতে স্থাপন করা সরঞ্জামগুলির জন্য গ্রন্থাগারগুলি অন্তর্ভুক্ত করা উচিত, / lib এর লাইব্রেরিগুলি 32-বিট বা 64-বিট হতে পারে।

উদাহরণস্বরূপ (ফেডোরা 14 64-বিট সিস্টেম)

$ uname -a
Linux grinchy 2.6.35.14-106.fc14.x86_64 #1 SMP Wed Nov 23 13:07:52 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux

আমার / লাইব থেকে ফাইলগুলির নমুনা এখানে দেওয়া

./libpam.so.0.82.2:             ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, stripped
./libplc4.so:                   ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, stripped
./libidn.so.11.6.1:             ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, stripped
./upstart/telinit:              ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, stripped
./upstart/runlevel:             ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, stripped
./upstart/shutdown:             ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, stripped
./upstart/reboot:               ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, stripped
./libdb-4.8.so:                 ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, stripped
./firmware/mixart/miXart8.elf:  ELF 32-bit MSB executable, PowerPC or cisco 4500, version 1 (SYSV), statically linked, not stripped
./libtinfo.so.5.7:              ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, stripped

ডিরেক্টরি - /lib<qual>

বিকল্প ফর্ম্যাট প্রয়োজনীয় শেয়ারড লাইব্রেরি (alচ্ছিক)। এগুলি ডিরেক্টরি / lib32, / lib64, ইত্যাদি হবে etc.

উদ্দেশ্য: সিস্টেমে / lib ডিরেক্টরিতে এক বা একাধিক বৈকল্পিক থাকতে পারে যা পৃথক গ্রন্থাগারগুলির জন্য একাধিক বাইনারি ফর্ম্যাট সমর্থন করে। এটি সাধারণত 64-বিট বা 32-বিট সমর্থনের জন্য এমন সিস্টেমে ব্যবহৃত হয় যা একাধিক বাইনারি ফর্ম্যাট সমর্থন করে তবে একই নামের লাইব্রেরিগুলির প্রয়োজন require

দ্রষ্টব্য: এই ক্ষেত্রে, / lib32 এবং / lib64 গ্রন্থাগার ডিরেক্টরি হতে পারে এবং / lib এর মধ্যে একটিতে একটি সিমিলিংক।

ডিরেক্টরি - /usr/lib

প্রোগ্রামিং এবং প্যাকেজগুলির জন্য গ্রন্থাগারসমূহ।

উদ্দেশ্য: / usr / lib এর মধ্যে অবজেক্ট ফাইল, গ্রন্থাগার এবং অভ্যন্তরীণ বাইনারি রয়েছে যা ব্যবহারকারী বা শেল স্ক্রিপ্ট দ্বারা সরাসরি সম্পাদন করার উদ্দেশ্যে নয়।

নোট 1: বিবিধ আর্কিটেকচার-স্বতন্ত্র অ্যাপ্লিকেশন-নির্দিষ্ট স্ট্যাটিক ফাইল এবং উপ-ডিরেক্টরিগুলি অবশ্যই / usr / শেয়ারে স্থাপন করতে হবে।

অ্যাপ্লিকেশনগুলি / usr / lib এর অধীনে একটি একক উপ-ডিরেক্টরি ব্যবহার করতে পারে। যদি কোনও অ্যাপ্লিকেশন একটি উপ-ডিরেক্টরি ব্যবহার করে তবে অ্যাপ্লিকেশন দ্বারা একচেটিয়াভাবে ব্যবহৃত সমস্ত আর্কিটেকচার নির্ভর ডেটা অবশ্যই সেই উপ-ডিরেক্টরিতে থাকা উচিত।

দ্রষ্টব্য 2: উদাহরণস্বরূপ, পার্ল 5 মডিউল এবং লাইব্রেরির জন্য পার্ল 5 উপ-ডিরেক্টরি।

ডিরেক্টরি - /usr/lib<qual>

বিকল্প ফর্ম্যাট লাইব্রেরি (alচ্ছিক)।

উদ্দেশ্য: /usr/lib<qual> বিকল্প বাইনারি বিন্যাসের জন্য / usr / lib হিসাবে একই ভূমিকা পালন করে, প্রতীকী লিঙ্কগুলি ব্যতীত /usr/lib<qual>/sendmailএবং /usr/lib<qual>/X11প্রয়োজনীয় নয়।

দ্রষ্টব্য: যে ক্ষেত্রে / usr / lib /usr/lib<qual>একই এবং এক ( অন্যটির প্রতীকী লিঙ্ক) এই ফাইলগুলি এবং প্রতি-অ্যাপ্লিকেশন সাব-ডিরেক্টরিগুলি বিদ্যমান থাকবে।

TLDR;

সাধারণভাবে:

যদি কোনও লাইব্রেরি থাকে যেগুলি / bin বা / sbin ডিরেক্টরিগুলির মধ্যে একটি এক্সিকিউটেবলের দ্বারা প্রয়োজনীয় হয়, সেই লাইব্রেরিগুলি / lib * ডিরেক্টরিতে থাকা উচিত।

যদি ব্যবহারের প্রোগ্রাম এবং প্যাকেজগুলির জন্য লাইব্রেরি থাকে তবে তারা / usr / lib / * এ যায়। যদি কোনও এক্সিকিউটেবল থাকে যা একটি নির্দিষ্ট গ্রন্থাগারের প্রয়োজন হয়, তবে এই এক্সিকিউটেবলগুলি ব্যবহারকারীরা সরাসরি বা মূল দ্বারা ডাকা হবে না বলে মনে করা হয়, তারা / usr / Libxec এ যায়।


ধন্যবাদ। আপনি কি স্পষ্ট করে বলতে পারবেন যে যখন 32 বিট বা bit৪ বিটযুক্ত একটি লাইব্রেরি এটির সাথে সম্পর্কিত <কোয়াল> ফোল্ডারটির বিপরীতে লিবের মধ্যে স্থাপন করা হবে? আমি আপনার ব্যাখ্যা যথেষ্ট পাইনি।
gsingh2011

/ Lib এর প্রাথমিক উদ্দেশ্যটি হ'ল / বিন এবং / এসবিনে থাকা সরঞ্জামগুলির জন্য গ্রন্থাগারগুলি অন্তর্ভুক্ত। প্রদত্ত / lib এ 32-বিট এবং 64-বিট উভয় লাইব্রেরির মিশ্রণ থাকতে পারে। আমি উত্তরে এই মন্তব্য যুক্ত করব!
slm

শীর্ষে টিএলডিআর বিভাগটি রেখে দিতে পারেন?
কেভিনার্পে

1
Lib32 এবং libx32 এর মধ্যে পার্থক্য কী?
মিক্কো রেন্টালাইনেন

2
libx32 জন্য x32fileপার্থক্যটি দেখতে আপনি এই ডিরেক্টরিগুলির লাইব্রেরি সহ ইউটিলিটিটি ব্যবহার করতে পারেন ।
এলমিচা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.