/ ওসির / লিবি / বিল্ড-আইডি / দির উদ্দেশ্য কী?


10

F27 এর একটি নতুন তদন্তের পরে (নেটওয়াল স্টল) আমি লক্ষ্য করেছি যে অনেক পিকেজি ছোট ফাইলগুলিকে ডায়ারে রাখে /usr/lib/.build-id/। 1 ম এ আমি ভেবেছিলাম যে আমি কোনওভাবে dnf এর জন্য কিছু অস্পষ্ট "ডিবাগ" মোড সক্ষম করেছিলাম তবে তাও

$ dnf download httpd

এতে একটি আরপিএম ডাব্লু / /usr/lib/.build-id/*ফাইল আনবে ।

আমি এটি ফেডোরা রিলিজগুলিতে মনে করি না all


rpm --query --file /usr/lib/.build-idএকাধিক প্যাকেজ "মালিকানা" উপস্থাপন করে /usr/lib/.build-id... অদ্ভুত।
ডেভিড টনহোফার

উত্তর:


22

/usr/lib/.build-idইনস্টল করা প্যাকেজগুলির জন্য প্রধান বিল্ড-আইডি ফাইল রয়েছে। ফেডোরা ২ 27 এর আগে, এগুলি ডিবাগ ফাইলগুলির পাশাপাশি /usr/lib/debugথাকত এবং কেবল ডিবাগ আরপিএম-এ প্রেরণ করা হত। ফেডোরা ২ In-তে, একাধিক ডিবাগ তথ্য প্যাকেজগুলির সমান্তরাল ইনস্টলেশন মঞ্জুরি দেওয়ার জন্য একটি পরিবর্তন আনা হয়েছিল । এই পরিবর্তনের অংশটিতে প্যাকেজগুলির সাথে মেলে তাদের মূল বিল্ড-আইডি ফাইলগুলি শিপিংয়ের সাথে জড়িত যাতে তারা ইনস্টলড বাইনারিগুলির সাথে মেলে তা নিশ্চিত করে।

প্রত্যেকের বাইনারি ফোটানো ছাড়াই প্রয়োজনবোধে ডিবাগিং তথ্য ইনস্টল করার জন্য ব্যবহারকারীদের একটি উপায় প্রদান করতে অনেকগুলি বিতরণে ডিবাগ তথ্য প্যাকেজগুলি ব্যবহৃত হয়। যখন কোনও প্রোগ্রাম বা গ্রন্থাগারটি তৈরি করা হয় এবং সংযুক্ত করা হয়, তখন এটি ডিবাগিং তথ্য দিয়ে তৈরি করা যেতে পারে, যা ডিবাগাররা বাইনারিতে তার উত্স কোডের অবস্থানগুলির সাথে অবস্থানগুলি মানচিত্র করতে ব্যবহার করতে পারে; তবে এই তথ্যটি অনেক বেশি জায়গা নেয়। সুতরাং ডিবাগিংয়ের তথ্য সাধারণত প্যাকেজ করার আগে বাইনারিগুলি থেকে ছিনিয়ে নেওয়া হয়। সাম্প্রতিক বছরগুলিতে, stripএবং objcopyউন্নত করা হয়েছে যাতে ডিবাগিং তথ্য পৃথকভাবে সঞ্চারিত করা যায় এবং সংরক্ষণ করা যায় - এভাবেই ডিবাগ তথ্য প্যাকেজগুলি নির্মিত হয় built বাইনারি এবং এর ডিবাগ তথ্যগুলি মিলে যায় তা নিশ্চিত করার একমাত্র উপায় এবং বিল্ড আইডিগুলি এখানে আসে - তারা অনন্য সনাক্তকারী হিসাবে গণনা করেld( --build-idসেখানে সন্ধান করুন ) একটি বাইনারি এর উল্লেখযোগ্য অংশের উপর। "মেইন বিল্ড-আইডি ফাইলগুলি" হ'ল বিল্ড আইডি থেকে সংশ্লিষ্ট বাইনারি বা ডিবাগ ইনফরমেশন ফাইলের প্রতিলিপি; তারা দ্বিমুখী ম্যাপিংগুলি প্রয়োগ করার অনুমতি দেয়, যাতে মূল ডাম্পগুলি কার্যকরভাবে ডিবাগ করা যায় (বিভাগে বাইনারিগুলি থেকে তাদের বিল্ড আইডির একটি লিঙ্ক .gnu_debuglinkরয়েছে)। ফেডোরা বিল্ড-আইডি বৈশিষ্ট্য বর্ণনায় আপনি এই সমস্ত কিছুর পিছনে যুক্তির বিস্তারিত ব্যাখ্যা পাবেন ।

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