গ্লাবসি বাইনারি বিল্ড ইনস্টল করার জন্য কি সহজ পদ্ধতি আছে?


13

সময় এবং সময় আবার এই জাতীয় প্রশ্নগুলি দেখতে পাই:

এবং এগুলি হ'ল ধরণের সমাধানগুলি যা আমরা সাধারণত:

এটি কি আমরা করতে পারি সেরা? জিআইএলবিসি-র বাইনারি বিল্ডগুলি কি নেই যা আমরা কেবল কোনও ডিরেক্টরিতে আনজিপ করতে পারি /opt/myglibc, এবং $LD_LIBRARY_PATHইস্যু না করেই বা যা কিছু সেট করতে পারি এবং যা খুশি অ্যাপ্লিকেশনটি চালাতে পারি?

অ্যাপ্লিকেশন, যেমন Chrome এর আরও নতুন বিল্ডস (২৮+) যা GLIBC 2.14 প্রয়োজন বলে মনে হচ্ছে?

দ্রষ্টব্য: এই থ্রেড শিরোনাম: গুগল ক্রোম 29 মুক্তি পেয়েছে - আরএইচইএল / সেন্টোস 6 এ ইনস্টল করুন এবং টেকমিন্ট ডট কম-ফেডোরা 19/15 এ শেষ পর্যন্ত আমাকে এই সম্পর্কে ভাবতে বাধ্য করল।

তথ্যসূত্র

উত্তর:


1

যদি এটি অন্য কোনও লাইব্রেরির জন্য হত তবে গ্লিবসি ... আমি মনে করি দ্রুততর উপায়গুলি নাও থাকতে পারে, কারণ গ্লিবসি এমন জায়গা যেখানে স্টাফগুলি "হার্ড কোডড" থাকে। গ্লিবসিটি আপনার কার্নেল সংস্করণে ফিট করে এবং এর লোডারটি হ'ল প্রকৃতপক্ষে সঠিক জিনিস (টিএম) করে LD_LIBRARY_PATH

সম্ভবত সঠিক উপায়টি হ'ল:

