স্থিতিশীল কার্নেল রিলিজ এবং আপডেট

লিনাক্স কার্নেল স্থিতিশীল রিলিজ মডেলটি 2005 সালে শুরু হয়েছিল, যখন এটি নির্ধারণ করা হয়েছিল যে বিদ্যমান কার্নেল ডেভেলপমেন্ট মডেল (প্রতি 2-3 মাসে একটি নতুন প্রকাশ) বেশিরভাগ ব্যবহারকারীর চাহিদা পূরণ করছে না। ব্যবহারকারীরা সেই 2-3 মাসে তৈরি করা বাগফিক্সগুলি চেয়েছিল এবং লিনাক্স বিতরণগুলি কার্নেল সম্প্রদায়ের প্রতিক্রিয়া ছাড়া কার্নেলগুলিকে আপ টু ডেট রাখা কঠিন বলে মনে করেছিল। সাধারণভাবে, স্বতন্ত্র কার্নেলগুলিকে সুরক্ষিত রাখার প্রচেষ্টা এবং সর্বশেষ বাগফিক্সের সাহায্যে অনেকগুলি বিভিন্ন ব্যক্তির দ্বারা একটি বড় এবং বিভ্রান্তিকর প্রচেষ্টা ছিল।

স্থিতিশীল কার্নেল রিলিজগুলি সরাসরি লিনাস টরভাল্ডস-এর রিলিজের উপর ভিত্তি করে, এবং বিভিন্ন বাহ্যিক কারণের (বছরের সময়, উপলব্ধ প্যাচ, রক্ষণাবেক্ষণকারী কাজের চাপ, ইত্যাদি) উপর নির্ভর করে প্রতি সপ্তাহে বা তার পরে প্রকাশিত হয়। স্থিতিশীল রিলিজের সংখ্যাকরণ কার্নেল রিলিজের সংখ্যা দিয়ে শুরু হয় এবং এর শেষে একটি অতিরিক্ত সংখ্যা যোগ করা হয়। উদাহরণস্বরূপ, 4.4 কার্নেল লিনাস দ্বারা প্রকাশ করা হয়, এবং তারপর এই কার্নেলের উপর ভিত্তি করে স্থিতিশীল কার্নেল রিলিজগুলিকে 4.4.1, 4.4.2, 4.4.3 এবং আরও অনেকগুলি নম্বর দেওয়া হয়। একটি স্থিতিশীল কার্নেল রিলিজ ট্রি উল্লেখ করার সময় এই ক্রমটি সাধারণত 4.4.y সংখ্যা দিয়ে সংক্ষিপ্ত করা হয়। প্রতিটি স্থিতিশীল কার্নেল রিলিজ ট্রি একটি একক কার্নেল বিকাশকারী দ্বারা রক্ষণাবেক্ষণ করা হয়, যিনি রিলিজের জন্য প্রয়োজনীয় প্যাচ বাছাই এবং পর্যালোচনা/রিলিজ প্রক্রিয়া পরিচালনার জন্য দায়ী।

স্থিতিশীল কার্নেলগুলি বর্তমান বিকাশ চক্রের দৈর্ঘ্যের জন্য বজায় রাখা হয়। Linus একটি নতুন কার্নেল প্রকাশ করার পরে, পূর্ববর্তী স্থিতিশীল কার্নেল রিলিজ ট্রি বন্ধ হয়ে যায় এবং ব্যবহারকারীদের অবশ্যই নতুন প্রকাশিত কার্নেলে যেতে হবে।

দীর্ঘমেয়াদী স্থিতিশীল কার্নেল

