SSD Nodes Learn Hosting plans →
নির্দেশিকা Matt Connorদ্বারা Matt Connor

Solaris থেকে illumos: টিকে থাকা fork-এর ইতিহাস

Sun Solaris-এ ZFS ও DTrace তৈরি করে source খুলেছিল, Oracle তা বন্ধ করে। illumos fork কীভাবে সেই code বাঁচিয়ে রাখল, তার যাচাই করা ইতিহাস পড়ুন।

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 বিরোধ—সবকিছুর পরেও টিকে আছে। এই post-এ সেই ঘটনার ইতিহাস তুলে ধরা হয়েছে এবং তারিখগুলো যাচাই করা হয়েছে।

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) থেকে উদ্ভূত হয়েছিল। Sun প্রতিষ্ঠার আগে Bill Joy বিশ্ববিদ্যালয়ভিত্তিক এই Unix ধারায় কাজ করেছিলেন। অন্য Unix ধারা ছিল AT&T-এর System V, যা বাণিজ্যিকভাবে বিক্রি হতো। Linux-এ এসে শেষ হওয়া Unix family tree-তে এই দুই শাখার বিভাজন বর্ণনা করা হয়েছে, এবং Sun এক দশক ধরে এর BSD দিকেই ছিল।

1987 সালে Sun এবং AT&T BSD, System V এবং Xenix একত্র করে একটি release তৈরির যৌথ প্রকল্প ঘোষণা করে: UNIX System V Release 4, যা সাধারণত SVR4 লেখা হয়। 4 September 1991-এ Sun ঘোষণা করে যে SunOS 4-এর পরিবর্তে নতুন marketing name Solaris 2-এ SVR4-ভিত্তিক একটি system চালু করা হবে। Solaris 2.0 June 1992-এ শুধু SPARC hardware-এর জন্য release করা হয়। Sun Unix বিভাজনের অন্য দিকে চলে গিয়েছিল, তাই তার customers-দের software port করতে হয়েছিল।

পুরোনো নামটি কখনও পুরোপুরি বাদ যায়নি। Kernel SunOS-এর numbering বজায় রাখে। তাই Solaris 2.6, SunOS 5.6 চালায়, এবং Oracle Solaris 11.4 এখনও নিজেকে SunOS 5.11 হিসেবে report করে। 2026 সালে কোনো illumos machine-এ uname -a চালান। মুদ্রিত প্রথম শব্দটি এখনও SunOS, কারণ illumos code-এর সঙ্গে নামটিও উত্তরাধিকারসূত্রে পেয়েছে।

2005 সালে Solaris 10 কী চালু করেছিল

Solaris 10 31 January 2005-এ released হয়। এখানে এর গুরুত্ব হলো, কোম্পানিটি টিকে থাকার পর যেসব বৈশিষ্ট্য অব্যাহত ছিল, সেগুলো ওই release-এ ছিল অথবা এর কোনো update-এ যুক্ত হয়েছিল।

DTrace Sun-এ Bryan Cantrill, Mike Shapiro এবং Adam Leventhal লিখেছিলেন। এটি প্রথম November 2003-এ available হয়। কোনো কিছু recompile না করেই এবং আপনি যে process monitor করছেন সেটি restart না করেই এটি চলমান kernel ও চলমান user process instrument করে। আপনি enable না করা probe-এর কোনো খরচ নেই, কারণ কোনো script সেটি চাইলে তবেই instrumentation patch করা হয়। এই কারণেই administrators production machine-এ এটি ব্যবহার করতে আগ্রহী ছিলেন। DTrace The Wall Street Journal-এর 2006 Technology Innovation Awards-এ শীর্ষ পুরস্কার এবং 2008 সালে একটি USENIX STUG (Software Tools User Group) award পায়।

ZFS Sun-এ Jeff Bonwick, Bill Moore এবং Matthew Ahrens নকশা করেছিলেন এবং 14 September 2004-এ এটি ঘোষণা করা হয়। এটি volume manager এবং filesystem-কে একটি স্তরে একীভূত করে। ফলে read-এর সময় প্রতিটি block-এর checksum যাচাই করা এবং redundant copy থেকে নষ্ট block repair করা সম্ভব হয়। Write copy on write পদ্ধতিতে হয়। কোনো block একই জায়গায় overwrite করা হয় না। তাই write চলাকালে crash হলেও half-written filesystem-এর পরিবর্তে পুরোনো data অক্ষত থাকে। Snapshot-এর খরচ প্রায় নেই, কারণ snapshot হলো শুধু সেই block-গুলোর set, যেগুলো পরে হওয়া write স্পর্শ করেনি। প্রাথমিক Solaris 10 release-এ ZFS ছিল না। এটি June 2006-এ Solaris 10 6/06 update-এ shipped হয়।

