Could not read pid file اور shm_open(...): Permission denied ایک ہی ناکام Squid آغاز کے دوران ظاہر ہو سکتے ہیں۔ وہ مختلف وسائل کی نشاندہی کرتے ہیں۔ کیش ڈائریکٹری کی ملکیت درست کرنا بذات خود ان میں سے کسی کو درست نہیں کرتا۔

Linux پر POSIX مشترکہ میموری آبجیکٹ عام طور پر /dev/shm کے تحت پیش ہوتا ہے۔ اس کا مالک اور رسائی موڈ اہم ہیں۔ اس لیے کسی دوسری رن ٹائم شناخت کا چھوڑا ہوا آبجیکٹ بعد کے عمل کو ناکام بنا سکتا ہے، چاہے squid.conf پڑھنے کے قابل ہو اور سننے والا پورٹ خالی ہو۔

دوبارہ تعمیر کریں کہ یہ مثال کیسے شروع ہوئی

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

پھر ناکام ہونے والا درست عمل پڑھیں۔ PID کی غلطی کنفیگر شدہ PID مقام اور اس کی بنیادی ڈائریکٹری سے متعلق ہے۔ لاگ کی غلطی لاگ فائل یا ڈائریکٹری سے متعلق ہے۔ کیش کے آغاز کی غلطی اسٹوریج سے متعلق ہے۔ shm_open کی غلطی نامزد مشترکہ میموری آبجیکٹ سے متعلق ہے اور عمل پر لاگو سیکیورٹی پالیسی کو بھی شامل کر سکتی ہے۔

ہر وسیلے کے لیے مطلوبہ رن ٹائم رسائی کا اس کے موجودہ مالک اور موڈ سے موازنہ کریں۔ اگر عام اجازتیں کافی لگیں تو متعلقہ SELinux یا AppArmor کی مستردگی کا ثبوت دیکھیں۔ صرف “Permission denied” یہ نہیں بتاتا کہ کس تہہ نے رسائی مسترد کی۔

دوسرا مسئلہ پیدا کیے بغیر ملکیت درست کریں

رن ٹائم اکاؤنٹ کو انسٹالیشن کی سروس کنفیگریشن کے مطابق رکھیں۔ سب کچھ nobody پر بدل دینا مددگار پروگراموں کی رسائی توڑ سکتا ہے اور سروس کے زیرِ انتظام فائلوں کے ساتھ نیا عدم توازن لا سکتا ہے۔

/dev/shm میں Squid جیسا دکھنے والا ہر آبجیکٹ مٹا دینا بھی اچھا پہلا قدم نہیں ہے۔ نامزد آبجیکٹ کسی فعال مثال کا ہو سکتا ہے۔ صفائی، جب ضروری ہو، متاثرہ سروس بند ہونے کی حالت میں تصدیق شدہ ترک شدہ وسیلے کو ہدف بنانا چاہیے، پھر معمول کے سروس میکانزم سے آغاز کرنا چاہیے۔

مفید نتیجہ ایک ہم آہنگ آغاز اور ملکیت کا نمونہ ہے۔ غلطی غائب ہونے تک root کے طور پر ایک ہی حکم چلانا اگلے معمول کے دوبارہ آغاز کو بالکل اسی مسئلے کے ساتھ چھوڑ سکتا ہے۔

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