এই নতুন স্থিতিশীল রিলিজ প্রক্রিয়ার এক বছর পর, এটি নির্ধারণ করা হয়েছিল যে লিনাক্সের অনেক ভিন্ন ব্যবহারকারী একটি কার্নেলকে মাত্র কয়েক মাসের চেয়ে বেশি সময়ের জন্য সমর্থন করতে চান। প্রতিক্রিয়া হিসাবে, লং টার্ম সাপোর্টেড (LTS) কার্নেল রিলিজ তৈরি করা হয়েছিল, প্রথম LTS কার্নেল (2.6.16) 2006 সালে প্রকাশিত হয়েছিল। তারপর থেকে, বছরে একবার একটি নতুন LTS কার্নেল নির্বাচন করা হয়েছে এবং কার্নেল সম্প্রদায় সেই কার্নেলটিকে একটি রক্ষণাবেক্ষণ করে সর্বনিম্ন 2 বছর।

এই লেখার সময়, LTS কার্নেল হল 4.4.y, 4.9.y, 4.14.y, 4.19.y, 5.4.y, এবং 5.10.y রিলিজ। একটি নতুন কার্নেল সাপ্তাহিক প্রকাশিত হয়। কিছু ব্যবহারকারী এবং ডিস্ট্রিবিউশনের প্রয়োজনের কারণে, কিছু অতিরিক্ত পুরানো কার্নেল কার্নেল ডেভেলপারদের দ্বারা ধীর রিলিজ চক্রে রক্ষণাবেক্ষণ করা হয়। সমস্ত দীর্ঘমেয়াদী স্থিতিশীল কার্নেল সম্পর্কে তথ্য, কে তাদের দায়িত্বে রয়েছে এবং কতক্ষণ তাদের রক্ষণাবেক্ষণ করা হয়, kernel.org রিলিজ পৃষ্ঠায় পাওয়া যাবে।

LTS কার্নেল প্রতিদিন গৃহীত গড় 6-8 প্যাচ প্রকাশ করে, যখন স্বাভাবিক স্থিতিশীল কার্নেল রিলিজে প্রতিদিন 10-15 প্যাচ থাকে। সংশ্লিষ্ট ডেভেলপমেন্ট কার্নেল রিলিজের বর্তমান সময় এবং অন্যান্য বাহ্যিক ভেরিয়েবলের কারণে প্রতি রিলিজে প্যাচের সংখ্যা ওঠানামা করে। একটি LTS কার্নেল যত পুরানো হবে, তাতে কম প্যাচ প্রযোজ্য হবে কারণ সাম্প্রতিক অনেক বাগফিক্স পুরানো কার্নেলের সাথে প্রাসঙ্গিক নয়। যাইহোক, একটি কার্নেল যত পুরানো হবে, কোডবেসের পরিবর্তনের কারণে প্রয়োগ করার জন্য প্রয়োজনীয় পরিবর্তনগুলি ব্যাকপোর্ট করা তত কঠিন। তাই যখন সামগ্রিক প্যাচ প্রয়োগ করা হচ্ছে কম সংখ্যক হতে পারে, একটি LTS কার্নেল বজায় রাখার জন্য জড়িত প্রচেষ্টা স্বাভাবিক স্থিতিশীল কার্নেল বজায় রাখার চেয়ে বেশি।

স্থিতিশীল কার্নেল প্যাচ নিয়ম

একটি স্থিতিশীল কার্নেল রিলিজে কী যোগ করা যেতে পারে তার নিয়মগুলি এটির প্রবর্তনের পর থেকে প্রায় অভিন্ন এবং নীচে সংক্ষিপ্ত করা হল:

  • স্পষ্টতই সঠিক এবং পরীক্ষা করা আবশ্যক।
  • 100 লাইনের বেশি হওয়া উচিত নয়।
  • শুধু একটা জিনিস ঠিক করতে হবে।
  • এমন কিছু ঠিক করতে হবে যা একটি সমস্যা বলে রিপোর্ট করা হয়েছে।
  • হার্ডওয়্যারের জন্য একটি নতুন ডিভাইস আইডি বা কুয়ার্ক হতে পারে, কিন্তু বড় নতুন কার্যকারিতা যোগ করতে পারে না।
  • ইতিমধ্যেই লিনাস টরভাল্ডসের গাছে একত্রিত হতে হবে।

