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

پہلے، ناکامی کو درست زمرے میں رکھیں

اعتماد کی ناکامی ماخذ فائل کا نام اور یا غائب کلید یا غیر حاضر Release فائل بتاتی ہے۔ ترسیل کی ناکامی مختلف دکھتی ہے: TLS سرٹیفکیٹ کی غلطیاں، مسترد شدہ رابطہ، وقت کی حد، یا CONNECT سے انکار کرنے والا پراکسی۔ یہی فرق طے کرتا ہے کہ آپ کون سا مضمون پڑھ رہے ہیں، کیونکہ TLS روکنے والا یا وینڈر کے ہوسٹ کو بلاک کرنے والا VPN ترسیل کی غلطیاں دیتا ہے، دستخط کی نہیں۔

چلائیں sudo apt update اکیلے اور اختتام پڑھیں، اوپر کے کیش شدہ نتائج کو نظر انداز کرتے ہوئے۔ اہم سطر /etc/apt/sources.list.d/ کا نام لیتی ہے اور بتاتی ہے کہ کون سی فائل کھولنی ہے۔

اگر ناکامی سرنگ چڑھنے کے بعد آتی ہے, تو سرنگ بند رکھ کر اور DNS کو نظام کے حل کنندہ سے حل کر کے جانچیں۔ جو ماخذ VPN کے بغیر کام کرتا ہے وہ روٹنگ یا رکاوٹ کا سوال ہے، اور کوئی کلید انتظام اسے درست نہیں کرے گا۔

وہ تین سوالات جو راستہ چنتے ہیں

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

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

پہلے سوال پر نہ کا جواب تجزیہ ختم کر دیتا ہے۔ تینوں نکات پر ہاں کا جواب signed-by مرمت کی طرف لے جاتا ہے، جو واحد ترتیب ہے جو کام بھی کرتی ہے اور قابل جانچ بھی رہتی ہے۔ دونوں راستے ملانا، ماخذ رکھ کر اسے زبردستی گزارنا، واحد آپشن ہے جسے واضح طور پر خارج کرنا چاہیے۔

کیوں trusted=yes مرمت جیسا لگتا ہے اور ہے نہیں

sources.list کی دستوری صفحہ اس بارے میں واضح ہے۔ Trusted آپشن کو yes پر سیٹ کرنا apt کو کہتا ہے کہ ماخذ کو قبول کرے چاہے توثیق ناکام ہو، جو اس ریپوزٹری کے لیے apt-secure بند کر دیتا ہے۔ صفحہ اسے مقامی سیاق کے لیے مختص رکھتا ہے، اگر بالکل استعمال ہو۔

یہ وینڈر پر اعتماد کا تنگ نسخہ نہیں ہے۔ یہ اس سوال کو ہٹا دیتا ہے کہ اشاریہ پر کس نے دستخط کیے، اس لیے جو بھی اس ہوسٹ نام کا جواب دے سکتا ہے وہ آپ کی مشین کو root کے طور پر انسٹال ہونے والے پیکیجز دے سکتا ہے۔

مرمت کا راستہ: کلید لیں، پھر اسے پن کریں

کلید وہاں سے لیں جہاں وینڈر دستاویز کرتا ہے اور اسے منتظم کے زیر انتظام کلید حلقے میں کھولیں، پھر ریپوزٹری سطر کو اسی فائل کی طرف موڑیں تاکہ اعتماد پھسل نہ جائے۔

  1. ناکام سطر پڑھ کر کلید کی ID اور ماخذ فائل کا نام لیں۔
  2. وینڈر کی ASCII زرہ بند کلید ڈاؤن لوڈ کریں اور gpg --dearmor کو /etc/apt/keyrings/vendor-name.gpg میں چلائیں۔
  3. [signed-by=/etc/apt/keyrings/vendor-name.gpg] کو اس وینڈر کی .list فائل کے اندراج میں شامل کریں۔
  4. چلائیں sudo apt update اور تصدیق کریں کہ ماخذ دستخط کا انتباہ دہرانے کے بجائے اشاریہ لاتا ہے۔

پیکیج کے ساتھ آنے والی کلیدوں کے لیے /usr/share/keyrings کو ترجیح دیں اور ہاتھ سے رکھی کلیدوں کے لیے /etc/apt/keyrings۔ یہ تقسیم سجاوٹ نہیں: یہ اگلے منتظم کو بتاتی ہے کہ کون سی کلیدیں پیکیج اپ گریڈ برداشت کریں گی اور کن کو انسان درکار ہے۔

اعتماد کرنے سے پہلے فنگر پرنٹ کو وینڈر کی شائع کردہ قدر سے ملائیں۔ فورم کی پوسٹ سے چسپاں کردہ کلید ID وہ راستہ ہے جس سے مشین ایسے اپ ڈیٹ اختیار پر اعتماد کرنے لگتی ہے جس کا نام کوئی نہیں بتا سکتا۔

ہٹانے کا راستہ، اور خرابی کیوں واپس آ سکتی ہے

دیکھیں کہ انسٹالر نے واقعی کیا لکھا، کیونکہ کئی فائلیں ایک ہی وینڈر کا ذکر کر سکتی ہیں اور ان میں سے ایک عام طور پر بچی ہوئی نقل ہوتی ہے۔

grep -r . /etc/apt/sources.list.d/
sudo rm /etc/apt/sources.list.d/vendor.list

apt اس ڈائریکٹری سے صرف .list اور .sources فائلیں پڑھتا ہے، اس لیے .save یا .distUpgrade نقل پہلے ہی نظر انداز ہے؛ پھر بھی اسے حذف کرنا بعد کے قاری کو اسے حادثاتی طور پر بحال کرنے سے روکتا ہے۔ ماخذ ہٹانے سے کچھ بھی ان انسٹال نہیں ہوتا، اور apt پھر انسٹال شدہ VPN پیکیج کو مقامی طور پر نصب یا اب دستیاب نہ ہونے کے طور پر بیان کر سکتا ہے، جو پیکیج کی حالت کا پیغام ہے، اعتماد کی خرابی کا لوٹنا نہیں۔

بار بار آنے والا معاملہ پرانی ہدایت ہے جو کلیدوں کو apt-key کے ذریعے عالمی قابل اعتماد حلقے میں نصب کرتی تھی۔ وہ راستہ متروک ہے، اور ریلیز اپ گریڈ کلید کو گرا ہوا یا محض غیر مشورہ شدہ چھوڑ سکتا ہے، اور یہی وجہ ہے کہ ایک سال خاموش رہنے والی خرابی اسی ہفتے ظاہر ہوتی ہے جب آپ اپ گریڈ کرتے ہیں۔ /etc/apt/trusted.gpg.d/ کو دیکھیں، پھر اعتماد کا فیصلہ ریپوزٹری سطر میں، اس کی جگہ پر منتقل کریں۔ اگر وینڈر اب بھی apt-key ہدایات چھاپتا ہے، تو بھی signed-by استعمال کریں؛ یہی وہ ترتیب ہے جو دستور میں درج ہے، اور اپ گریڈ برداشت کرنے والی بھی یہی ہے۔

متعلقہ مضامین