پیکج مینیجر

آزاد دائرۃ المعارف، ویکیپیڈیا سے
Jump to navigation Jump to search
سائناپٹک، مکمل سہولیات کے حامل پیکج مینیجر کی ایک مثال

پیکج مینیجر ایسے سافٹ وئیر یا سافٹ وئیر کا مجموعہ ہوتے ہیں جنہیں کمپیوٹر دوسرے سافٹ وئیر نصب کرنے(Installation)، تبدیل کرنے (Modification)، ترتیبات (Configuration) کو منظم کرنے یا کمپیوٹر سے ہٹانے کے لیے استعمال کیا جاتا ہے۔ اگرچہ یہ کام کمپیوٹر استعمال کرنے والے لوگ خود بھی کرسکتے ہیں لیکن بعض سافٹ وئیر کا نظام کافی پیچیدہ ہوتا ہے لہٰذا  انہیں منظم رکھنے کے لیے سافٹ وئیر تیار کرنے والے پیکج مینجیر بھی بناتے ہیں[1]

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

پیکج مینیجرز کو بنانے کا مقصد یہی ہے کہ صارف کو سافٹ وئیر کو منظم کرنے سے آزادی مل جائے کیونکہ یہ چیزیں کئی مرتبہ بہت زیادہ وقت ضائع کرتی ہیں۔ عام طور پر پیکج مینیجر لینکس یا یونکس جیسے آپریٹنگ سسٹم کے لیے تیار کیے جاتے ہیں اور انٹرپرائز کے درجے کے سافٹ وئیر کو منظم کرنے کے لیے استعمال کیا جاتا ہے۔[2]

افعال[ترمیم]

اس تصویر میں یہ دکھایا گیاکہ کیسے پیکج مینیجر خود ہی کسی سافٹ وئیر ڈاؤن لوڈ کرکے تنصیب کررہا ہے۔ ساتھ ہی اس میں صارف کے کرنے کے کام جیسا کہ قواعد و ضوابط کو تسلیم کرنے جیسے افعال بھی موجود ہیں

ایک سافٹ وئیر پیکج دراصل محفوظ شدہ فائلز کا مجموعہ ہوتا ہے جسے میں متعلقہ سافٹ وئیر کے چلنے کے لیے ضروری معلومات محفوظ ہوتی ہیں۔[3] 

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

  • تحفیظات (Archive Files) سے معلومات حاصل کرنا تاکہ سافٹ وئیر کو منظم کیا جاسکے
  • سافٹ وئیر کی درستی، مکمل ہونے اور اسے استعمال کرنے کی منظوری کو ڈیجیٹل سرٹیفیکٹ کی مدد سے یقننی بنانا
  • اگر سافٹ وئیر کے کچھ اجزا سافٹ وئیر کی تنصیب کے پیکج میں موجود نہیں ہیں تو انہیں سافٹ وئیر مخزن یا ایپ سٹور سے ڈاؤن لوڈ کرنا
  • سافٹ وئیر پیکج کو منظم رکھنا تاکہ صارف کو پریشانی کا سامنا نہ کرنا پڑے
  • منحصرات کو منظم رکھنا تاکہ منحصری مسائل کا سامنا نہ کرنا پڑے

مشترکہ منحصرات کے مسائل[ترمیم]

کمپیوٹر سافٹ وئیر عام طور پر ساکن کی بجائے متحرک لائبریریز پر انحصار کرتے ہیں۔ متحرک لائبریریز کا سب سے بڑا فائدہ یہ ہے کہ انہیں کمپیوٹر میں محض ایک مرتبہ نصب کرنا پڑتا ہے اور تمام سافٹ وئیر جنہیں کسی نے بھی تیار کیا انہی لائبریریز کو استعمال کرسکتے ہیں۔ تاہم ان لائبریریز میں سب سے بڑا مسئلہ اس وقت آتا ہے جب صارف ان لائبریریز کا ورژن تبدیل کرتا ہے۔[4] مثال کے طور پر آپ ایک کمپیوٹر صارف ہیں اور آپ نے ونڈوز کی ایک متحرک لائبریری اپنے کمپیوٹر میں رکھی ہوئی ہے۔ آپ  نے دو سافٹ وئیر نصب کیے جو اس لائبریری کو استعمال کر رہے تھے۔ چونکہ  یہ متحرک تھی اسی لیے آپ کو یہ لائبریری ہر سافٹ وئیر کے لیے علاحدہ سے نصب کرنے کی ضرورت نہیں پڑی۔کچھ عرصہ بعد آپ نے جب اس لائبریری کا نیا ورژن متعارف کرایا گیا تو آپ نے بھی نیا ورژن شامل کر لیا۔ اس نئے ورژن کی شمولیت سے ممکن ہے کہ آپ کا ایک یا دونوں سافٹ وئیر جو اس لائبریری کو استعمال کر رہے تھے درست کام نہ کریں۔اس مسئلے کو "ڈی ایل ایل ہیل (DLL Hell)" کہا جاتا ہے۔ اچھے پیکج مینیجر کی یہ خوبی ہوتی ہے کہ وہ اگر کسی لائبریری کا ورژن تبدیل کرتا ہے تو پرانا ورژن بھی بحال رکھتا ہے تاکہ دوسرے سافٹ وئیر اس سے متاثر نہ ہوں۔