Zones ছিল তৃতীয় অংশ। একটি zone একটি kernel-কে একাধিক isolated user space প্রদান করে। প্রতিটির নিজস্ব root filesystem, process table এবং network configuration থাকে। February 2004-এ Solaris 10-এর একটি beta build-এ Zones দেখা যায় এবং full release-এর সঙ্গে shipped হয়। FreeBSD ভিন্ন দিক থেকে একই ধারণায় আরও আগে পৌঁছেছিল। jails এবং Docker containers-এর তুলনা kernel level isolation আসলে কী, তা বোঝার এখনও সবচেয়ে পরিষ্কার উপায়। আজ illumos-এ Zones সক্রিয় আছে এবং নিচে বর্ণিত অন্তত একটি distribution-এর ভিত্তি হিসেবে ব্যবহৃত হয়।

কেন Sun Solaris-এর source code উন্মুক্ত করেছিল

Sun 1 December 2004 তারিখে CDDL (Common Development and Distribution License) OSI (Open Source Initiative)-এর কাছে জমা দেয় এবং OSI 14 January 2005 তারিখে এটি অনুমোদন করে। CDDL, MPL (Mozilla Public License)-এর version 1.1-এর ওপর ভিত্তি করে তৈরি। এর copyleft পৃথক file স্তরে কাজ করে: CDDL-এর অধীনে থাকা source file-কে CDDL-এর অধীনেই রাখতে হয়, তবে সেই file থেকে তৈরি binary অন্য শর্তের অধীনে থাকা code-এর সঙ্গে যুক্ত করা যায়।

প্রথমে DTrace প্রকাশিত হয়। Solaris 10 release হওয়ার ছয় দিন আগে, 25 January 2005 তারিখে সদ্য চালু হওয়া opensolaris.org site-এ এর source CDDL-এর অধীনে প্রকাশ করা হয়। Solaris system code-এর অধিকাংশ 14 June 2005 তারিখে প্রকাশ করা হয়। ZFS 31 October 2005 তারিখে মূল Solaris development trunk-এ যুক্ত হয় এবং 16 November 2005 তারিখে build 27-এ OpenSolaris developers-এর কাছে পৌঁছে। OpenSolaris এমন একটি distribution-এও পরিণত হয়, যা আপনি install করতে পারতেন: 2008.05 5 May 2008 তারিখে live CD হিসেবে আসে এবং 2009.06 1 June 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-এর বাইরে একটি kernel module হিসেবে build করা হয়, kernel source tree-তে merge করা হয় না, এবং mainline kernel-এও এটি নেই। যেকোনো open licence-এর অধীনে প্রকাশ করার সিদ্ধান্তটিই এই আলোচনার বাকি অংশের জন্য সবচেয়ে গুরুত্বপূর্ণ। open source licensing-এর ইতিহাস ব্যাখ্যা করে, কোনো company কেন এমন সিদ্ধান্ত নিত।

Oracle Sun কেনার পরে কী ঘটেছিল

Oracle 20 April 2009 তারিখে ঘোষণা করে যে তারা US$7.4 billion মূল্যে Sun অধিগ্রহণ করবে। Sun-এর নগদ অর্থ ও ঋণ বাদ দিলে নিট মূল্য ছিল US$5.6 billion। চুক্তিটি 27 January 2010 তারিখে সম্পন্ন হয়।