শেষ নিয়ম, "লিনাস টরভাল্ডস ট্রিতে ইতিমধ্যেই মার্জ করা আবশ্যক", কার্নেল সম্প্রদায়কে ফিক্স হারাতে বাধা দেয়। সম্প্রদায়টি কখনই চায় না যে একটি স্থিতিশীল কার্নেল রিলিজে যেতে হবে যা ইতিমধ্যেই লিনাস টরভাল্ডসের গাছে নেই, যাতে যে কেউ আপগ্রেড করে সে কখনই রিগ্রেশন দেখতে না পায়। এটি এমন অনেক সমস্যা প্রতিরোধ করে যা অন্যান্য প্রকল্প যারা একটি স্থিতিশীল এবং উন্নয়ন শাখা বজায় রাখে তাদের হতে পারে।

কার্নেল আপডেট

লিনাক্স কার্নেল সম্প্রদায় তার ইউজারবেসকে প্রতিশ্রুতি দিয়েছে যে কোনও আপগ্রেড পূর্ববর্তী রিলিজে কাজ করছে এমন কোনও কিছুকে কখনও ভাঙবে না। সেই প্রতিশ্রুতি আজও সত্য। রিগ্রেশন ঘটতে পারে, কিন্তু সেগুলি সর্বোচ্চ অগ্রাধিকারের বাগ এবং হয় দ্রুত সংশোধন করা হয়, অথবা যে পরিবর্তনের কারণে রিগ্রেশন হয়েছে তা লিনাক্স কার্নেল ট্রি থেকে দ্রুত প্রত্যাবর্তন করা হয়।

এই প্রতিশ্রুতি ক্রমবর্ধমান স্থিতিশীল কার্নেল আপডেটের পাশাপাশি প্রতি তিন মাসে ঘটে যাওয়া বড় বড় আপডেটগুলির জন্যই সত্য। যাইহোক, কার্নেল সম্প্রদায় শুধুমাত্র লিনাক্স কার্নেল ট্রিতে মার্জ করা কোডের জন্য এই প্রতিশ্রুতি দিতে পারে। ডিভাইসের কার্নেলে মার্জ করা যেকোন কোড যা kernel.org রিলিজে নেই তা অজানা এবং এর সাথে মিথস্ক্রিয়া কখনই পরিকল্পনা করা যায় না, এমনকি বিবেচনাও করা যায় না।

লিনাক্সের উপর ভিত্তি করে যেসব ডিভাইসে বড় প্যাচ সেট রয়েছে তাদের নতুন কার্নেল আপডেট করার সময় বড় সমস্যা হতে পারে, কারণ প্রতিটি রিলিজের মধ্যে প্রচুর পরিবর্তন (প্রতি রিলিজে 10-14 হাজার পরিবর্তন)। SoC প্যাচসেটগুলি বিশেষত নতুন কার্নেলগুলিতে আপডেট করার সমস্যাগুলির জন্য পরিচিত কারণ তাদের বড় আকারের এবং আর্কিটেকচার নির্দিষ্ট, এবং কখনও কখনও মূল, কার্নেল কোডের ভারী পরিবর্তনের কারণে। ফলস্বরূপ, বেশিরভাগ SoC বিক্রেতারা তাদের ডিভাইসগুলির জন্য LTS রিলিজগুলি ব্যবহার করার জন্য মানসম্মত করতে শুরু করেছে, সেই ডিভাইসগুলিকে সরাসরি Linux কার্নেল সম্প্রদায় থেকে বাগ এবং নিরাপত্তা আপডেট পেতে সক্ষম করে।

নিরাপত্তা

কার্নেল রিলিজ করার সময়, লিনাক্স কার্নেল সম্প্রদায় প্রায় কখনই নিরাপত্তা সংশোধন হিসাবে নির্দিষ্ট পরিবর্তন ঘোষণা করে না। এটি নির্মাণের সময় একটি বাগফিক্স একটি নিরাপত্তা সমাধান কিনা তা নির্ধারণ করতে অসুবিধার প্রাথমিক সমস্যার কারণে। এছাড়াও, অনেক বাগফিক্স শুধুমাত্র অনেক সময় অতিবাহিত হওয়ার পরে নিরাপত্তা সম্পর্কিত বলে নির্ধারিত হয়, তাই কার্নেল সম্প্রদায় দৃঢ়ভাবে সুপারিশ করে যে সমস্ত বাগ-ফিক্স প্রকাশ করা হয়।

