কম্পিউটার টিউটোরিয়াল

উবুন্টুতে 'বাইনারী ফাইল চালানো যাবে না:এক্সিক ফরম্যাট ত্রুটি' সমাধানের জন্য দ্রুত নির্দেশিকা

যদিও অফিসিয়াল apt-get সংগ্রহস্থলগুলি ব্যবহার করার সময় এটি হওয়া উচিত নয়, আপনি যদি ইন্টারনেট থেকে সফ্টওয়্যার ডাউনলোড করেন এবং এটি চালান তবে আপনি ভয়ঙ্কর bash:./nameOfProgram:বাইনারি ফাইল চালাতে পারবেন না:Exec ফর্ম্যাট ত্রুটি দেখতে পাওয়ার সম্ভাবনা রয়েছে . এই ত্রুটি, যা সাধারণত bash:./nameOfProgram.sh:অনুমতি অস্বীকার দ্বারা অনুসরণ করা হয় বা এর মতো কিছু, নির্দেশ করে যে উবুন্টু আপনার ডাউনলোড করা বাইনারিটির সাথে সঠিকভাবে ইন্টারফেস করতে সক্ষম হয়নি। কারণ এটি দৃশ্যত একটি বৈধ লিনাক্স বাইনারি হলেও এটি আপনার কার্নেল বর্তমানে সমর্থন করে এমন একটি ভিন্ন চিপসেটের জন্য ডিজাইন করা হয়েছে৷

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

পদ্ধতি 1:আর্চ কমান্ড ব্যবহার করা

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

আপনি আসলে মাইক্রোচিপের সেই নির্দিষ্ট মডেলটি ব্যবহার না করলেও এই শর্তগুলি এখনও সত্য। উদাহরণস্বরূপ, i686 হল যেভাবে লিনাক্স অনেক 32-বিট প্রসেসরকে বোঝায় যদিও তারা আসলে Intel 80686 চিপ না হয়। এমনকি যদি আপনি 64-বিট ইন্টেল প্রযুক্তি ব্যবহার করেন, তবুও আর্চ আপনার প্রসেসরকে একটি amd64 চিপ বলতে পারে। এটি একটি ত্রুটি নির্দেশ করে না, এবং নিরাপদে উপেক্ষা করা যেতে পারে। আপনি বিড়াল /proc/cpuinfo ব্যবহার করতে পারেন অথবা আরো /proc/cpuinfo আপনি যে প্রসেসর ব্যবহার করছেন তার সঠিক ধরন খুঁজে বের করতে। যেহেতু এই ফাইলের লাইনগুলি দীর্ঘ, আপনি যদি গ্রাফিকাল টার্মিনাল উইন্ডো ব্যবহার করেন তবে এটি ইস্যু করার আগে আপনি F11 চাপতে চাইতে পারেন। ভার্চুয়াল কনসোলের ব্যবহারকারীরা, বিশেষ করে যারা উবুন্টু সার্ভারের সাথে কাজ করছেন, তাদের খুব বেশি চিন্তা করতে হবে না।

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

পদ্ধতি 2:ফাইল কমান্ড ব্যবহার করে

ফাইল কমান্ডটি বিভিন্ন ফাইলে কী রয়েছে তা সনাক্ত করে এবং এটি সাধারণত খুব সঠিক। ফাইল nameOfProgram টাইপ করে প্রশ্নে থাকা ফাইলটি সনাক্ত করার চেষ্টা করুন আপনি আউটপুট হিসাবে ELF 32-বিট বা ELF 64-বিট পান কিনা তা দেখতে। যদি এটি আপনাকে বলে যে এটি একটি ELF 64-বিট বাইনারি এবং আপনি arch কমান্ড থেকে আউটপুট হিসাবে i686 পেয়েছেন, তাহলে আপনার মেশিনে যুক্তিসঙ্গতভাবে এটি চালানোর কোনো উপায় নেই। আপনি যদি 32-বিট উবুন্টু চালানোর একটি 64-বিট মাইক্রোপ্রসেসরে থাকেন, তাহলে আপনি প্রযুক্তিগতভাবে অপারেটিং সিস্টেমটি পুনরায় ইনস্টল করতে পারেন, যদিও এটি একটি একক প্রোগ্রাম চালানোর জন্য একটি চরম পদক্ষেপ।

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

