مقرر: sudo: کوئی tty موجود ہے اور کوئی پوچھ گچھ پروگرام کی وضاحت نہیں کی گئی ہے



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

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



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



طریقہ 1: ssh کے لئے ٹرمینل کا پتہ لگانا

اگرچہ آپ پہلے ہی ٹرمینل سے کام کر رہے ہیں ، شش کو شاید اس کا احساس ہی نہیں ہوگا۔ ممکن ہے کہ اس کے باوجود ٹی ٹی وائی ٹرمینل ایمولیٹر تلاش کرنے کی کوشش کی جاسکے اگر آپ کمانڈ پرامپٹ ونڈو کے اندر موجود ہیں۔ اس کی جانچ کرنے کے لئے غلطی کو دوبارہ پیش کرنے کی کوشش کریں۔ ہم نے ایک ورچوئل مشین کو مثال کے طور پر پیش کرنے کے لئے تشکیل دیا اور بھاگ گیا ssh user@linuxtest.example ‘sudo /var/mail/startup.sh’ ایک امتحان کے طور پر قدرتی طور پر ، آپ کمانڈ اور ایس ایس ایس لائن کو کسی ایسی چیز میں تبدیل کرنا چاہیں گے جو آپ کے کرنے کی کوشش کر رہے ہو۔



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

اپنی ترکیب غلطی کو درست کرنے کیلئے ssh کے بعد -t شامل کرنے کی کوشش کریں۔ دس میں سے نو بار اس کو ssh کو مجازی TTY اپنے لئے مختص کرنے پر مجبور کرے گا اور دکھاوا ہے کہ یہ اصلی ٹرمینل کے اندر چل رہا ہے۔ آپ کو اپنے حکم کے بارے میں کچھ اور تبدیل کرنے کی ضرورت نہیں ہے۔ حرف شش کے بعد بس -t کا اختیار شامل کریں اور پھر میزبان اور پاس شدہ کمانڈ کو اسی طرح رکھیں۔ اگر آپ کو کبھی بھی اپنے کمانڈ کے آخری حصے میں ایس ایس ایس چلانی پڑتی ہے تو آپ بھی اس بات کو دھیان میں رکھنا چاہیں گے۔



مثال کے طور پر ، اگر آپ کمانڈ چلاتے وقت اسی طرح کی غلطی محسوس کررہے تھے جو فارمیٹ ہوا تھا ssh -t user@linuxtest.example ‘ssh user@linuxtest2.example’ اس کو روکنے کے ل you آپ کو پہلے ایس ایس ایس کے بعد -t کا اختیار رکھنا ہوگا۔ نوٹ کریں کہ اگر آپ نے بعد میں ڈیٹا تیار کرنے یا استعمال کرنے کے لئے دوسرا کمانڈ تبدیل کیا تو آپ بالکل بھی استعمال نہیں کرنا چاہیں گے۔ مثال کے طور پر ، اگر آپ اسکرپٹ کے بجائے بلی چلانے لگتے ہیں تو آپ اس کو ختم کرسکتے ہیں کیونکہ آپ کو اس کے لئے ٹرمینل مختص کرنے کی ضرورت نہیں ہوگی۔

طریقہ 2: ویڈو فائل کو پیچ کرنا

آپ کو کنفگریشن کا مسئلہ بھی ہوسکتا ہے جو یہ خامی پیدا کرتا ہے۔ جاری کرتے ہوئے ویسوڈو فائل میں ترمیم کریں sudo visudo کمانڈ کریں ، اور یہ بات ذہن میں رکھیں کہ آپ کبھی بھی اس فائل کو کسی اور طرح ایڈٹ نہیں کرنا چاہیں گے۔ آپ کو ایک لائن ملنی چاہئے جس میں ALL = NOPASSWD کی خصوصیت موجود ہے جس کے بعد کمانڈ کی ان اقسام کا تعاقب کرنا ہے جو چلانے کے ل. آپ کو ایڈمنسٹریٹر کا پاس ورڈ داخل کرنے کی ضرورت نہیں ہے۔

ہر انفرادی کمانڈ کو کامے کے ساتھ ختم ہونے کی ضرورت ہوتی ہے سوائے اس کے کہ آخری لائن کو چھوڑ کر۔ اس طرح اگر آپ کے پاس کچھ ایسی چیز ہے جیسے / sbin / poweroff / sbin / start / sbin / stop پڑھیں تو یہ ان سب کو ایک ہی کمانڈ کی طرح سمجھے گا اور غلطی کو آپ پر پھینک دے گا۔ اسی طرح ، اگر آپ کو کوئی کمانڈ یاد آرہا ہے جو آپ ssh کے ذریعے چلانے کی کوشش کر رہے ہیں تو آپ کو بھی یہ غلطی پڑے گی۔ ضروری ایڈجسٹمنٹ کریں اور چیک کرنے سے پہلے فائل کو محفوظ کریں اگر غلطی ابھی تک قابل تولید ہے۔

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

آپ کو غلطی پیغام کو دوبارہ پیش کرنے کی کوشش کرنے سے پہلے کسی بھی متعلقہ خدمات کو دوبارہ شروع کرنے کی ضرورت ہوگی۔

3 منٹ پڑھا