13 August 2010 তারিখে Mike Shapiro, Bill Nesheim এবং Chris Armes-এর লেখা একটি অভ্যন্তরীণ Oracle memo কোম্পানির মধ্যে প্রচারিত হয় এবং পরে ফাঁস হয়ে যায়। এতে নতুন policy সরাসরি উল্লেখ করা হয়েছিল: "Solaris operating system-এর সম্পূর্ণ source code development চলাকালীন real-time-এ, nightly basis-এ আমরা আর distribute করব না।" এতে পরবর্তী community build-এর সম্ভাবনাও নাকচ করা হয়েছিল: "Solaris binary-এর অন্য কোনো binary distribution, যেমন nightly বা bi-weekly build, অথবা OpenSolaris 2010.05 বা পরবর্তী কোনো distribution আমরা release করব না।" এর পরিবর্তে open source release প্রকাশিত product অনুসরণ করবে: "আমাদের enterprise Solaris operating system-এর full release-এর পরে approved CDDL বা অন্য open source-licensed code-এর update আমরা distribute করব।"

23 August 2010 তারিখে OpenSolaris Governing Board একটি resolution পাস করে। এতে উল্লেখ করা হয় যে Oracle board-এর জন্য কোনো liaison নিয়োগ করেনি এবং 13 August তারিখে development partnership শেষ করার ঘোষণা দিয়েছে। Sun-এর তৈরি charter অনুযায়ী community-এর নিয়ন্ত্রণ Oracle-কে ফিরিয়ে দেওয়ার পক্ষে board ভোট দেয়। এর ফলে board বিলুপ্ত হয়।

Oracle Solaris 11 9 November 2011 তারিখে release হয়। 2 September 2017 তারিখে Oracle Solaris team-এর অধিকাংশ সদস্যকে ছাঁটাই করে। Oracle Solaris 11.4 28 August 2018 তারিখে release হয় এবং এটিই এখনও 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 সাল থেকে current রয়েছে।

illumos কীভাবে শুরু হয়েছিল এবং কেন একে fork বলা হয়

3 August 2010-এ, memo ফাঁস হওয়ার 10 দিন আগে, Garrett D'Amore illumos ঘোষণা করেন। নামটি Latin শব্দ illum—অর্থ light—এর সঙ্গে operating system-এর OS যুক্ত করে তৈরি। প্রকল্পটি নামটি এক শব্দে লেখে এবং শুধু প্রথম অক্ষরটি বড় হাতের রাখে।

লক্ষ্য ছিল OS/Net, যা সাধারণত ON নামে লেখা হয়। এটি এমন consolidation যাতে kernel এবং core system utilities থাকে। OpenSolaris কখনোই সম্পূর্ণ open ছিল না। এর কয়েকটি অংশ closed binary হিসেবে release করা হতো, যেগুলো Sun-এর বাইরের কেউ rebuild করতে পারত না। এর মধ্যে ছিল C library (libc_i18n)-এর internationalisation code, NFS lock manager, cryptographic framework, LSI host bus adapter-এর জন্য mpt driver-এর মতো driver এবং কিছু SPARC platform code। এগুলো প্রতিস্থাপন করাই প্রকল্পটির প্রথম কাজ ছিল। কারণ source থেকে যে operating system build করা যায় না, সেটি maintain করাও সম্ভব নয়।

D'Amore fork শব্দটি ব্যবহারে সতর্ক ছিলেন। তিনি লিখেছিলেন, “OS/Net track করার পদ্ধতির কারণে আমরা আজ fork নই।” তিনি এমন একটি downstream repository-এর কথা বলেছিলেন, যা Oracle-এর tree অনুসরণ করবে এবং পরিবর্তন upstream-এ ফেরত পাঠাতে পারবে। 10 দিন পরে upstream প্রকাশনা বন্ধ করে দেয়। Track করার মতো আর কিছু না থাকায় illumos স্বাভাবিকভাবেই fork হয়ে যায়। Core tree, illumos-gate, August 2026 পর্যন্ত 23,000-এর বেশি commit অতিক্রম করেছে এবং এখনও commit গ্রহণ করছে।

illumos থেকে কোন কোন distribution তৈরি হয়েছে