এটি ঠিক করার সর্বোত্তম উপায় হল আপনার আর্কিটেকচারের জন্য সঠিক প্যাকেজটি ইনস্টল করা। আপনি যদি উবুন্টুর ভিতর থেকে প্যাকেজ ইন্সটল করে থাকেন, তাহলে apt-get সিস্টেম বা গ্রাফিক্যাল সিনাপটিক ম্যানেজার আপনাকে কোনো সমস্যা ছাড়াই কভার করেছে। আপনি যদি অন্য ডিস্ট্রিবিউশন থেকে প্যাকেজ ডাউনলোড করছেন, তাহলে আপনাকে আপনার আর্কিটেকচারের জন্য সঠিক প্যাকেজটি খুঁজে বের করতে হবে। উদাহরণস্বরূপ, আর্চ লিনাক্সের gvim প্যাকেজের তালিকা নিন। যদিও ডিফল্ট প্যাকেজে x86_64 আর্কিটেকচার রয়েছে, i686 চিপসেটের জন্যও একটি রয়েছে। এটি 32-বিট মেশিনে কাজ করবে যা ইন্টেল ইন্টারাপ্ট স্ট্রাকচারের সাথে কাজ করে, তবে মনে রাখবেন যে i686 এবং 32-বিট শব্দগুলি সব সময় পারস্পরিকভাবে অন্তর্ভুক্ত নয় কারণ অন্যান্য চিপসেটগুলি Linux সমর্থন করে আসলে তাদের নিজস্ব 32-বিট বাস্তবায়ন বৈশিষ্ট্যগুলি করে৷

পুরো GNU/Linux দৃশ্য অন্বেষণকারী ব্যবহারকারীরা এর থেকে অনেক বেশি বহিরাগত প্রযুক্তির জন্য সংকলিত বাইনারি জুড়ে আসতে পারে। লিনাক্স সত্যিই একটি ক্রস-প্ল্যাটফর্ম কোড দৃশ্য, তাই আপনি OpenRISC, MIPS, SPARC, M32R, MN103, ARM, ARC, আলফা এবং অন্যান্য অনেক স্ট্যান্ডার্ড বাইনারিগুলির সাথে কাজ করার জন্য কম্পাইল করা দেখতে পাবেন। সম্ভবত এআরএম একটি অত্যন্ত জনপ্রিয় ট্যাবলেট এবং স্মার্টফোন প্ল্যাটফর্ম হলেও আপনি এগুলির কোনোটিই চালাতে পারবেন না। এটি এমন একটি প্ল্যাটফর্ম যা রাস্পবেরি পাই এর চারপাশে ভিত্তি করে, যার মানে আপনি যদি সত্যিই একটি মোবাইল ডিভাইসে উবুন্টু চালান বা রাস্পবেরি পাইয়ের জন্য উবুন্টু মেট ডিস্ট্রিবিউশন চালান তবে আপনার আসলে ইন্টেল 32-বিট বা x86_64 বাইনারিগুলির পরিবর্তে এগুলোর প্রয়োজন হবে৷

লেখক সম্পর্কে

উবুন্টুতে  বাইনারী ফাইল চালানো যাবে না:এক্সিক ফরম্যাট ত্রুটি  সমাধানের জন্য দ্রুত নির্দেশিকা

কেভিন অ্যারোস

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


  1. কিভাবে অ্যাডোব 2739 ত্রুটি ঠিক করবেন

  2. Windows 10 এ USB 3.0 ক্র্যাশগুলি ঠিক করুন

  3. iCloud অ্যাক্টিভেশন বাইপাস করার জন্য বিনামূল্যে IMEI পদ্ধতি - ধাপে ধাপে নির্দেশিকা

  4. কিভাবে Android-এ TWRP কাস্টম রিকভারি ফ্ল্যাশ করবেন – ধাপে ধাপে নির্দেশিকা