مقامی تالیف کے پیکجز کے لیے مواجہ[ترمیم]

کمپیوٹر استعمال کرنے یا منظم کرنے والے لوگ کسی بھی آزاد مصدر سافٹ وئیر کا مقامی ورژن بنا سکتے ہیں کیونکہ آزاد مصدر سافٹ وئیر کا سورس کوڈ میسر ہوتا ہے اور اس میں اپنی ضرورت کے مطابق تبدیلیاں کرکے استعمال کیا جاسکتا ہے۔ اس طرح کی تبدیلی کو مقامی تالیف (Local Compilation) کہا جاتا ہے۔ ایسی صورت حال میں صارف کا منتظم کو خود ہی مشترکہ منحصرات کے مسائل کا خیال رکھنا ہوگا ورنہ اسے اس کا کمپیوٹر اور سافٹ وئیر میں مسائل آسکتے ہیں کیونکہ پیکج مینیجر مقامی تالیف کے ذمہ دار نہیں ہوتے اور نہ ہی ان تبدیلیوں کو اپنے ڈیٹا بیس میں محفوظ کرتے ہیں

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

ترتیبات کا انتظام[ترمیم]

کسی بھی سافٹ وئیر کی ترتیبات اہم ہیں کیونکہ سافٹ وئیر چلتے ہوئے انہی پر انحصار کرتا ہے۔ عام طور پر جب سافٹ وئیر نظام کو ترقی دادہ (Upgrade) کیا جاتا ہے تو وہ فائلز جن میں ترتیبات محفوظ ہوتی ہیں تبدیل ہو جاتی ہیں۔ اگر صارف ان فائلز کا خیال نہ رکھے تو وہ سافٹ وئیر کو استعمال کرنے کے مقاصد حاصل نہیں کرپائے گا۔اچھا پیکیج منیجر اس چیز کو مد نظر رکھتا ہے کہ سافٹ وئیر کو نئے ورشن پر منتقل کرتے ہوئے ترتیبات کو خراب یا تبدیل نہ ہونے دے۔تاہم یہ ممکن ہے کہ نئے ورژن میں پرانی ترتیبات میں تبدیلی ہو جائے تو پیکج مینجر صارف کو اس بارے میں اطلاع ضرور دے گا۔

مخازن[ترمیم]

سافٹ وئیر مخازن دراصل سافٹ وئیر کے آن لائن مجموعے ہیں جہاں سافٹ وئیر محفوظ ہوتے ہیں۔ کچھ عرصہ قبل تک صارفین سافٹ وئیر کو آپٹیکل ڈسک پر تیار کنندہ یا فروخت کنندہ سے خریدتے تھے تاہم انٹرنیٹ کے وسیع اور تیز رفتار ہونے سے اب انہیں آن لائن مخازن (Repository) سے حاصل کیا جاتا ہے۔[5]

ترقی[ترمیم]

عام طور پر جب صارفین اپنے سافٹ وئیر کو نئے ورژن پر منتقل کرتے ہیں تو پیکج مینجر ان تمام اجزا کی فہرست تیار کرتا ہے جو ترقی دیے جا رہے ہوتےہیں۔ ساتھ ہی وہ یہ سہولت بھی دیتا ہے کہ اگر صارف چاہے تو اپنی مرضی اور ضرورت کے مطابق انہیں اجزا کو منتخب کرے جنہیں وہ منتقل کرنا چاہتا ہے۔بعض پیکج مینجر نئے اور پرانے ورژن بتانے کی سہولت بھی دیتے ہیں۔بعض اوقات پیکج مینیجر  میں یہ انتخاب بھی موجود ہوتا ہے کہ انتہائی اہم تبدیلیاں ہی ترقی دی جاتی ہیں۔ معمولی تبدیلیوں کو ترقی نہیں دی جاتی ۔ اسی طرح بعض حالات میں پیکج مینیجر میں کسی بھی تبدیلی کو ترقی نہ دینے کی سہولت موجود ہوتی ہے۔ اس سہولت کو ورژن پننگ (Version Pinning) کہتے ہیں