illumos এমন কোনো software নয় যা সরাসরি install করা হয়। এটি একটি core tree, যার ওপর distribution-গুলো ব্যবহারযোগ্য system তৈরি করে। বর্তমানে যেগুলো release হচ্ছে, সেগুলো হলো।

  • OpenIndiana আনুষ্ঠানিকভাবে 14 September 2010 তারিখে London-এর JISC Centre-এ চালু হয়। এটি পুরোনো OpenSolaris desktop ও server distribution-এর সবচেয়ে কাছের উত্তরসূরি। এটি Hipster নামে একটি rolling release, এবং 2026.04 snapshot 5 May 2026 তারিখে প্রকাশিত হয়েছে।
  • OmniOS একটি server distribution। মূল vendor কাজ বন্ধ করার পর এর community এখন এটিকে OmniOS CE নামে রক্ষণাবেক্ষণ করে।
  • SmartOS zones-এর ওপর তৈরি একটি hypervisor platform। Joyent এটি তৈরি করে এবং April 2022-এ জানায় যে SmartOS ও Triton 1 May 2022 থেকে MNX Solutions-এর কাছে হস্তান্তর করা হবে।
  • NexentaStor storage appliance-এর জন্য একই base ব্যবহার করত। illumos যে commercial line থেকে এসেছে, এটি সেই line।
  • Tribblix একটি ছোট distribution। এটি Peter Tribble রক্ষণাবেক্ষণ করেন এবং নিচে এটি সম্পর্কে বর্ণনা করা হয়েছে।
  • DilOS একটি illumos kernel-এর ওপর Debian-এর package tooling স্থাপন করে।

আজ illumos system ইনস্টল করার চিত্র

Tribblix এখানে একটি কার্যকর উদাহরণ, কারণ এটি ছোট, এর documentation public, এবং এখনও release হচ্ছে। x86-এর জন্য Milestone 41 5 August 2026-এ প্রকাশিত হয়, আর SPARC line 21 April 2026-এ Milestone 34-এ পৌঁছায়। Project-টি নিজেকে modern component-সহ retro style হিসেবে বর্ণনা করে। Solaris যে SVR4 package format ব্যবহার করত, এটিও সেটিই রেখেছে এবং নতুন package system-এ সরেনি।

ইনস্টল live image থেকে চালানো হয়। ISO boot করুন, jack user হিসেবে jack password দিয়ে login করুন, root account-এ যান, এবং একটি 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 name Solaris-এর cXtYdZ convention অনুসরণ করে, /dev/sda নয়। Linux থেকে এলে এটিই প্রথম অপরিচিত বিষয় মনে হবে। Software set-কে overlay বলা হয় এবং একই line-এ এর নাম দেওয়া যায়:

./live_install.sh -G c1t0d0 develop desktop

Installation-এর পরে package tool হলো zap। এটি overlay নিয়ে কাজ করে এবং dependency নিজে পরিচালনা করে:

zap refresh
zap install-overlay develop
zap update-overlay -a

এগুলোই Tribblix প্রকাশিত command। আপনার নিয়ন্ত্রণে থাকা hardware বা hypervisor-এ এগুলো চালানো যায়। VPS control panel-এর one-click image-এর আড়ালে এগুলো পাবেন না। 2026 সালে illumos deployment-এর বাস্তব অবস্থা এই পার্থক্যই স্পষ্ট করে।

ZFS এবং DTrace কীভাবে Solaris-এর পরেও টিকে রইল

Source প্রকাশের পরপরই 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-এর বাস্তব মূল্য এখানেই: এটি না থাকলে port-গুলোর merge করার জন্য কোনো common ancestor থাকত না।

OpenZFS project-টি 17 September 2013-এ ওই port-গুলোর সমন্বয়ের জন্য ঘোষণা করা হয়। মূল ZFS লেখকদের একজন Matt Ahrens এর প্রতিষ্ঠাতাদের মধ্যে ছিলেন। 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 বাদ দিয়ে সেই shared tree-তে চলে যায়।

দুটি ZFS line disk format-এর ক্ষেত্রে আলাদা হয়ে গেছে। Open line pool version 28-এ থেমে যায়, যা Sun প্রকাশিত শেষ version। এরপর এটি placeholder version 5000-এর অধীনে named feature flags ব্যবহার শুরু করে। ফলে pool একটি single number-এর বদলে কোন কোন feature ব্যবহার করছে তা জানায়। Oracle closed source-এর আড়ালে নিজস্ব version number বাড়াতে থাকে। এক পাশে version 28-এর পর তৈরি করা pool অন্য পাশে import করা যায় না। এটি কোথায় চালাবেন তা বেছে নেওয়ার সময় Linux-এর তুলনায় FreeBSD-তে OpenZFS কীভাবে কাজ করে দেখুন; সেখানে দুটি host-এর প্রকৃত পার্থক্য ব্যাখ্যা করা হয়েছে।

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 এটিকে DTrace-এর D-এর কাছাকাছি একটি scripting language দেয়।

