بائنری فائل پر عملدرآمد نہیں کرسکتے ہیں۔ کیسے طے کریں: اوبنٹو پر ایگزیکٹ فارمیٹ کی غلطی



مسائل کو ختم کرنے کے لئے ہمارے آلے کو آزمائیں

اگرچہ سرکاری طور پر حاصل کرنے والے ذخیروں کا استعمال کرتے وقت ایسا نہیں ہونا چاہئے ، اگر آپ انٹرنیٹ سے سافٹ ویئر ڈاؤن لوڈ کرتے ہیں اور اسے چلاتے ہیں تو پھر امکان ہے کہ آپ خوفزدہ ہوجائیں گے bash: ./nameOfProgram: بائنری فائل کو پھانسی نہیں دے سکتا: ایگزیکٹ فارمیٹ میں خرابی . یہ غلطی ، جس کی عام طور پر پیروی کی جاتی ہے bash: ./nameOfProgram.sh: اجازت سے انکار کیا گیا یا اس جیسے کچھ سے ، اشارہ کرتا ہے کہ اوبنٹو آپ نے ڈاؤن لوڈ کردہ بائنری کے ساتھ صحیح طریقے سے انٹرفیس کرنے کے قابل نہیں تھا۔ اس کی وجہ یہ ہے کہ جب تک کہ یہ بظاہر ایک درست لینکس بائنری ہے ، یہ آپ کے دانا کی تائید کرنے سے مختلف چپ سیٹ کے لئے ڈیزائن کیا گیا ہے۔



اوبنٹو استعمال کرنے والے زیادہ تر افراد 32 بٹ یا 64 بٹ پروسیسرز پر قائم ہیں جو ایک معیاری فن تعمیر کے ارد گرد ہے جو انٹیل نے جاری کیا ، قطع نظر اس سے قطع نظر کہ ان کے مائکرو چپس کس نے بنائے ہیں۔ یہ یاد رکھنا ضروری ہے کہ 64 بٹ پروسیسر 32 بٹ موڈ میں چل سکتے ہیں ، لہذا اگر آپ کو یہ خرابی ہو رہی ہے حالانکہ آپ کے پاس 64 بٹ پروسیسر موجود ہے لیکن آپ کو اوبنٹو کا 32 بٹ ورژن چلانے کا موقع ملتا ہے۔ کچھ آسان احکامات یہ بتانے میں لگتے ہیں کہ آپ کی چپ کس کام کر رہی ہے۔



طریقہ 1: آرک کمانڈ کا استعمال کرنا

اگر آپ مائکرو پروسیسر کی قسم سے واقف نہیں ہیں جو آپ نے اپنی مشین پر انسٹال کی ہے تو آپ پہلے کمانڈ لائن سے آرچ کمانڈ استعمال کرنا چاہیں گے۔ اس کمانڈ کو چلانے کے بعد آپ کو صرف ایک ہی آؤٹ پٹ نظر آئے گا۔ بہت سے معاملات میں ، آپ کو i686 نظر آئے گا ، جس کا مطلب ہے کہ آپ 32 بٹ پروسیسر پر ہیں اور اس وجہ سے x86_64 بائنری نہیں چلا سکتے ہیں۔ اگر آپ اس کے بجائے amd64 یا کچھ ایسا ہی کچھ دیکھتے ہیں تو ، پھر آپ ایک x86_64 پروسیسر پر ہیں ، اور کم از کم نظریاتی طور پر زیادہ تر 32 بٹ اور 64 بٹ بائنری چلانے کے قابل ہونا چاہئے۔ مائیکروسافٹ ونڈوز کے برخلاف ، اوبنٹو لینکس اصل میں مناسب ٹولز پر مشتمل ہے جس میں 644 بٹ چپ سیٹ کے استعمال کرنے والوں کو اپنے آپریٹنگ سسٹم میں 16 بٹ ونڈوز پروگرام چلانے کی اجازت دیتا ہے۔



