লিনাক্স কীভাবে (নন-পাঠ্য) বাইনারি চালানোর জন্য কোন সুবিধাটি ব্যবহার করতে হবে তা নির্ধারণ করে?


23

আমি বুঝতে পারি যে লিনাক্স স্ক্রিপ্টিং ভাষার জন্য কোন দোভাষী ব্যবহার করতে হবে তা নির্ধারণ করতে শেবাং লাইন ব্যবহার করে, তবে এটি বাইনারিগুলির জন্য কীভাবে কাজ করে?

আমার অর্থ আমি লিনাক্স বাইনারিগুলি চালাতে পারি এবং ওয়াইন এবং মনো , উইন্ডোজ নেটিভ এবং। নেট বাইনারি উভয়ই ইনস্টল করে রেখেছি । এবং তাদের সবার জন্য এটি ./binary-nameচালানো ঠিক (যদি PATH তে না হয়)।

লিনাক্স কীভাবে নির্ধারণ করে যে প্রদত্ত বাইনারিটি একটি লিনাক্স নেটিভ বাইনারি হিসাবে চালানো উচিত, একটি উইন্ডোজ নেটিভ বাইনারি ( ওয়াইন সুবিধাগুলি ব্যবহার করে ) বা উইন্ডোজ। নেট বাইনারি ( মনো সুবিধা ব্যবহার করে ) হিসাবে চালানো উচিত?

উত্তর:


29

এক কথায়: binfmt_misc । এটি একটি লিনাক্স-নির্দিষ্ট, অ-বহনযোগ্য, সুবিধা।

এমন বেশ কয়েকটি ফর্ম্যাট রয়েছে যা অন্তর্নির্মিত যুক্তির সাহায্যে কার্নেল দ্বারা স্বীকৃত। যথা, এগুলি হ'ল ELF ফর্ম্যাট (সাধারণ বাইনারিগুলির জন্য) এবং শেবাং কনভেনশন (স্ক্রিপ্টগুলির জন্য)। ( উত্তরের নিম্নলিখিত অংশের জন্য zwol ধন্যবাদ ) এছাড়াও, লিনাক্স বেশ কয়েকটি গুপ্ত বা অপ্রচলিত বা সামঞ্জস্যতা অন্তর্নির্মিত ফর্ম্যাটগুলি স্বীকৃতি দেয়। আপনি সম্ভবত তাদের মুখোমুখি হবে না। এগুলি a.outহ'ল "em86", "ফ্ল্যাট" এবং "এলফ_ফডিপিক"।

বাকী সমস্ত কিছু অবশ্যই বিনফম্ট_মিস্ক সিস্টেমের মাধ্যমে নিবন্ধিত হতে হবে। এই সিস্টেমটি আপনাকে জাদু সংখ্যার উপর ভিত্তি করে একটি সাধারণ প্যাটার্ন চেক এবং সংশ্লিষ্ট ইন্টারপ্রেটারের সাহায্যে কার্নেলের সাথে নিবন্ধকরণ করতে দেয়।


6
যদিও ওপি লিনাক্সের জন্য স্পষ্টভাবে জিজ্ঞাসা করেছিল, এটি লক্ষণীয় যে, লিনাক্স এবং অন্যান্য ইউনিক্স-মতো সিস্টেমে কাজ করা অন্যান্য অনেকগুলি সমাধানের বিপরীতে, এটি সম্পূর্ণ লিনাক্স-নির্দিষ্ট।
cubuspl42

6
এটি সংকলিত নাও হতে পারে তবে লিনাক্স উত্স a.outট্রিটিতে এখনও "em86", "ফ্ল্যাট", এবং "এলফ_ফডিপিক" ফর্ম্যাটগুলির পাশাপাশি সাধারণ ইএলএফ অন্তর্ভুক্ত রয়েছে। Em86 ব্যতীত সকলেই দেশীয় বাইনারি এক্সিকিউটেবল ফর্ম্যাট হিসাবে উপস্থিত হয়; কেউ "ফ্ল্যাট" বা "এলফ_ফডিপিক" কখন ব্যবহার করবে তা জানার জন্য আমার পক্ষে পর্যাপ্ত তথ্য নেই। em86 নির্দিষ্ট x86 এমুলেটর চালানোর জন্য একটি পূর্ব-বিনফ্ম্ট_মিস্ক প্রক্রিয়া হিসাবে উপস্থিত বলে মনে হচ্ছে, এটি সম্ভবত এখনও পশ্চাদপদ সামঞ্জস্যের জন্য রয়েছে।
zwol

2
দেবিয়ান লিনাক্সে (আমি রেডহ্যাট এবং অন্যদের পরীক্ষা করে দেখিনি) সমস্ত বর্তমান বিএনএফএমটি এন্ট্রি প্রদর্শন করার আদেশটি হ'লupdate-binfmts --display
গোলেম
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.