LD_LIBRARY_PATH="/opt/myglibc/;..." /opt/myglibc/ld-linux.so.2 the_program`

যদিও এটি কাজ করে তা নিশ্চিত নয়।

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

ওয়েবসাইটটি কেবল আমাকে এই অন্যান্য সম্পর্কিত থ্রেড দিয়েছে:

সেখানে, গৃহীত উত্তরের মধ্যে rtldi নামক একটি প্রোগ্রামের একটি লিঙ্ক অন্তর্ভুক্ত রয়েছে , যা মনে হয় glibc সমস্যা সমাধান করবে solve এটি 2004 থেকে তাই এটি লিঙ্কারটির বাইরে থেকে এখনই ঠিক কাজ করতে পারে না, তবে সম্ভবত এটি অনুসন্ধান করার উপযুক্ত। এর উত্স জিপিএলভি 2।

যাহোভা, যিহোভা

আমার এক বন্ধু একবার এই ধারণাটি নিয়ে এসেছিল, ভাগ করে নেওয়া লাইব্রেরিগুলির আসল ব্যবহার ওভাররেটেড। এবং তার একটি বক্তব্য রয়েছে: ভাগ করা লাইব্রেরিগুলি আপনার কম্পিউটারের মেমরিটিকে নকল দিয়ে পূরণ না করা ভাল তবে পৃথক অ্যাপ্লিকেশন উদাহরণ বিবেচনা করে এটি কেবলমাত্র কয়েক এমবি s

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

"তাত্ক্ষণিক অ্যাপ্লিকেশনগুলি" সংখ্যাটি বরং সামান্য, ব্যবহারকারী প্রতি একেবারে তুলনামূলকভাবে তুলনামূলকভাবে তুলনামূলক তুলনায় তুলনায় তুলনামূলকভাবে তুলনামূলক কম ওএস এবং ডিইএস আজকাল কী ঘটেছিল compared যদি ক্রোম, ফায়ারফক্সের মতো তাত্ক্ষণিক অ্যাপ্লিকেশনগুলিকে স্থিতিশীলভাবে সংকলিত করা হয়, তবে গড় ব্যবস্থার জন্য অতিরিক্ত মেমরির প্রয়োজনীয়তা কয়েকশ 'মেগাবাইট হবে। একটি যুক্তি যা আজকের অনেকগুলি জিবি সিস্টেমে খুব বেশি বহন করে না তাই তাত্ক্ষণিক অ্যাপ্লিকেশনগুলির জন্য স্ট্যাটিকাল লিঙ্কিং একটি বিকল্প হতে পারে।

এছাড়াও অদলবদল স্পেস এবং এসএসডি-র ধারণা রয়েছে যা দ্রুততর সোয়াপিন / আউট-এর অনুমতি দেয় যা বর্ধিত মেমরির প্রয়োজনীয়তা পরিচালনা করতে সহায়তা করে।

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


2
"আমরা এখানে কয়েকটি 100MB সম্পর্কে কথা বলছি" উহ, না। যদিও লাইব্রেরির বেশিরভাগ অংশই এগুলি নাও হতে পারে (তবে সম্ভবত বিশালতার অর্ডার বা ১০০ এমবি-র চেয়ে আরও দু'টি বেশি চেষ্টা করুন du -h /lib) মনে রাখবেন যে এগুলি স্থিতিশীলভাবে সংকলিত থাকলে প্রতিটিটির জন্য এই পরিমাণ র‌্যামের প্রয়োজন হত এবং প্রতিটি অ্যাপ্লিকেশন তাদের সাথে সংকলিত। সুতরাং, যেমন। একই লাইব্রেরি স্ট্যাক ব্যবহার করে আপনার দুটি অ্যাপ রয়েছে, এখন আপনার দ্বিগুণ মেমরির প্রয়োজন হবে। তিনটি অ্যাপস? তিনগুণ বেশি। এটি ক্যাশিংয়ের সুবিধাগুলি উপেক্ষা করবে বলে উল্লেখ না করা ...
সোনারলকস

2
... যেহেতু অবশ্যই আপনি কেবল গ্লিবসি ক্যাশে করতে পারেন নি - আপনাকে চালিত প্রতিটি অ্যাপ্লিকেশানের অনুলিপি ক্যাশে করতে হবে (== হাস্যকর)। সংক্ষেপে, আধুনিক অপারেটিং সিস্টেমগুলি সাধারণ হার্ডওয়্যারে সাধারণ এবং সাধারণভাবে সম্পূর্ণ অসম্ভব , যদি এটি ভাগ করে নেওয়া অবজেক্টগুলির মতো আধুনিক কৌশলগুলির জন্য না হয়। আপনার আরও কিছুটা মেমরির প্রয়োজন হবে না - আপনার 10 বা 100 গুণ বেশি মেমরির প্রয়োজন হবে।
স্বর্ণলোক

আমার ডেবিয়ানের 235MB রয়েছে /lib, যার মধ্যে 202MB কার্নেল মডিউল। হ্যাঁ, /usr/lib4 গিগাবাইট, তবে এটি পৃথক প্রোগ্রামের কতটুকু প্রয়োজন তা সুনির্দিষ্টভাবে কোনও সিদ্ধান্তে মঞ্জুরি দেয়। প্রসেসরের ক্যাশগুলি কেবলমাত্র কয়েক এমবি। সাম্প্রতিক ওয়েব ব্রাউজারের মতো কোনও কিছুর মেমরির ব্যবহারের সাথে, ক্যাচিংয়ের সাথে স্থিরভাবে যুক্ত লিঙ্কযুক্ত বাইনারিগুলির প্রভাবও একসাথে চলমান প্রোগ্রামগুলির পরিমাণের সাথে বড় এবং হ্রাসকারী নয়; অপেক্ষাকৃত ছোট ক্যাশেগুলির কারণেও। আমার অনুমানগুলি আপনার চেয়ে বেশি নির্ভুল বলে মনে হচ্ছে। হুঁ।
বনাঙ্গুইন

স্ট্যাটিক লিঙ্কিংয়ের সাথে অন্যান্য বিশাল সমস্যার কথা উল্লেখ না করা — আপডেটগুলি পিআইটিএ। গ্লিবিসি-তে যদি কোনও সুরক্ষা সমস্যা থাকে তবে কোনও বড় কথা নয়: গ্লিবিসি আপগ্রেড করুন, আপনার প্রোগ্রামগুলি পুনরায় চালু করুন। OTOH, আপনার প্রোগ্রামগুলি স্থিতিশীলভাবে সংযুক্ত ছিল, আপনাকে প্রতিটি প্রোগ্রামের একটি নতুন সংস্করণ ডাউনলোড করতে হবে। এবং আপনার ডিসট্রোকে পুরো ডিস্ট্রোতে পুনরায় সংযোগ করতে হবে (বা যদি তারা সমস্ত .o ফাইলগুলি রাখে, তবে বিশাল আকারের কারণে সম্ভাব্য নয়) dist
ডার্বোবার্ট

1
@ডারবার্ট: ফর্সা মনে হচ্ছে। স্পষ্টতই আমার দাবিগুলি হাইপারবোলিক ছিল - এখানে ১.৮ গিগাবাইট প্রতিশ্রুতিবদ্ধ যে 52২১ এমবি ছাড়িয়েছে। সুতরাং এটি 30% বৃদ্ধি হবে। অবশ্যই, সেই কৌশলটির কোনও বিক্রয় পয়েন্ট নয় যার কোনও সুবিধা নেই (তবে "কেবলমাত্র আরও 30% র্যাম প্রয়োজন")।
স্বর্ণিলকস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.