یہ شرائط اب بھی درست ہیں یہاں تک کہ اگر آپ واقعی مائکرو چیپ کے اس مخصوص ماڈل کو استعمال نہیں کررہے ہیں۔ مثال کے طور پر ، i686 یہ ہے کہ لینکس بہت سارے 32 بٹ پروسیسروں کا حوالہ دیتا ہے چاہے وہ اصل میں انٹیل 80686 چپس ہی کیوں نہ ہوں۔ یہاں تک کہ اگر آپ 64 بٹ انٹیل ٹکنالوجی استعمال کررہے ہیں تو ، آرک اب بھی آپ کے پروسیسر کو ایک ایم ڈی 64 چپ کہہ سکتا ہے۔ یہ کسی غلطی کی نشاندہی نہیں کرتا ، اور اسے نظرانداز کیا جاسکتا ہے۔ آپ بلی کو استعمال کرسکتے ہیں / پرو / cpuinfo یا اس سے زیادہ / پرو / cpuinfo آپ جو پروسیسر استعمال کررہے ہیں اس کی صحیح قسم معلوم کرنے کے ل.۔ چونکہ اس فائل میں لکیریں لمبی ہیں لہذا ، اگر آپ گرافیکل ٹرمینل ونڈو استعمال کررہے ہیں تو آپ شاید اس کو جاری کرنے سے پہلے ایف 11 کو دبائیں۔ ورچوئل کنسول استعمال کرنے والوں خصوصا especially اوبنٹو سرور کے ساتھ کام کرنے والے افراد کو زیادہ پریشان ہونے کی ضرورت نہیں ہوگی۔

آپ کو کچھ دوسری قسم کی آؤٹ پٹ نظر آ سکتی ہے ، جو سافٹ ویئر چلانے کی بات کرنے پر آپ کے اختیارات کو مزید محدود کرسکتی ہے۔ اوبنٹو نے طویل عرصے تک پاور پی سی فن تعمیر کی حمایت کی ، جو کچھ ورک سٹیشنوں کے ساتھ ساتھ بہت ساری کلاسیکی میکنٹوش اور پرانی OS X میکنٹوش مشینوں میں پائی جاتی ہے۔ آپ واقعی اب بھی ان فن تعمیرات کے لئے اوبنٹو کے ذخائر تلاش کرسکتے ہیں ، حالانکہ انہیں آج بہت کم تعاون حاصل ہے۔ تاہم ، آپ اس امکان سے زیادہ لینکس بائنری کو چلانے کے قابل نہیں ہوسکتے ہیں جو آپ انٹرنیٹ سے ڈاؤن لوڈ کرتے ہیں۔ اس کا مطلب یہ نہیں ہے کہ اوبنٹو ان مشینوں پر کام نہیں کرتا ہے ، حالانکہ آپ ہلکے لبنٹو تقسیم کو دیکھنا چاہتے ہیں۔

طریقہ 2: فائل کمانڈ کا استعمال کرنا

فائل کمانڈ اس بات کی نشاندہی کرتی ہے کہ کون سے مختلف فائلوں پر مشتمل ہے ، اور یہ عام طور پر بہت درست ہوتا ہے۔ سوال میں فائل کو فائل ٹائپ کرکے شناخت کرنے کی کوشش کریں نام آف پروگرام یہ دیکھنے کے ل you کہ آیا آپ کو ELF 32 بٹ یا ELF 64 بٹ آؤٹ پٹ کے طور پر ملتا ہے۔ اگر یہ آپ کو بتاتا ہے کہ یہ ایک ELF 64 بٹ بائنری ہے اور آپ کو آرچ کمانڈ سے پیداوار کے طور پر i686 موصول ہوا ہے ، تو پھر آپ کو اپنی مشین پر معقول طریقے سے چلانے کا کوئی طریقہ نہیں ہے۔ اگر آپ 32 بٹ اوبنٹو چلانے والے 64 بٹ مائکرو پروسیسر پر ہیں ، تو آپ تکنیکی طور پر آپریٹنگ سسٹم کو دوبارہ انسٹال کرسکتے ہیں ، حالانکہ یہ ایک ہی پروگرام کو چلانے کے لئے ایک انتہائی اقدام ہے۔