এখানে মূল বিষয়টি Solaris-নির্দিষ্ট নয়; এটি একটি সাধারণ pattern। Sun এমন licence-এর অধীনে ZFS এবং DTrace প্রকাশ করেছিল, যা অন্যদের copy সংরক্ষণ করে কাজ চালিয়ে যাওয়ার অনুমতি দিয়েছিল। কাজের অর্থায়ন করা কোম্পানিটি বন্ধ হয়ে যাওয়ার পরও কাজ চলতে থাকে, কারণ code ইতিমধ্যে অন্য tree এবং অন্যদের হাতে ছিল। Solaris-এর যেসব অংশ কখনো open করা হয়নি, যার মধ্যে illumos-কে নতুন করে লিখতে হওয়া closed binary-ও রয়েছে, সেগুলো কোম্পানিটির সঙ্গেই হারিয়ে যায়। Open source করার ফলে এটাই পরিবর্তিত হয়। একই mechanism-এর মাধ্যমে Linux distribution-গুলো একে অপরের থেকে কীভাবে তৈরি হয়েছে

VPS-এ illumos চালানো উচিত কি?

প্রায় সবার ক্ষেত্রেই উত্তর হলো না। উপরের কোনো কথাই এটি চেষ্টা করার সুপারিশ নয়। illumos সীমিত পরিসরের হার্ডওয়্যার সমর্থন করে। কারণ এর driver set মূলত Sun যে হার্ডওয়্যার সমর্থন করত এবং পরে একটি ছোট community যে driver লিখেছে, তার ওপর নির্ভরশীল। VPS provider-গুলো Linux ও BSD image প্রকাশ করে। তাই illumos install করতে সাধারণত এমন provider-এ নিজের ISO upload করতে হয়, যে custom image অনুমতি দেয়। এরপর virtual disk ও network device শনাক্ত হচ্ছে কি না, তা যাচাই করতে হয়। Third-party software distribution-এর নিজস্ব package set অথবা আপনার নিজের compiler থেকে আসে।

illumos চালানোর বাস্তব কারণ আছে। যেমন, কোনো Solaris workload সচল রাখা দরকার হতে পারে, আপনি আগে থেকেই zones deployment পরিচালনা করতে পারেন, অথবা source code পড়ার আগ্রহ থাকতে পারে। উপরে তালিকাভুক্ত distribution-গুলো রক্ষণাবেক্ষণ করা হয় এবং তাদের mailing list-এ প্রশ্নের উত্তর পাওয়া যায়। তবে এটি নতুন server-এর জন্য default choice হওয়ার থেকে সম্পূর্ণ ভিন্ন বিষয়।

আপনি যদি ZFS-এর জন্য এখানে এসে থাকেন, তাহলে এটি পেতে illumos প্রয়োজন নেই। Linux অথবা FreeBSD-তে OpenZFS চালান। সেখানে এটি package করা, নথিবদ্ধ এবং ব্যাপকভাবে ব্যবহৃত। একই family-এর BSD দিকটি server হিসেবে বিবেচনা করলে, server platform হিসেবে Linux ও FreeBSD-এর ব্যবহারিক তুলনা দৈনন্দিন পরিচালনায় কী পরিবর্তন হয় তা ব্যাখ্যা করে। illumos হলো এই tool-গুলোর উৎসের ইতিহাস। এগুলোর উৎপত্তি জানা থাকলে তাদের আচরণের অনেক কিছু বোঝা যায়। এর মধ্যে প্রথমেই আসে, কেন zpool এবং zfs Linux storage stack-এর বাকি অংশের তুলনায় সম্পূর্ণ ভিন্ন মনে হয়।

FAQ

illumos কি OpenSolaris-এরই আরেক নাম?

