Solaris سے illumos تک: وہ fork جو آج بھی زندہ ہے
Sun نے Solaris میں ZFS اور DTrace بنائے، پھر source code کھولا۔ Oracle نے 2010 میں اسے بند کر دیا، مگر illumos fork کی بدولت دونوں آج بھی چلتے ہیں۔
Solaris اور illumos کیا ہیں
Solaris اور illumos ایک ہی Unix source tree کی دو شاخیں ہیں۔ Sun Microsystems نے Solaris تیار کیا اور 2005 میں اس کے زیادہ تر source code کو شائع کیا۔ Oracle نے 2010 میں Sun خرید لیا اور اس source کو شائع کرنا بند کر دیا۔ اس کے بعد Oracle سے باہر کے developers نے open code کو ایک نئے نام، illumos، کے تحت آگے بڑھایا۔ 2026 میں operating system خود ایک مخصوص دائرے تک محدود ہے۔ لیکن اس میں تیار کی گئی storage layer اور tracing tool محدود نہیں ہیں۔ یہی وجہ ہے کہ یہ تاریخ آپ کے وقت کے قابل ہے۔
اگر آپ Linux یا FreeBSD پر ZFS چلا رہے ہیں تو آپ ایسا code چلا رہے ہیں جو Sun نے Solaris کے لیے لکھا تھا اور جو کمپنی، product line اور licence dispute کے بعد بھی برقرار رہا۔ یہ تحریر اسی عمل کی داستان ہے، اور اس میں تاریخیں دوبارہ جانچی گئی ہیں۔
Solaris کا ماخذ: BSD، System V اور SVR4
Sun Microsystems کی بنیاد 24 February 1982 کو Scott McNealy، Andy Bechtolsheim، Vinod Khosla اور Bill Joy نے رکھی۔ اس کا operating system، SunOS، BSD (Berkeley Software Distribution) سے ماخوذ تھا۔ یہ وہ university Unix سلسلہ تھا جس پر Bill Joy نے Sun کے وجود میں آنے سے پہلے کام کیا تھا۔ دوسرا Unix سلسلہ AT&T کا System V تھا، جو تجارتی طور پر فروخت ہوتا تھا۔ یہی دونوں شاخیں Linux پر ختم ہونے والے Unix family tree میں بیان کردہ تقسیم ہیں، اور Sun ایک دہائی تک اس کی BSD شاخ میں شامل رہا۔
1987 میں Sun اور AT&T نے BSD، System V اور Xenix کو ایک ہی release میں ضم کرنے کے لیے مشترکہ project کا اعلان کیا: UNIX System V Release 4، جسے عموماً SVR4 لکھا جاتا ہے۔ 4 September 1991 کو Sun نے اعلان کیا کہ SunOS 4 کی جگہ SVR4 سے ماخوذ system، نئے marketing name Solaris 2 کے تحت، لے گا۔ Solaris 2.0، June 1992 میں صرف SPARC hardware کے لیے release ہوا۔ Sun نے Unix کی تقسیم میں اپنا فریق بدل لیا تھا، اور اس کے customers کو اپنے software کو نئے system پر منتقل کرنا پڑا۔
پرانا نام کبھی ختم نہیں ہوا۔ Kernel نے SunOS کی numbering برقرار رکھی، اس لیے Solaris 2.6، SunOS 5.6 پر چلتا تھا، اور Oracle Solaris 11.4 اب بھی خود کو SunOS 5.11 ظاہر کرتا ہے۔ 2026 میں illumos machine پر uname -a چلائیں تو printed output کا پہلا لفظ اب بھی SunOS ہوتا ہے، کیونکہ illumos نے code کے ساتھ یہ نام بھی وراثت میں حاصل کیا۔
2005 میں Solaris 10 نے کیا متعارف کرایا
Solaris 10 31 January 2005 کو جاری ہوا۔ یہاں اس کی اہمیت یہ ہے کہ کمپنی کے بعد جو کچھ برقرار رہا، وہ یا تو اسی release میں شامل تھا یا اس کی کسی update میں آیا۔
DTrace کو Sun میں Bryan Cantrill، Mike Shapiro اور Adam Leventhal نے لکھا، اور یہ پہلی بار November 2003 میں دستیاب ہوا۔ یہ کسی چیز کو دوبارہ compile کیے بغیر اور جس process کی نگرانی کی جا رہی ہو اسے restart کیے بغیر، چلتے ہوئے kernel اور user processes میں instrumentation شامل کرتا ہے۔ ایسا probe جسے enable نہ کیا گیا ہو، کوئی لاگت نہیں ڈالتا، کیونکہ instrumentation صرف اس وقت patch کی جاتی ہے جب کوئی script اس کی درخواست کرے۔ اسی وجہ سے administrators اسے production machines پر استعمال کرنے پر آمادہ ہوئے۔ DTrace نے The Wall Street Journal's 2006 Technology Innovation Awards میں اعلیٰ انعام جیتا، اور 2008 میں USENIX STUG (Software Tools User Group) award بھی حاصل کیا۔
ZFS کو Sun میں Jeff Bonwick، Bill Moore اور Matthew Ahrens نے design کیا، اور 14 September 2004 کو اس کا اعلان کیا گیا۔ اس نے volume manager اور filesystem کو ایک ہی layer میں ضم کر دیا۔ اسی وجہ سے یہ read کے وقت ہر block کا checksum verify کر سکتا ہے اور خراب block کو redundant copy سے repair کر سکتا ہے۔ Writes copy on write ہوتی ہیں: block کو کبھی اپنی جگہ overwrite نہیں کیا جاتا۔ اس لیے write کے دوران crash ہونے پر پرانا data برقرار رہتا ہے، بجائے اس کے کہ filesystem آدھا لکھا ہوا رہ جائے۔ Snapshots کی لاگت تقریباً نہ ہونے کے برابر ہوتی ہے، کیونکہ snapshot صرف ان blocks کا مجموعہ ہے جنہیں بعد کی writes نے تبدیل نہیں کیا۔ ZFS ابتدائی Solaris 10 release میں شامل نہیں تھا۔ یہ Solaris 10 6/06 update میں June 2006 میں جاری کیا گیا۔
Zones تیسرا حصہ تھیں۔ ایک zone ایک kernel کو متعدد isolated user spaces فراہم کرتا ہے۔ ہر user space کا اپنا root filesystem، process table اور network configuration ہوتا ہے۔ Zones February 2004 میں Solaris 10 کی ایک beta build میں ظاہر ہوئیں اور مکمل release کے ساتھ جاری کی گئیں۔ FreeBSD مختلف طریقے سے پہلے اسی تصور تک پہنچ چکا تھا، اور jails اور Docker containers کے درمیان موازنہ آج بھی یہ سمجھنے کا واضح ترین طریقہ ہے کہ kernel level isolation حقیقت میں کیا ہوتی ہے۔ Zones آج illumos میں فعال ہیں اور ذیل میں موجود کم از کم ایک distribution کی بنیاد ہیں۔
سن نے Solaris کا source code کیوں کھولا
Sun نے 1 دسمبر 2004 کو CDDL (Common Development and Distribution License) کو OSI (Open Source Initiative) میں جمع کرایا، اور OSI نے 14 جنوری 2005 کو اسے منظور کر لیا۔ CDDL، MPL (Mozilla Public License) کے version 1.1 پر مبنی ہے۔ اس کا copyleft انفرادی file کی سطح پر کام کرتا ہے: CDDL source file کو CDDL ہی رہنا ہوتا ہے، لیکن اس سے بننے والے binary کو دیگر شرائط کے تحت code کے ساتھ شامل کیا جا سکتا ہے۔
سب سے پہلے DTrace جاری کیا گیا۔ اس کا source code 25 جنوری 2005 کو نئی شروع کی گئی opensolaris.org site پر CDDL کے تحت جاری ہوا، یعنی Solaris 10 کے خود release ہونے سے 6 دن پہلے۔ Solaris system code کا بڑا حصہ 14 جون 2005 کو جاری کیا گیا۔ ZFS کو 31 اکتوبر 2005 کو Solaris کے مرکزی development trunk میں شامل کیا گیا، اور 16 نومبر 2005 کو build 27 میں OpenSolaris developers کو دستیاب ہوا۔ OpenSolaris ایک ایسی distribution بھی بن گئی جسے install کیا جا سکتا تھا: 2008.05، 5 مئی 2008 کو live CD کے طور پر جاری ہوئی، اور 2009.06، 1 جون 2009 کو SPARC support کے ساتھ جاری ہوئی۔
آج آپ کیا چلا سکتے ہیں، اس کا فیصلہ اب بھی licence کا انتخاب کرتا ہے۔ Free Software Foundation، CDDL کو ایسی free software licence قرار دیتی ہے جو GPL (GNU General Public License) کے ساتھ incompatible ہے۔ یہ incompatibility MPL 1.1 سے منتقل ہوئی ہے۔ Linux kernel، GPLv2 کے تحت ہے۔ اسی لیے ZFS on Linux کو kernel source tree کے اندر merge کرنے کے بجائے اس کے باہر kernel module کے طور پر build کیا جاتا ہے، اور اسی وجہ سے یہ mainline kernel میں شامل نہیں ہے۔ کسی بھی open licence کے تحت publish کرنے کا فیصلہ اس پوری داستان کے لیے سب سے اہم فیصلہ ہے، اور open source licensing کی تاریخ وضاحت کرتی ہے کہ کوئی company یہ فیصلہ آخر کیوں کرتی ہے۔
Oracle نے Sun خریدنے کے بعد کیا ہوا
Oracle نے 20 April 2009 کو اعلان کیا کہ وہ Sun کو US$7.4 billion میں خریدے گا، یا Sun کی نقد رقم اور قرض کو منہا کرنے کے بعد US$5.6 billion میں۔ یہ معاہدہ 27 January 2010 کو مکمل ہوا۔
13 August 2010 کو Mike Shapiro، Bill Nesheim اور Chris Armes کی تحریر کردہ ایک داخلی Oracle یادداشت کمپنی کے اندر گردش میں آئی اور بعد میں افشا ہو گئی۔ اس میں نئی پالیسی براہِ راست بیان کی گئی تھی: "ہم Solaris آپریٹنگ سسٹم کے مکمل source code کو اس کی تیاری کے دوران real-time میں، nightly بنیاد پر، مزید تقسیم نہیں کریں گے۔" اس میں مزید community builds کو خارج کر دیا گیا تھا: "ہم کوئی دوسری binary distributions بھی جاری نہیں کریں گے، مثلاً Solaris binaries کی nightly یا bi-weekly builds، یا OpenSolaris 2010.05 یا اس کے بعد کی کوئی distribution۔" اس کے بجائے open source releases، shipped products کے بعد جاری کی جاتیں: "ہم اپنے enterprise Solaris operating system کے full releases کے بعد approved CDDL یا دیگر open source-licensed code کی updates تقسیم کریں گے۔"
23 August 2010 کو OpenSolaris Governing Board نے ایک resolution منظور کیا، جس میں درج کیا گیا کہ Oracle نے board کے لیے کوئی liaison مقرر نہیں کیا تھا اور 13 August کو development partnership ختم کرنے کا اعلان کیا تھا۔ board نے Sun کے تیار کردہ اصل charter کے تحت community کا control Oracle کو واپس کرنے کے حق میں ووٹ دیا، جس کے نتیجے میں board تحلیل ہو گیا۔
Oracle Solaris 11، 9 November 2011 کو جاری ہوا۔ 2 September 2017 کو Oracle نے Solaris کی بیشتر teams کے ملازمین کو فارغ کر دیا۔ Oracle Solaris 11.4، 28 August 2018 کو جاری ہوا اور اب بھی current release ہے۔ Oracle کی lifetime support policy کے تحت، 11.4 کے لیے Premier Support November 2031 تک اور Extended Support November 2037 تک جاری رہے گا۔ اس لیے Solaris ایک supported commercial product ہے، جس کی published end date موجود ہے، اور اس کا موجودہ release 2018 سے نافذ ہے۔
illumos کیسے شروع ہوا، اور اسے fork کیوں کہا جاتا ہے
3 August 2010 کو، memo افشا ہونے سے دس دن پہلے، Garrett D'Amore نے illumos کا اعلان کیا۔ یہ نام illum سے بنا ہے، جو لاطینی زبان میں روشنی کے لیے استعمال ہوتا ہے، اور OS سے، جو operating system کا مخفف ہے۔ project اسے ایک ہی لفظ کے طور پر لکھتا ہے اور صرف پہلے حرف کو capital کرتا ہے۔
ہدف OS/Net تھا، جسے عموماً ON لکھا جاتا ہے۔ یہ وہ consolidation ہے جس میں kernel اور بنیادی system utilities شامل ہیں۔ OpenSolaris کبھی مکمل طور پر open نہیں تھا۔ اس کے کئی حصے closed binaries کے طور پر release ہوتے تھے، جنہیں Sun سے باہر کوئی rebuild نہیں کر سکتا تھا۔ ان میں C library (libc_i18n) کے اندر موجود internationalisation code، NFS lock manager، cryptographic framework، LSI host bus adapters کے لیے mpt driver جیسے drivers، اور SPARC platform کا کچھ code شامل تھا۔ ان حصوں کو replace کرنا project کا پہلا کام تھا، کیونکہ ایسا operating system جسے source سے build نہ کیا جا سکے، maintain نہیں کیا جا سکتا۔
D'Amore نے fork کے لفظ کے استعمال میں احتیاط کی۔ انہوں نے لکھا: "ہم آج fork نہیں ہیں، کیونکہ ہم OS/Net کو جس طرح track کرتے ہیں۔" ان کی مراد ایک downstream repository تھی جو Oracle کے tree کی پیروی کرتی اور تبدیلیاں upstream واپس بھیج سکتی تھی۔ دس دن بعد upstream نے publishing بند کر دی۔ illumos خود بخود fork بن گیا، کیونکہ track کرنے کے لیے مزید کچھ باقی نہیں رہا تھا۔ core tree، illumos-gate، August 2026 تک 23,000 commits سے تجاوز کر چکا ہے اور اب بھی commits قبول کر رہا ہے۔
illumos سے کون سی distributions اخذ ہوتی ہیں
illumos ایسی چیز نہیں ہے جسے آپ install کرتے ہیں۔ یہ بنیادی source tree ہے، اور distributions اس کے اوپر قابلِ استعمال system تیار کرتی ہیں۔ اب بھی releases فراہم کرنے والی distributions یہ ہیں۔
- OpenIndiana کا باضابطہ آغاز 14 September 2010 کو London کے JISC Centre میں ہوا۔ یہ پرانی OpenSolaris desktop اور server distribution کی سب سے قریبی successor ہے۔ یہ Hipster نام کی rolling release ہے، اور 2026.04 snapshot 5 May 2026 کو شائع کیا گیا۔
- OmniOS ایک server distribution ہے۔ اصل vendor کی جانب سے کام بند کیے جانے کے بعد اب اس کی community اسے OmniOS CE کے طور پر maintain کرتی ہے۔
- SmartOS zones پر مبنی hypervisor platform ہے۔ Joyent نے اسے بنایا تھا اور April 2022 میں اعلان کیا کہ SmartOS اور Triton 1 May 2022 سے MNX Solutions کو منتقل کیے جا رہے ہیں۔
- NexentaStor نے storage appliances کے لیے یہی base استعمال کیا۔ illumos اسی commercial line سے نکلا ہے۔
- Tribblix ایک چھوٹی distribution ہے جسے Peter Tribble maintain کرتے ہیں۔ اس کی وضاحت نیچے دی گئی ہے۔
- DilOS، Debian کے package tooling کو illumos kernel کے اوپر فراہم کرتا ہے۔
آج illumos نظام کی تنصیب کیسی دکھائی دیتی ہے
Tribblix ایک مفید مثال ہے، کیونکہ یہ مختصر ہے، اس کی دستاویزات عوامی طور پر دستیاب ہیں، اور اس کے نئے releases اب بھی جاری ہوتے ہیں۔ x86 کے لیے Milestone 41، 5 August 2026 کو شائع ہوا، جبکہ SPARC لائن 21 April 2026 کو Milestone 34 تک پہنچ گئی۔ یہ project خود کو جدید components کے ساتھ retro style کے طور پر بیان کرتا ہے، اور اس نے Solaris کے استعمال کردہ SVR4 package format کو برقرار رکھا، بجائے اس کے کہ نئے package system پر منتقل ہوتا۔
تنصیب live image سے چلتی ہے۔ آپ ISO سے boot کرتے ہیں، user jack کے طور پر password jack کے ساتھ login کرتے ہیں، root بن جاتے ہیں، اور disk device پر installer چلاتے ہیں۔ Project کی اپنی install documentation میں یہی command دی گئی ہے:
./live_install.sh -G c1t0d0-G flag EFI (extensible firmware interface) partition layout لکھتا ہے، جبکہ -b اس کے بجائے legacy MBR (master boot record) layout منتخب کرتا ہے۔ Disk کے نام Solaris کی cXtYdZ convention پر مبنی ہوتے ہیں، نہ کہ /dev/sda پر۔ اگر آپ Linux سے آ رہے ہیں تو یہی پہلی چیز ہوگی جو غیر مانوس لگے گی۔ Software sets کو overlays کہا جاتا ہے، اور انہیں اسی line پر نامزد کیا جا سکتا ہے:
./live_install.sh -G c1t0d0 develop desktopتنصیب کے بعد package tool zap ہوتا ہے۔ یہ overlays پر کام کرتا ہے، اس لیے dependencies خود manage ہو جاتی ہیں:
zap refresh
zap install-overlay develop
zap update-overlay -aیہ وہ commands ہیں جنہیں Tribblix شائع کرتا ہے۔ یہ ان hardware یا hypervisor پر چلتی ہیں جسے آپ control کرتے ہیں۔ VPS control panel میں one-click image کے پیچھے آپ کو یہ چیز نہیں ملے گی۔ 2026 میں illumos deployment کی یہی حقیقی صورت حال ہے۔
ZFS اور DTrace نے Solaris کے بعد بھی کیوں بقا پائی
ماخذ شائع ہونے کے تقریباً فوراً بعد ZFS، Solaris سے باہر آ گیا۔ Pawel Jakub Dawidek نے اسے FreeBSD پر port کیا، جہاں یہ 2008 میں FreeBSD 7.0 کے بعد سے سسٹم کا حصہ ہے۔ Linux کے لیے native ZFS پر کام 2008 میں شروع ہوا اور 2013 میں اس کی پہلی stable release جاری ہوئی۔ 2010 سے 2013 کے درمیان illumos کے پاس ZFS source کی reference copy موجود تھی، کیونکہ Oracle کا tree closed تھا اور ہر دوسرے port کو source لینے کے لیے کسی مشترکہ جگہ کی ضرورت تھی۔ fork کی عملی اہمیت یہی ہے: اس کے بغیر ports کے پاس merge کرنے کے لیے کوئی مشترکہ ancestor نہ ہوتا۔
OpenZFS project کا اعلان 17 September 2013 کو ان ports کے درمیان coordination کے لیے کیا گیا۔ ZFS کے اصل authors میں شامل Matt Ahrens بھی اس کے founders میں تھے۔ OpenZFS 2.0 کو 30 November 2020 کو جاری کیا گیا۔ اس کی release notes میں نتیجہ واضح طور پر بیان کیا گیا: "The ZFS on Linux project has been renamed OpenZFS! Both Linux and FreeBSD are now supported from the same repository making all of the OpenZFS features available on both platforms." FreeBSD 13.0 نے اپنی illumos derived copy ختم کر دی اور اس مشترکہ tree پر منتقل ہو گیا۔
ZFS کی دونوں lines disk format کے لحاظ سے مختلف ہو چکی ہیں۔ open line pool version 28 پر رک گئی، جو Sun کی شائع کردہ آخری version تھی۔ اس کے بعد placeholder version 5000 کے تحت named feature flags متعارف کرائے گئے، تاکہ pool ایک واحد number کے بجائے اپنے استعمال کردہ features کی فہرست ظاہر کرے۔ Oracle نے closed source کے اندر اپنی version numbers بڑھانا جاری رکھا۔ ایک طرف version 28 سے آگے بنایا گیا pool دوسری طرف import نہیں کیا جا سکتا۔ اگر آپ یہ طے کر رہے ہیں کہ اسے کہاں چلایا جائے، تو FreeBSD کے مقابلے میں Linux پر OpenZFS کا طرزِ عمل دونوں hosts کے حقیقی فرق کی وضاحت کرتا ہے۔
DTrace نے کم فاصلہ طے کیا۔ January 2009 میں FreeBSD 7.1 تک یہ standard بن چکا تھا، اور Apple نے اسے Mac OS X 10.5 Leopard میں شامل کیا۔ Oracle نے August 2017 میں DTrace kernel code کو GPLv2 کے تحت جاری کیا۔ یہ تبدیلی February 2018 میں بڑے پیمانے پر نوٹ کی گئی اور اس سے Linux کے لیے licence barrier ختم ہو گئی۔ اسے کبھی mainline kernel میں merge نہیں کیا گیا۔ عملی طور پر Linux tracing، eBPF پر چلتی ہے، اور bpftrace اسے ایک ایسی scripting language فراہم کرتا ہے جو دانستہ طور پر DTrace کے D سے قریب ہے۔
اصل نکتہ Solaris سے متعلق نہیں بلکہ عمومی ہے۔ Sun نے ZFS اور DTrace کو ایسے licence کے تحت شائع کیا جس نے دوسرے لوگوں کو ان کی copy رکھنے اور ان پر کام جاری رکھنے کی اجازت دی۔ جب اس کام کی مالی معاونت کرنے والی کمپنی رک گئی، تو کام جاری رہا، کیونکہ code پہلے ہی دوسرے trees اور دوسرے لوگوں کے پاس موجود تھا۔ Solaris کے وہ حصے جو کبھی open نہیں کیے گئے، بشمول وہ closed binaries جنہیں illumos کو دوبارہ لکھنا پڑا، کمپنی کے ساتھ ہی ختم ہو گئے۔ Open sourcing یہی تبدیلی لاتا ہے، اور یہی mechanism Linux distributions کے ایک دوسرے سے اخذ ہونے کے طریقے کے پیچھے بھی کام کرتا ہے۔
کیا VPS پر illumos چلانا چاہیے؟
تقریباً ہر ایک کے لیے جواب نہیں ہے، اور اوپر دی گئی کوئی بات اسے آزمانے کی سفارش نہیں کرتی۔ illumos محدود اقسام کے hardware کو support کرتا ہے، کیونکہ اس کا driver set ان drivers پر مشتمل ہے جنہیں Sun نے support کیا تھا، اور ان پر جو بعد میں ایک چھوٹی community نے لکھے ہیں۔ VPS providers عموماً Linux اور BSD images فراہم کرتے ہیں۔ اس لیے illumos install کرنے کے لیے عام طور پر اپنی ISO کسی ایسے provider پر upload کرنی پڑتی ہے جو custom images کی اجازت دیتا ہو، پھر یہ معلوم کرنا پڑتا ہے کہ virtual disk اور network devices شناخت ہوئے ہیں یا نہیں۔ Third-party software distribution کے اپنے package set یا آپ کے اپنے compiler سے حاصل ہوتا ہے۔
اسے چلانے کی حقیقی وجوہات موجود ہیں: ایسا Solaris workload جسے آپ کو جاری رکھنا ہو، ایسا zones deployment جسے آپ پہلے سے operate کرتے ہوں، یا source code پڑھنے میں دلچسپی۔ اوپر بیان کردہ distributions maintained ہیں اور ان کی mailing lists سوالات کے جواب دیتی ہیں۔ یہ نئی server deployment کے لیے default انتخاب سے مختلف بات ہے۔
اگر آپ یہاں ZFS کے لیے آئے ہیں تو اسے حاصل کرنے کے لیے illumos ضروری نہیں۔ Linux یا FreeBSD پر OpenZFS چلائیں، جہاں یہ packaged، documented اور وسیع پیمانے پر deployed ہے۔ اگر آپ اسی family کے BSD پہلو کو server کے لیے زیرِ غور لا رہے ہیں تو server platform کے طور پر Linux اور FreeBSD کا عملی تقابل روزمرہ operation میں آنے والی تبدیلیوں کا جائزہ پیش کرتا ہے۔ illumos ان tools کی origin story ہے، اور یہ جاننا کہ وہ کہاں سے آئے، ان کے بہت سے رویوں کو سمجھنے میں مدد دیتا ہے۔ اس میں یہ بھی شامل ہے کہ zpool اور zfs Linux کے باقی storage stack سے بالکل مختلف کیوں محسوس ہوتے ہیں۔
FAQ
کیا illumos، OpenSolaris ہی ہے؟
نہیں۔ OpenSolaris، Sun کا project اور distribution تھا جسے Oracle نے وراثت میں حاصل کیا، اور Oracle نے اسے 2010 میں ختم کر دیا۔ illumos ایک الگ project ہے جس کا اعلان 3 August 2010 کو کیا گیا تھا۔ یہ OpenSolaris کے آخری published core source، یعنی OS/Net consolidation، سے بنایا گیا تھا۔ اس کا پہلا کام ان closed binary components کو تبدیل کرنا تھا جو OpenSolaris کے ساتھ ship ہوئے تھے، جن میں libc_i18n، NFS lock manager، cryptographic framework اور کئی drivers شامل تھے۔ 2010 کے بعد illumos کا کوئی code Oracle سے نہیں آیا، کیونکہ Oracle نے اسے publish کرنا بند کر دیا تھا۔
Linux اپنے kernel میں ZFS شامل کیوں نہیں کر سکتا؟
Licences ایک دوسرے سے مطابقت نہیں رکھتیں۔ ZFS، CDDL کے تحت ہے۔ Free Software Foundation، CDDL کو ایسی free software licence قرار دیتی ہے جو GPL کے ساتھ incompatible ہے۔ یہ incompatibility CDDL کو MPL 1.1 سے وراثت میں ملی ہے۔ Linux kernel، GPLv2 کے تحت ہے۔ عملی نتیجہ یہ ہے کہ Linux پر OpenZFS، out of tree kernel module کے طور پر ship ہوتا ہے۔ یہ module عموماً آپ کے install کیے گئے ہر kernel کے لیے DKMS کے ذریعے build ہوتا ہے، یا prebuilt module package کے طور پر دستیاب ہوتا ہے۔ یہ اچھی طرح کام کرتا ہے، لیکن ہر نئے kernel کے لیے module دوبارہ build کرنا پڑتا ہے۔ اس لیے یہ نئی kernel release سے کئی دن یا ہفتے پیچھے رہ سکتا ہے۔
کیا Oracle Solaris کو اب بھی support حاصل ہے؟
ہاں۔ Oracle Solaris 11.4، 28 August 2018 کو release ہوا تھا اور موجودہ release ہے۔ Oracle کی lifetime support policy کے تحت Premier Support، November 2031 تک، اور Extended Support، November 2037 تک جاری رہے گا۔ Oracle نے 2 September 2017 کو Solaris teams کے بیشتر ارکان کو ملازمت سے فارغ کر دیا تھا۔ اس کے بعد 11.4 کو نئی major version کے بجائے support repository updates ملتی رہی ہیں۔ مکمل source اس طریقے سے publish نہیں کیا گیا جس طرح OpenSolaris نے کیا تھا۔
کیا میں VPS پر illumos install کر سکتا ہوں؟
کبھی کبھار، لیکن provider کی image list سے شاذ و نادر ہی۔ عموماً آپ کو ایسا provider درکار ہوتا ہے جو custom ISO attach کرنے اور console استعمال کرنے کی اجازت دے۔ اس کے بعد یہ جانچنا ضروری ہے کہ illumos tree میں موجود virtual disk اور network drivers، hypervisor کے devices کو پہچانتے ہیں یا نہیں۔ عام مقصد کے install کے لیے OpenIndiana اور Tribblix معمول کے ابتدائی انتخاب ہیں، جبکہ SmartOS کو guest کے بجائے hypervisor host کے طور پر design کیا گیا ہے۔ کسی بھی ادائیگی سے پہلے local virtual machine میں test کریں۔
اگر میں صرف Linux استعمال کرتا ہوں تو کیا DTrace سیکھنا مفید ہے؟
اس کا بنیادی طریقہ منتقل ہو جاتا ہے، اگرچہ tool زیادہ تر منتقل نہیں ہوتا۔ Oracle نے August 2017 میں DTrace کا kernel code GPLv2 کے تحت release کیا اور Oracle Linux کے لیے ایک port برقرار رکھا، لیکن اسے mainline kernel میں کبھی merge نہیں کیا گیا۔ عملی طور پر Linux tracing، eBPF پر چلتی ہے۔ bpftrace میں استعمال ہونے والی language کو DTrace کی D جیسا دکھنے کے لیے design کیا گیا تھا، اس لیے probes، predicates اور aggregations دونوں میں ایک ہی مفہوم رکھتے ہیں۔ DTrace کے اندازِ فکر کو سیکھنے سے bpftrace scripts پہلی کوشش میں قابلِ فہم ہو جاتی ہیں۔