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 nightly ভিত্তিতে real-time-এ আর বিতরণ করা হবে না।” এতে ভবিষ্যতের community build-ও বাদ দেওয়া হয়েছিল: “Solaris binary-এর nightly বা bi-weekly build, কিংবা OpenSolaris 2010.05 বা পরবর্তী কোনো distribution-এর মতো অন্য কোনো binary distribution আমরা প্রকাশ করব না।” এর পরিবর্তে open source release প্রকাশিত product অনুসরণ করবে: “আমাদের enterprise Solaris operating system-এর পূর্ণ release-এর পরে অনুমোদিত CDDL বা অন্য open source-licensed code-এর update আমরা বিতরণ করব।”

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 তারিখে প্রকাশিত হয়। 2 September 2017 তারিখে Oracle Solaris team-এর অধিকাংশ কর্মীকে ছাঁটাই করে। Oracle Solaris 11.4 28 August 2018 তারিখে প্রকাশিত হয় এবং July 2026-এও এটি current release ছিল; তখনও support repository update পাওয়া যাচ্ছিল। Oracle 11.4-এর lifetime support policy সর্বশেষ January 2024-এ সংশোধন করার সময় Premier Support 2031 পর্যন্ত চালু রাখে এবং Extended Support 2034 থেকে বাড়িয়ে 2037 পর্যন্ত করে। তাই Solaris একটি প্রকাশিত end date-সহ supported commercial product, যার বর্তমান release 2018 সাল থেকে অপরিবর্তিত রয়েছে।

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

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

লক্ষ্য ছিল OS/Net, যা সাধারণত ON নামে লেখা হয়। এটি সেই consolidation, যেখানে kernel এবং core system utility-গুলো থাকে। 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। এগুলো replace করাই ছিল প্রকল্পটির প্রথম কাজ। কারণ source থেকে build করা যায় না এমন operating system maintain করা যায় না।

D'Amore fork শব্দটি ব্যবহারের ক্ষেত্রে সতর্ক ছিলেন। তিনি লিখেছিলেন, "We are not a fork today, because of the way we track OS/Net"। তিনি এমন একটি downstream repository-এর বর্ণনা দিচ্ছিলেন, যা Oracle-এর tree অনুসরণ করবে এবং পরিবর্তন upstream-এ ফেরত পাঠাতে পারবে। 10 দিন পরে upstream আর publish করা বন্ধ করে। এরপর illumos স্বাভাবিকভাবেই fork হয়ে যায়, কারণ অনুসরণ করার মতো আর কিছু ছিল না। মূল tree, illumos-gate, October 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 23 September 2026-এ Milestone 35-এ অগ্রসর হয়েছে। এটি একটি synthetic release, যেখানে Milestone 34 operating system-এর ওপর gcc 10-সহ নতুন package যোগ করা হয়েছে; আপনি যে SPARC install ISO download করেন, সেটি এখনও Milestone 34। প্রকল্পটি নিজেকে modern component-সহ retro style হিসেবে বর্ণনা করে। Solaris যে SVR4 package format ব্যবহার করত, এটিও সেটি বজায় রেখেছে; নতুন package system-এ পরিবর্তন করেনি।

Install একটি live image থেকে চলে। আপনি ISO boot করবেন, password jack দিয়ে user jack হিসেবে login করবেন, root হবেন, এবং একটি disk device-এর বিরুদ্ধে installer চালাবেন। প্রকল্পের নিজস্ব 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 set-কে overlay বলা হয় এবং একই line-এ তাদের নাম দেওয়া যায়:

./live_install.sh -G c1t0d0 develop desktop

Install-এর পরে 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 হিসেবে Tribblix সাধারণত পাওয়া যায় না। illumos system-গুলোর মধ্যে SmartOS ব্যতিক্রম। Joyent-এর কাছ থেকে এটি নেওয়া MNX তাদের নিজস্ব cloud control panel-এর মাধ্যমে “choice of Linux, FreeBSD, or SmartOS” দেয় (12 October 2026-এ যাচাই করা হয়েছে)। এর বাইরে provider-এর image list-এ illumos 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 সীমিত পরিসরের hardware সমর্থন করে, কারণ এর driver set-এ Sun যে hardware সমর্থন করত তা আছে, আর পরে ছোট একটি community যে driver লিখেছে সেগুলোও আছে। অধিকাংশ VPS provider শুধু Linux ও BSD image প্রকাশ করে। ব্যতিক্রম হলো MNX। তারা Joyent-এর কাছ থেকে SmartOS-এর দায়িত্ব নেওয়ার পর নিজেদের cloud-এ Linux ও FreeBSD-এর পাশাপাশি SmartOS-ও দেয়। অন্যত্র illumos install করতে হলে সাধারণত custom image অনুমোদন করে এমন provider-এ নিজের ISO upload করতে হয়। এরপর virtual disk ও network device শনাক্ত হচ্ছে কি না তা পরীক্ষা করতে হয়। Third-party software distribution-এর নিজস্ব package set অথবা আপনার নিজের compiler থেকে নিতে হয়।

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

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

FAQ

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

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

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

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

Oracle Solaris কি এখনও supported?

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

VPS-এ কি illumos install করতে পারি?

কখনও কখনও, তবে provider-এর image list থেকে তা খুব কম ক্ষেত্রেই করা যায়। SmartOS রক্ষণাবেক্ষণকারী MNX নিজস্ব cloud control panel থেকে SmartOS দেয়। অন্যত্র সাধারণত এমন provider দরকার, যা custom ISO attach করা এবং console ব্যবহার করার সুযোগ দেয়। এরপর যাচাই করতে হবে যে illumos tree-র virtual disk ও network driver-গুলো hypervisor-এর device শনাক্ত করতে পারে কি না। সাধারণ উদ্দেশ্যে install শুরু করার জন্য OpenIndiana ও Tribblix সাধারণত উপযোগী। SmartOS নিজে install করা 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