مان پنهنجي ڪم اسٽيشن تي مقامي الڳ ٿيل ترقياتي ماحول کي منظم ڪرڻ جي طريقي جي باري ۾ ڳالهائيندس. طريقيڪار هيٺ ڏنل عنصر جي اثر هيٺ ترقي ڪئي وئي آهي:
مختلف ٻولين کي مختلف IDEs ۽ ٽول چينز جي ضرورت آهي؛
مختلف منصوبا استعمال ڪري سگھن ٿا مختلف نسخن جا اوزار ۽ لائبريريون.
طريقه ڪار آهي LXD ڪنٽينرز اندر ترقي ڪرڻ جو مقامي طور تي هڪ ليپ ٽاپ يا ورڪ اسٽيشن تي هلندڙ گرافڪس آئوٽ سان ميزبان ڏانهن ريڊريٽ ڪيو ويو.
مثال جي تشڪيل Ubuntu 20.04.
اختيارن ۽ سببن تي غور مضمون جي آخر ۾ ڏنو ويو آهي.
1. LXD انسٽال ڪريو
В Ubuntu 20.04 LXD هاڻي موجود ناهي ڊيب پيڪيج جي طور تي، صرف سنيپ ذريعي:
$ snap install lxd
انسٽاليشن کان پوء، توهان کي شروع ڪرڻ جي ضرورت آهي:
$ lxd init
صرف سيٽنگ جيڪا آئون تبديل ڪريان ٿو storage bakend - مان استعمال ڪريان ٿو dir جيئن ته آسان. جيئن ته مان سنيپ شاٽ ۽ ڪاپيون استعمال نٿو ڪريان، ڊيڄاريندڙن ۾ دستاويز مون کي نه ڊڄ:
اهڙي طرح، ڊاريڪٽري جي پس منظر کي آخري رزورٽ اختيار طور سمجهيو وڃي ٿو.
اهو سڀني مکيه LXD خاصيتن کي سپورٽ ڪري ٿو، پر اهو انتهائي سست ۽ غير موثر آهي جيئن اهو انجام نٿو ڏئي سگهي
فوري ڪاپيون يا سنيپ شاٽ ۽ انهي ڪري هر وقت مثال جي اسٽوريج جي مڪمل ڪاپي ڪرڻ جي ضرورت آهي.
2. LXD پروفائل سيٽ اپ
LXD ۾ پروفائل ڪيترن ئي ڪنٽينرز تي لاڳو ڪيل پيٽرولر جا سيٽ آهن. منهنجي ضرورتن لاءِ، هڪ واحد ڊفالٽ پروفائل مون لاءِ ڪافي آهي default ھيٺ ڏنل تبديلين سان:
ايپليڪيشن ونڊوز ميزبان تي ڏيکاريا ويندا، پر اهي ڪنٽينر اندر جاري ڪيا ويندا - ssh استعمال ڪندي گرافڪس فارورڊ ڪرڻ وانگر.
مان دستي طور تي هلندڙ ڪنٽينرز کي بند نٿو ڪريان، ڇاڪاڻ ته مون کي ان ۾ گهڻو نقطو نظر نٿو اچي - مان پاڻ کي محدود ڪريان ٿو ته هلندڙ ايپليڪيشنن جي ونڊوز کي بند ڪرڻ لاءِ.
5. نتيجو
مان ترقيءَ لاءِ ميزبان OS استعمال ڪرڻ کي ترجيح نه ڏيان ٿو، ڇاڪاڻ ته ان لاءِ ڊولپمينٽ ٽولز کي انسٽال ڪرڻ، لائبريرين جا ڊيبگ ورجن، مخصوص طريقي سان سسٽم جي اجزاء کي ترتيب ڏيڻ، ۽ ٻين ڌانڌلين جي ضرورت پوندي. اهو سڀ ڪجهه اڻڄاتل رويي جي ڪري سگھي ٿو باقي، ترقي سان لاڳاپيل ناهي، سافٽ ويئر، يا اڃا به سڄي او ايس. مثال طور، OpenSSL ترتيبن ۾ تبديليون او ايس کي صحيح طور تي شروع ٿيڻ کان روڪي سگھي ٿي.
مون ترقي جي ماحول کي الڳ ڪرڻ لاءِ مختلف اوزار آزمايا آهن:
مجازي مشينون (KVM، VirtualBox، وغيره) - سڀ کان وڌيڪ واضح اختيار، پر خاص طور تي وڌيڪ وسيلن کي استعمال ڪري ٿو، جيتوڻيڪ ونڊوز جي تحت ترقي ڪرڻ لاء ٻيا اختيار نه آهن (جيڪڏهن ميزبان لينڪس آهي)؛
ڪلائوڊ ڊولپمينٽ ٽولز جيڪي مقامي مشين تي هلن ٿا (ڪلائوڊ 9 ڪنٽينر يا ورچوئل مشين ۾، ايڪليپس چي وغيره) - اهي آپريشن جي هن موڊ لاءِ نه ٺاهيا ويا آهن، انهن کي اضافي ترتيب ۽ سار سنڀال جي ضرورت آهي، اهو بهتر آهي ته انهن کي پنهنجي مقصد لاءِ استعمال ڪيو وڃي. مقصد - بادل ۾؛
ڊاکر ڪنٽينر - ٻيهر، اهي ڪنهن ٻئي لاء ٺهيل آهن، منهنجي خيال ۾ اهو تمام آسان ناهي ته انهن کي جلدي پروٽوٽائپ ڪرڻ لاء سافٽ ويئر استعمال ڪندي جيڪي اڃا تائين الڳ ڪنٽينرز ۾ پيڪيج نه ڪيا ويا آهن.
چونڊيل انداز مون کي ان جي سادگي ۽ گهٽ داخلا حد سان متاثر ڪري ٿو. پاڻ ڪنٽينرز ۾، توھان استعمال ڪري سگھو ٿا پراجيڪٽ لاءِ مخصوص طريقا: انسٽال ڪريو ۽ ترتيب ڏيو ھر شيءِ کي دستي طور تي، يا استعمال ڪريو آٽوميشن (پپٽ، جوابي، وغيره)، حتي ڊيپلائي بنيادي ڍانچي جي بنياد تي Docker. مان مخصوص سافٽ ويئر هلائڻ لاءِ LXD ڪنٽينر پڻ استعمال ڪريان ٿو جنهن کي يا ته انسٽال ڪرڻ لاءِ وڏي تعداد ۾ انحصار جي ضرورت آهي، يا هڪ مختلف OS ورجن- انهي صورت ۾، توهان گهربل او ايس ورزن سان ڪنٽينر ٺاهي سگهو ٿا، مثال طور $ lxc launch images:ubuntu/16.04 dev16.
اهو ياد رکڻ ضروري آهي ته اڪيلائي جي لحاظ کان، ڪنٽينرائيزيشن وٽ ورچوئلائيزيشن جي مقابلي ۾ وڏي حملي واري مٿاڇري آهي - ميزبان ۽ ڪنٽينر هڪ ئي ڪور شيئر ڪن ٿا، هڪ ڪمزوري جنهن ۾ مالويئر کي ڪنٽينر مان فرار ٿيڻ جي اجازت ڏئي سگهي ٿي. قابل اعتراض سافٽ ويئر سان تجربن لاء، اهو بهتر آهي ته وڌيڪ مناسب الڳ ڪرڻ واري ميڪانيزم کي استعمال ڪرڻ لاء.