مثال کے طور پر

  • یم (Yum) نامی پیکج مینیجر میں اوپن آفس کے لیے سنٹکس ایکسکلوڈ *[6]
  • پیک مین میں اوپن کے لیے  اگنور پی کے جی ۔ یہ دونوں مثالیں اوپن آفس سافٹ وئیر کو ترقی دینے روکنے کے لیے ہیں
  • dpkg اور dselect میں بعض فلیگ کی مدد سے یہ سہولت لی جا سکتی ہے۔
  • اے پی ٹی میں بھی فلیگ کی مدد سے پیچیدہ قسم کی پننگ کی جاسکتی ہے ۔
  • صارف کسی پیکج کو بلیک لسٹ بھی کرکے یہ کام کرسکتے ہیں
  • اپٹیچیوڈ میں "ہولڈ" اور ف"اربڈن" نامی فلیگ موجود ہیں
  • پورٹیج میں پیکج ماسک کنفگریشن فائل کی سہولت موجود ہے۔

ترتیب سے پیکج ہٹانا[ترمیم]

کچھ پیکج مینیجر زیادہ بہتر طریقے سے پیکج ہٹاتے ہیں جس میں وہ تمام پیکج بھی ختم ہو جاتے ہیں جو مذکورہ پیکج کو استعمال کر رہے ہوتے ہیں[7] 

احکامات کا موازنہ[ترمیم]

ویسے تو ہر پیکج مینیجر میں احکامات دینے کا اپنا طریقہ ہوتا ہے لیکن عام طور پر یہ ان احکامات کو ایک نظام سے دوسرے نظام میں ترجمہ کیا جاسکتا ہے۔کچھ پیکج مینیجر ایک قسم کے فنکشن استعمال کر رہے ہوتے ہیں۔ کچھ مثالیں یہ ہیں

Action zypper[8] pacman apt dnf (yum) portage
install package zypper in PKG pacman -S PACKAGE apt install PACKAGE yum install PACKAGE emerge PACKAGE
remove package zypper rm -RU PKG pacman -R PACKAGE apt remove PACKAGE dnf remove --nodeps PACKAGE emerge -C PACKAGE or
emerge --unmerge PACKAGE
remove package+orphans zypper rm -u --force-resolution PKG pacman -Rs PACKAGE apt autoremove PACKAGE dnf remove PACKAGE emerge -c PACKAGE or
emerge --depclean PACKAGE
update software database zypper ref pacman -Sy apt update yum check-update emerge --sync
show updatable packages zypper lu pacman -Qu apt list --upgradable yum check-update emerge -avtuDN --with-bdeps=y @world or
emerge --update --pretend @world
delete orphans+config zypper rm -u pacman -Rsn $(pacman -Qdtq) apt autoremove dnf erase PKG emerge --depclean
show orphans zypper pa --orphaned --unneeded pacman -Qdt package-cleanup --quiet --leaves --exclude-bin emerge -caD or
emerge --depclean --pretend
update all zypper up pacman -Syu apt upgrade yum update emerge --update --deep --with-bdeps=y @world

پھیلا[ترمیم]

پیکیج مینیجر کافی عرصے سے استعمال ہو رہے ہیں جیسا کہ ڈی پی کے جی 1994 سے موجود ہے[9]

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

تنصیب کار سے موازنہ[ترمیم]

یہ سوچا جاسکتا ہے کہ جو سہولیات پیکج دے رہا ہے وہی سہولیات عام طور سافٹ کے اپنے تنصیب کار (Installer) بھی فراہم کرتے ہیں۔ تاہم دونوں میں فرق واضح ہے

خود کار تیاری کی سہولت کا موازنہ[ترمیم]

زیادہ تر سافٹ وئیر ترتیبات منتظم نظام سافٹ وئیر کی تیاری اور ان کی تنصیب کو علاحدہ علاحدہ کرتے ہیں جبکہ اس کے مقابلے میں خود کار تیاری کے لیے سورس کی تالیف (Compilation) کے بعد اس کی ثنائی فائل (Binary File) بنا لی جاتی ہے جو پیکج مینیجر خود ہی دوسرے کمپیوٹر سے ثنائی فائل کو ڈاؤن لوڈ کرکے تنصیب کردیتا ہے۔

