جب لانچر OpenVPN شروع کرنے سے انکار کرتا ہے کیونکہ PID فائل پہلے ہی موجود ہے، تو فطری پڑھائی یہ ہے کہ کہیں سرنگ چل رہی ہے۔ یہ پڑھائی اکثر اتنی غلط ہوتی ہے کہ کچھ بھی حذف کرنے سے پہلے جانچنا مناسب ہے۔ رن ٹائم ڈائریکٹری میں موجود فائل محاسبہ ہے، اور محاسبہ اُن کریشز، ری بوٹس اور ادھورے شٹ ڈاؤنز سے بچ جاتا ہے جنہوں نے کوئی عمل پیچھے نہیں چھوڑا۔ دو سوال معاملہ طے کرتے ہیں: کیا کوئی زندہ عمل ہے، اور کیا وہ عمل اس مثال کا ہے۔

فائل سے نہیں، سروس سے شروع کریں

انکار عام طور پر OpenVPN سے نہیں، کسی لانچر سے آتا ہے۔ وہ راستہ پڑھتا ہے، وہاں کچھ پاتا ہے اور ترتیب کے تجزیے سے پہلے رک جاتا ہے۔ اس لیے پہلا سوال سرنگ کے بارے میں نہیں، لانچر کے معاہدے کے بارے میں ہے۔

پیغام چھاپنے والی یونٹ یا اسکرپٹ پڑھیں اور تین باتیں نوٹ کریں: وہ کون سا راستہ جانچتی ہے، کون سی سروس قسم بیان کرتی ہے، اور کیا فائل لکھنے کی ذمہ داری اس پر ہے۔ جدید یونٹ سادہ یا نوٹیفائی نگرانی استعمال کر سکتی ہے اور PID فائل کو کبھی نہیں چھوتی، جبکہ پرانی init اسکرپٹ خود ایک بنا سکتی ہے۔ ایک ماڈل کی جانچ دوسرے میں نقل کرنے سے بالکل اسی قسم کا انکار پیدا ہوتا ہے۔ کچھ بھی تشریح کرنے سے پہلے معلوم کریں کہ کون سا ماڈل استعمال ہو رہا ہے۔

تب ہی سوال یہ بنتا ہے کہ کیا کوئی مثال واقعی چل رہی ہے۔

جانچیں کہ کیا وہ شناخت آپ کی مثال کی ہے

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

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

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

systemctl status [email protected]
ps -o pid,lstart,args -p "$(cat /run/openvpn/vpn.pid)"

لانچر نے فائل کے بارے میں کیا وعدہ کیا تھا

PIDFile= سروس مینیجر کو بتاتا ہے کہ مرکزی عمل کی شناخت کہاں سے پڑھنی ہے۔ مینیجر وہ فائل نہیں لکھتا، لیکن بند ہونے کے بعد بچی ہوئی فائل ہٹا دیتا ہے، اور اسی لیے ادھورا اخراج فائل چھوڑ سکتا ہے۔

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

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

صاف بندش اور ادھورا اخراج

صاف روک ڈیمن سے باہر نکلنے کو کہتی ہے، اس کا انتظار کرتی ہے اور مینیجر کو اپنا محاسبہ درست کرنے دیتی ہے۔ ادھورا اخراج، مارا گیا عمل یا بندش کے بیچ ری بوٹ اُس ترتیب کے حصے چھوڑ دیتے ہیں، اور بچی ہوئی فائل ہی رہتی ہے۔ کریش کے بعد ایک ملنا بتاتا ہے کہ بندش مکمل نہیں ہوئی، یہ نہیں کہ کچھ سن رہا ہے۔

فائل کے وقت کی مہر کا موازنہ آخری بوٹ اور یونٹ کی آخری روک سے کریں۔

پھر زندہ شواہد براہِ راست جانچیں۔ VPN پورٹ سے بندھا سوکٹ اور پتہ رکھنے والا سرنگ انٹرفیس اس بات کا ثبوت ہیں کہ کچھ چل رہا ہے، اُس طرح سے جو رن ٹائم ڈائریکٹری کی متنی فائل کبھی نہیں ہوتی۔ اگر دونوں موجود نہ ہوں، تو کچھ نہیں چل رہا، فائل خواہ کچھ بھی دعویٰ کرے۔

عادت کے طور پر فائل حذف کرنا بند کریں

کسی مثال کا اس پر حق نہیں اور لانچر اس رویے کی دستاویز کرتا ہے، یہ ثابت کرنے کے بعد اسے حذف کرنا جائز بحالی قدم ہے۔

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

میزبان میں داخلے کا ایک آزاد راستہ رکھیں، اس کے معمول کے مینیجر سے ایک مثال شروع کریں اور پہلا نتیجہ پڑھیں۔ اگلے شخص کو ایسی یونٹ ملتی ہے جو کام کرتی ہے یا خود کو واضح کرتی ہے۔

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