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

خرابی نیٹ ورک کا نہیں، لائبریری کا نام لیتی ہے

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

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

دونوں بند ہوتی ونڈو پر ختم ہوتے ہیں، اسی لیے بگ رپورٹس میں انہیں ملایا جاتا ہے۔

عالمگیریت کے سوئچ ایک الگ مسئلہ ہیں

ICU یا عالمگیریت کا ذکر کرنے والی خرابیاں کچھ کلائنٹ بلڈز کے نیچے چلنے والے .NET رن ٹائم سے آتی ہیں، TLS اسٹیک سے نہیں۔ غیر متغیر عالمگیریت کا سوئچ سیٹ کرنا بدلتا ہے کہ وہ ماحول ثقافتی ڈیٹا کیسے سنبھالتا ہے، اور یہ غائب libssl فراہم نہیں کرتا۔ TLS خرابی کو خاموش کرنے کے لیے اسے لگانے سے آپ کے پاس ایسا کلائنٹ رہ جاتا ہے جو شروع ہو کر پھر کہیں اور ناکام ہوتا ہے۔

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

اگر میزبان واقعی مطلوبہ رن ٹائم فراہم نہیں کر سکتا، تو معاون جواب تبدیل شدہ میزبان نہیں، دوسرا میزبان ہے۔

پرانا OpenSSL درآمد کرنا کیوں اُلٹا پڑتا ہے

پرانی تقسیم سے libssl اور libcrypto کو /usr/lib میں نقل کرنا اتنی بار کام کرتا ہے کہ لالچ دیتا ہے۔ یہ لائبریری کو پیکج مینیجر کے کنٹرول سے باہر بھی رکھتا ہے، لہٰذا ہر بعد کی سیکیورٹی اپ ڈیٹ یا تو اسے چھوڑ دیتی ہے یا اس سے ٹکراتی ہے۔ ایسے میزبان پر جو براؤزر یا SSH کلائنٹ بھی چلاتا ہے، آپ نے ان پروگراموں کے لیے کرپٹو اسٹیک بدل دیا ہے جنہوں نے کبھی ایسا مانگا ہی نہیں۔

معاون راستہ دستاویزی پیکج ماخذ اور آپ کے بالکل درست OS ریلیز اور آرکیٹیکچر کے لیے اس کی انحصار کا حل ہے۔ AWS کے Linux کلائنٹ کی ضروریات اور جس ورژن کو آپ انسٹال کر رہے ہیں اس کی ریلیز نوٹس دیکھیں، کیونکہ معاونت کا میٹرکس ریلیز کے درمیان بدلتا ہے۔

پرانا فورم حل ایک ریلیز جوڑی کا سنیپ شاٹ ہے، مطابقت کی ضمانت نہیں۔

وینڈر کی خدمت کی تعریف رکھیں

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

اگر تبدیلی درکار ہو تو اس کے بجائے drop-in استعمال کریں: یونٹ کی .d ڈائریکٹری میں چھوٹی اوور رائیڈ فائل جو ایک ہدایت شامل یا بدلتی ہے، ساتھ تبصرے کے کہ یہ کیوں موجود ہے اور کیسے واپس لینا ہے۔ وینڈر کی فائل محفوظ رہتی ہے، اور اگلی پیکج اپ ڈیٹ نہ آپ کا کام خاموشی سے منسوخ کرتی ہے نہ نقل کرتی ہے۔

اوور رائیڈ کا راستہ اپنے نوٹس میں لکھیں، کیونکہ اگلا منتظم پہلے وہیں دیکھے گا۔

راستوں کی ڈیبگنگ سے پہلے آغاز ثابت کریں

کلائنٹ کو منظور شدہ پروفائل کے ساتھ قابلِ اعتماد طریقے سے شروع کرائیں، پھر سائن اِن کریں، پھر ٹنل کی تصدیق کریں، اور اس کے بعد ہی راستے، DNS اور نجی وسائل دیکھیں۔ ہر مرحلہ اپنا ثبوت پیدا کرتا ہے، اور انہیں ملانا رن ٹائم مسئلے کو راستے کے مسئلے جیسا دکھا دیتا ہے۔ اگر وینڈر معاونت درکار ہو تو بند ہوتی ونڈو کے اسکرین شاٹ کی بجائے پہلا مفید اسٹارٹ اپ واقعہ محفوظ کریں۔

نجی کلید یا ایمبیڈ شدہ اسناد والا مکمل پروفائل کبھی تشخیصی مواد کے طور پر منسلک نہ کریں۔

ایک سوال ان میں سے بیشتر ٹکٹ حل کرتا ہے: کیا نصب شدہ کلائنٹ ورژن اس OS ریلیز پر اب بھی معاون ہے؟ اگر نہیں، تو حل ایک معاون جوڑی ہے، کوئی اور لائبریری کی تلاش نہیں۔

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