যখন নিরাপত্তা সমস্যাগুলি কার্নেল সম্প্রদায়ের কাছে রিপোর্ট করা হয়, সেগুলি যত তাড়াতাড়ি সম্ভব ঠিক করা হয় এবং প্রকাশ্যে ডেভেলপমেন্ট ট্রি এবং স্থিতিশীল রিলিজের দিকে ঠেলে দেওয়া হয়। উপরে বর্ণিত হিসাবে, পরিবর্তনগুলি প্রায় কখনই "নিরাপত্তা সংশোধন" হিসাবে বর্ণনা করা হয় না, বরং কার্নেলের জন্য অন্য যেকোন বাগফিক্সের মতো দেখায়। সমস্যাটির রিপোর্টার এটি ঘোষণা করার আগে প্রভাবিত পক্ষগুলিকে তাদের সিস্টেম আপডেট করার ক্ষমতা দেওয়ার জন্য এটি করা হয়।

কার্নেল সম্প্রদায়ের কাছে নিরাপত্তা বাগ রিপোর্ট করার বিষয়ে বিস্তারিত জানার জন্য, যত তাড়াতাড়ি সম্ভব সেগুলি সমাধান এবং সংশোধন করার জন্য, www.kernel.org-লিনাক্স কার্নেল ব্যবহারকারী এবং প্রশাসকের নির্দেশিকা- তে নিরাপত্তা বাগগুলি পড়ুন।

কারণ নিরাপত্তা বাগগুলি কার্নেল টিমের দ্বারা জনসাধারণের কাছে ঘোষণা করা হয় না, লিনাক্স কার্নেল-সম্পর্কিত সমস্যাগুলির জন্য CVE নম্বরগুলি সাধারণত স্থিতিশীল এবং উন্নয়ন শাখাগুলিতে সংশোধন করার কয়েক সপ্তাহ, মাস এবং কখনও কখনও কয়েক বছর পরে প্রকাশিত হয়।

একটি নিরাপদ সিস্টেম রাখুন

Linux ব্যবহার করে এমন একটি ডিভাইস স্থাপন করার সময়, আমরা দৃঢ়ভাবে সুপারিশ করি যে সমস্ত LTS কার্নেল আপডেটগুলি প্রস্তুতকারকের দ্বারা নেওয়া হয় এবং সঠিক পরীক্ষা করার পর আপডেটটি ভালভাবে কাজ করে তা তাদের ব্যবহারকারীদের কাছে পুশ করা হয়। এটির বেশ কয়েকটি সুবিধা রয়েছে:

  • রিলিজগুলি কার্নেল ডেভেলপারদের দ্বারা সম্পূর্ণরূপে পর্যালোচনা করা হয়েছে, পৃথক অংশে নয়।
  • কোন প্যাচগুলি "নিরাপত্তা" সমস্যাগুলি সমাধান করে এবং কোনটি নয় তা নির্ধারণ করা কঠিন৷ প্রায় প্রতিটি এলটিএস রিলিজে অন্তত একটি পরিচিত নিরাপত্তা ফিক্স থাকে এবং অনেকগুলি এখনও "অজানা" থাকে।
  • যদি পরীক্ষা একটি সমস্যা দেখায়, কার্নেল বিকাশকারী সম্প্রদায় সমস্যাটি সমাধান করতে দ্রুত প্রতিক্রিয়া জানায়।
  • শুধুমাত্র আপনি যে পরিবর্তনগুলি চালান তা ফিল্টার করার প্রয়াস একটি কার্নেল ট্রিতে পরিণত হয় যা ভবিষ্যতের আপস্ট্রিম রিলিজের সাথে সঠিকভাবে একত্রিত করা অসম্ভব।