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

نیچے دیے گئے مراحل کام کی ترتیب ہیں، کسی ٹول کی سفارش نہیں۔ کوئی بھی کنفیگریشن نظام جو انہیں بیان کر سکے کافی ہے۔

پہلے چار اقسام کے ان پٹ کی فہرست بنائیں

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

کچھ بھی دوبارہ بنانے سے پہلے چار فہرستیں لکھیں۔ خالی قطار والی فہرست وہ فیصلہ ہے جو آپ نے ابھی نہیں لیا۔

رازوں کو ذخیرے سے باہر رکھیں اور بتائیں کہ وہ کہاں رہتے ہیں

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

آزمائش سادہ ہے: اگر کل ذخیرہ لیک ہو جائے تو حملہ آور کو کیا ملے گا؟ ٹیمپلیٹس اور ٹوپولوجی نوٹس بچ جاتے ہیں۔ کام کرنے والی شناخت نہیں بچتی۔

جو دوبارہ چلایا جا سکے اس کی ملکیت آٹومیشن کو دیں

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

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

ڈیٹا اور شناخت کو جان بوجھ کر بحال کریں

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

شناخت کے بارے میں طے کریں کہ آپ وہی آلہ بحال کر رہے ہیں یا متبادل درج کر رہے ہیں، کیونکہ یہ مختلف صفائی والی مختلف کارروائیاں ہیں۔

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

بوٹ ہونے کے قابل امیج چار میں سے ایک ان پٹ ہے، اور اسے دوبارہ پیدا کرنا سب سے آسان ہے۔

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