یہاں تک کہ اس کا اصل امکان بہت کم ہے ، اس کے بجائے کہ آپ اس کی بجائے بائنری کے سامنے آسکتے ہیں جب آپ اسے چلانے کی کوشش کرتے ہیں تو ردی حروف کو ٹرمینل تک پہنچا دیتے ہیں یہاں تک کہ اگر آپ اس پر میلویئر اسکین چلاتے ہیں۔ یہ حرف عام طور پر یا تو لوزینج کے سائز والے بلاکس کی شکل اختیار کرتے ہیں ، یا متبادل طور پر آئتاکار کیوب کی شکل اختیار کرتے ہیں جن میں عددی اقدار ہوتے ہیں۔ کچھ کمپیوٹر سائنس دان مؤخر الذکر کو توفو کہتے ہیں اور ان حروف کی یونیکوڈ اقدار کی نمائندگی کرتے ہیں جن کو آپ کے نصب شدہ ٹائپ فاسس ظاہر نہیں کرسکیں گے۔ اگر ٹرمینل ان کو اس طرح ڈسپلے کررہا ہے تو آپ یقین کر سکتے ہیں کہ یہ نہ تو فونٹ کی غلطی ہے اور نہ ہی میلویئر کے ساتھ کوئی تعلق ہے۔ بلکہ ، اس کی وجہ یہ ہے کہ بائنری کے اندر مرتب کردہ مائکرو پروسیسر آپ کوڈ آپ کے سسٹم کے لئے اس قدر اجنبی ہے کہ اسے کچھ کوڈ کی تشریح کرنے کا طریقہ نہیں آتا ہے۔

اس کو ٹھیک کرنے کا بہترین طریقہ یہ ہے کہ آپ اپنے فن تعمیر کے لئے مناسب پیکج کو انسٹال کریں۔ اگر آپ اوبنٹو کے اندر سے پیکجز انسٹال کر رہے ہیں تو ، آپٹ گیٹ سسٹم یا گرافیکل سنپٹک منیجر نے آپ کو بغیر کسی پریشانی کے کور کیا ہے۔ اگر آپ کسی اور تقسیم سے پیکجوں کو ڈاؤن لوڈ کررہے ہیں ، تو آپ کو اپنے فن تعمیر کے لئے صحیح ایک تلاش کرنے کی ضرورت ہوگی۔ مثال کے طور پر ، آرک لینکس کی gvim پیکیج کی فہرست دیکھیں۔ اگرچہ پہلے سے طے شدہ پیکیج میں x86_64 فن تعمیر کی خصوصیت ہوتی ہے ، لیکن i686 چپ سیٹ کے ل one ایک بھی ہے۔ یہ ایک 32 بٹ مشینوں پر کام کرے گا جو انٹیل رکاوٹ ڈھانچے کے ساتھ کام کرتی ہے ، لیکن یاد رکھنا کہ i686 اور 32-bit شرائط ہر وقت باہمی شامل نہیں ہیں کیونکہ دوسرے چپ سیٹ لینکس کی حمایت کرتا ہے حقیقت میں ان کی اپنی 32 بٹ پر عمل درآمد ہوتی ہے۔

پورے GNU / Linux منظر کو تلاش کرنے والے صارفین ان سے کہیں زیادہ غیر ملکی ٹکنالوجی کے لئے مرتب بائنریوں کے اس پار آسکتے ہیں۔ لینکس واقعتا ایک کراس پلیٹ فارم کوڈ کا منظر ہے ، لہذا آپ کو اوپن آر آئ ایس سی ، ایم آئی پی ایس ، اسپارک ، ایم 32 آر ، ایم این 103 ، اے آر ایم ، اے آر سی ، الفا اور بہت سارے دوسرے معیاروں کی بائنریز کام کرنے کے لئے مرتب کی گئیں۔ امکان سے کہیں زیادہ ، آپ ان میں سے کوئی بھی نہیں چل پائیں گے ، حالانکہ اے آر ایم ایک انتہائی مقبول ٹیبلٹ اور اسمارٹ فون پلیٹ فارم ہے۔ یہ وہ پلیٹ فارم بھی ہے جس میں راسبیری پائی آس پاس موجود ہے ، جس کا مطلب ہے کہ اگر آپ واقعی میں کسی موبائل ڈیوائس پر اوبنٹو چلا رہے ہیں یا راسبیری پائی کے لئے اوبنٹو میٹ کی تقسیم آپ کو دراصل انٹیل 32 بٹ یا x86_64 بائنری کے بجائے ان کی ضرورت ہوگی۔

4 منٹ پڑھا