না। OpenSolaris ছিল Sun-এর project ও distribution। পরে Oracle এটি উত্তরাধিকারসূত্রে পায় এবং 2010 সালে projectটি বন্ধ করে। illumos একটি আলাদা project, যা 3 August 2010-এ ঘোষণা করা হয়। এটি সর্বশেষ প্রকাশিত OpenSolaris core source, অর্থাৎ OS/Net consolidation, থেকে তৈরি। এর প্রথম কাজ ছিল OpenSolaris-এর সঙ্গে প্রকাশিত closed binary component-গুলোর replacement তৈরি করা। এর মধ্যে ছিল libc_i18n, NFS lock manager, cryptographic framework এবং কয়েকটি driver। 2010 সালের পরে illumos-এর কোনো code Oracle থেকে আসেনি, কারণ Oracle code প্রকাশ করা বন্ধ করে দেয়।

Linux তার kernel-এ ZFS অন্তর্ভুক্ত করতে পারে না কেন?

Licence দুটির শর্ত পরস্পরের সঙ্গে সামঞ্জস্যপূর্ণ নয়। ZFS-এর licence হলো CDDL। Free Software Foundation এটিকে এমন একটি free software licence হিসেবে শ্রেণিবদ্ধ করে, যা GPL-এর সঙ্গে incompatible। CDDL এই incompatibility MPL 1.1 থেকে উত্তরাধিকারসূত্রে পেয়েছে। Linux kernel GPLv2-এর অধীনে প্রকাশিত। এর বাস্তব ফল হলো, Linux-এ OpenZFS out-of-tree kernel module হিসেবে ship করে। সাধারণত আপনি install করা প্রতিটি kernel-এর জন্য এটি DKMS দিয়ে build করা হয়, অথবা prebuilt module package হিসেবে দেওয়া হয়। এটি ভালোভাবে কাজ করে, কিন্তু প্রতিটি নতুন kernel-এর জন্য moduleটি rebuild করতে হয়। তাই এটি নতুন kernel release-এর চেয়ে কয়েক দিন বা কয়েক সপ্তাহ পিছিয়ে থাকতে পারে।

Oracle Solaris কি এখনও supported?

হ্যাঁ। Oracle Solaris 11.4 28 August 2018-এ released হয় এবং এটিই current release। Oracle-এর lifetime support policy অনুযায়ী Premier Support November 2031 পর্যন্ত এবং Extended Support November 2037 পর্যন্ত চলবে। Oracle 2 September 2017-এ Solaris team-এর অধিকাংশ কর্মী ছাঁটাই করে। এরপর 11.4 নতুন major version-এর পরিবর্তে support repository update পেয়েছে। OpenSolaris যেভাবে full source প্রকাশ করত, Oracle সেভাবে full source প্রকাশ করে না।

VPS-এ কি illumos install করা যায়?

কখনও যায়, তবে provider-এর image list থেকে সাধারণত নয়। সাধারণত এমন provider প্রয়োজন, যা custom ISO attach করতে এবং console ব্যবহার করতে দেয়। এরপর যাচাই করতে হবে যে illumos tree-এর virtual disk ও network driver-গুলো hypervisor-এর device শনাক্ত করতে পারে কি না। সাধারণ উদ্দেশ্যে install করার জন্য OpenIndiana এবং Tribblix সাধারণত ভালো starting point। SmartOS guest হিসেবে ব্যবহারের বদলে hypervisor host হিসেবে ব্যবহারের জন্য তৈরি। কোনো কিছুর জন্য অর্থ দেওয়ার আগে local virtual machine-এ পরীক্ষা করুন।

আমি যদি শুধু Linux ব্যবহার করি, তাহলে কি DTrace শেখা সার্থক?

Toolটি বেশিরভাগ ক্ষেত্রে একই না হলেও এর model প্রয়োগ করা যায়। Oracle August 2017-এ DTrace kernel code GPLv2-এর অধীনে প্রকাশ করে এবং Oracle Linux-এর জন্য একটি port রক্ষণাবেক্ষণ করে। তবে এটি কখনও mainline kernel-এ merge হয়নি। বাস্তবে Linux tracing eBPF-এর ওপর চলে। bpftrace যে language ব্যবহার করে, সেটি DTrace-এর D-এর মতো দেখতে করে তৈরি করা হয়েছিল। তাই probe, predicate এবং aggregation উভয় ক্ষেত্রেই একই অর্থ বহন করে। DTrace-এর পদ্ধতিতে চিন্তা করতে শেখা থাকলে bpftrace script প্রথম চেষ্টাতেই পড়া যায়।

#solaris#illumos#unix-history#zfs#dtrace