مشہور پیکج مینیجر اور ان کے فارمیٹ[ترمیم]

یونیورسل پیکج مینیجر[ترمیم]

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

جے فراگ کا آرٹی فیکٹری اور انیڈوکا پروگٹ معروف یونیورسل پیکج مینیجر ہیں

پیکج کے فارمیٹ[ترمیم]

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

مثال کے طور یم آر پی ایم پر انحصار کرتا ہے۔ یم اس کی فراہم کردہ سہولیات کے علاوہ اپنی سہولیات بھی دیتا ہے جس کی وجہ سے یم کی افادیت بڑھ جاتی ہے۔اسی طرح کی ایک اور مثال سائنیپٹک پیکج مینیجر ہے جو ایڈوانس پیکجنگ ٹول (اے پی ٹی) کو استعمال کرتا ہے جبکہ اے پی ٹی خود ڈی پی کے جی کی سہولیات سے فائدہ اٹھاتا ہے۔

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

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

مفت و آزاد مصدر[ترمیم]

مفت و آزاد مصدر سافٹ وئیر پیکج مینیجر کو زیادہ استعمال کرتے ہیں کیونکہ وہ مختلف آپریٹنگ سسٹمز کے میسر ہوتے ہیں۔چونکہ ان ہیں تیار کرنے والے لوگ مسلسل ان میں تبدیلیاں کرتے رہتے ہیں اس لیے ان کے نئے ورژن بہت جلد آجاتے ہیں۔ ساتھ ہی ان میں اضافے بھی بہت تیزی کے ساتھ ہوتے ہیں۔ ان تمام  چیزوں کو منظم رکھنے کے لیے پیکج مینیجر نہایت اہم کردار ادا کرتا ہے کیونکہ پیکج مینیجر خود ہی مرکزی سرور سے نئے ورژن کو ڈاؤن لوڈ کرکے تنصیب کرنے کی صلاحیت رکھتا ہے۔

اثر[ترمیم]

آئین مرڈوک کا کہنا ہے کہ یہ پیکج مینیجر کی مہربانی ہے کہ لینکس اس وقت کمپیوٹر کی صنعت کا سب سے بہتر آپریٹنگ سسٹم بن چکا ہے۔ پیکج مینیجر کی بدولت صارف کو کئی سہولیات میسر آئی ہیں اور اس کا بہت کام کم ہوا ہے  جو پہلے اپنے آپریٹنگ سسٹم کے  مطابق سافٹ وئیر ڈھونڈنے اور انہیں  مسلسل بہتر بنانے میں صرف ہوتا تھا۔[10]

یہ بھی دیکھیں[ترمیم]

  • ایپ سٹریم
  • Flatpak
  • Installation (computer programs)
  • List of software package management systems
  • Package format
  • pkgutil
  • Windows Installer

حوالہ جات[ترمیم]

  1. https://aptitude.alioth.debian.org/doc/en/pr01s02.html
  2. "Software Distribution"۔ Dell KACE۔ مورخہ 3 اکتوبر 2015 کو اصل سے آرکائیو شدہ۔ اخذ شدہ بتاریخ 11 جولا‎ئی 2012۔
  3. Ludovic Courtès, Functional Package Management with Guix, June 2013, Madrid, European Lisp Symposium 2013 ;
  4. Chris، Tucker (2007-03-15). Optimal Package Install/Uninstall Manager. UC San Diego. p. 1. http://cseweb.ucsd.edu/~lerner/papers/opium.pdf۔ اخذ کردہ بتاریخ 2011-09-14. 
  5. "Linux repository classification schemes"۔ braintickle.blogspot.com۔ اخذ شدہ بتاریخ 2008-03-01۔
  6. "CentOS yum pinning rpms"۔ centos.org۔ مورخہ 2007-11-02 کو اصل سے آرکائیو شدہ۔ اخذ شدہ بتاریخ 2008-03-01۔
  7. "pacman(8) Manual Page"۔ archlinux.org۔ اخذ شدہ بتاریخ 2008-03-01۔
  8. [1] [2]
  9. "dpkg version 0.93.15 source code"۔
  10. "How package management changed everything"۔ ianmurdock.com۔ مورخہ 23 فروری 2009 کو اصل سے آرکائیو شدہ۔ اخذ شدہ بتاریخ 2008-03-01۔