- সিস্টেমডি ২৬০ সম্পূর্ণরূপে SysV ইনিট স্ক্রিপ্টের সমর্থন তুলে দেয়, নেটিভ .service ইউনিট ব্যবহার বাধ্যতামূলক করে এবং systemd-sysv-generator-এর মতো কম্প্যাটিবিলিটি টুলগুলো সরিয়ে দেয়।
- এই সংস্করণে কার্নেলের প্রয়োজনীয়তা ন্যূনতম ৫.১০-এ উন্নীত করা হয়েছে, ৫.১৪ সংস্করণটি সুপারিশ করা হয়েছে এবং সমস্ত নিরাপত্তা, নেটওয়ার্কিং ও কন্টেইনার বৈশিষ্ট্য উপভোগের জন্য ৬.৬ সংস্করণটিকে লক্ষ্য হিসেবে রাখা হয়েছে।
- এর মধ্যে রয়েছে TPM2-এর উন্নতি, PrivateUsers-এর মাধ্যমে আইসোলেশন, নতুন নেটওয়ার্কিং অপশন, এবং systemd-networkd, systemd-portabled ও systemd-mstack-এর মতো টুলের মাধ্যমে সার্ভিস পোর্টেবিলিটি।
- এটি নতুন নির্দেশিকা (যেমন MemoryTHP, CPUSchedulingPolicy), systemctl-এর ভার্ব এবং এআই-সহায়তায় করা অবদানের জন্য নির্দিষ্ট ডকুমেন্টেশনের মাধ্যমে উন্নত প্রশাসনকে আরও শক্তিশালী করে।

আগমনের আগমন সিস্টেমডি ২৬০ একটি যুগান্তকারী পরিবর্তন চিহ্নিত করে। লিনাক্স ইকোসিস্টেমের জন্য। আধুনিক ডিস্ট্রিবিউশনগুলিতে সবচেয়ে বহুল ব্যবহৃত ইনিট সিস্টেম এবং সার্ভিস ম্যানেজারের এই নতুন সংস্করণটি বেশ কিছু যুগান্তকারী পরিবর্তন নিয়ে এসেছে, যা লিগ্যাসি সফটওয়্যারের সাথে সামঞ্জস্যতা এবং নিরাপত্তা, নেটওয়ার্কিং, কন্টেইনার, এমনকি এআই এজেন্ট ইন্টিগ্রেশন পরিচালনার পদ্ধতিকেও প্রভাবিত করে। আপনি যদি সার্ভার পরিচালনা করেন বা প্রতিদিন লিনাক্স নিয়ে কাজ করেন, তবে এই সংস্করণটি আপনার ভালোভাবে খতিয়ে দেখা উচিত।
খবরের শিরোনামের বাইরে, মূল চরিত্রটি হলো ক্লাসিক SysV ইনিট স্ক্রিপ্টগুলির জন্য সমর্থন চূড়ান্তভাবে প্রত্যাহার করা হয়েছেএর মাধ্যমে লিনাক্সের ইতিহাসে একটি অধ্যায়ের সমাপ্তি ঘটল এবং পুরোনো সার্ভিসগুলো পর্যালোচনা করা আবশ্যক হয়ে পড়ল। এই পদক্ষেপের পাশাপাশি, সিস্টেমডি ২৬০ নতুন ইউটিলিটি নিয়ে এসেছে, কার্নেলের ন্যূনতম প্রয়োজনীয়তা বাড়িয়েছে, TPM2-এর সাথে ইন্টিগ্রেশন উন্নত করেছে, সার্ভিস আইসোলেশন আরও শক্তিশালী করেছে, নেটওয়ার্কিং ও কন্টেইনারের সক্ষমতা বাড়িয়েছে এবং ডেস্কটপ এনভায়রনমেন্ট, সার্ভার ও ক্লাউড ডেপ্লয়মেন্টের জন্য ডিজাইন করা বিভিন্ন খুঁটিনাটি বিষয় পরিমার্জন করেছে।
SysV init-এর জন্য সমর্থনের সমাপ্তি: কার্যক্ষেত্রে কী পরিবর্তন আসছে
সিস্টেমডি ২৬০-এর সবচেয়ে আলোচিত নতুন বৈশিষ্ট্যগুলোর মধ্যে একটি হলো সিস্টেম ভি-স্টাইল বুট স্ক্রিপ্টের জন্য সমর্থন সম্পূর্ণরূপে অপসারণ, সাধারণ স্ক্রিপ্টগুলি সংরক্ষিত থাকে /etc/init.d/ যা বছরের পর বছর ধরে লিনাক্সে পরিষেবা চালু করার ভিত্তি হিসেবে কাজ করে আসছে। সেই সমর্থনকে অনেক আগেই অপ্রচলিত হিসেবে চিহ্নিত করা হয়েছিল এবং সতর্ক করা হয়েছিল যে এটি অবশেষে বিলুপ্ত হয়ে যাবে; এখন সেই মুহূর্তটি এসে গেছে।
এই সংস্করণের সাথে, SysV স্ক্রিপ্টকে systemd ইউনিটে অনুবাদ করার জন্য দায়ী উপাদানগুলো সরিয়ে ফেলা হয়েছে।এই ধরনের টুকরোগুলো অদৃশ্য হয়ে যায় systemd-sysv-generatorযা থেকে তাৎক্ষণিকভাবে ইউনিট তৈরি করা হয়েছিল /etc/init.d, এবং এছাড়াও systemd-sysv-installঅন্যান্য সামঞ্জস্যপূর্ণ উপাদানসমূহের পাশাপাশি, যেমন systemd-rc-local-generator y rc-local.serviceযা ক্লাসিককে সমর্থন করেছিল /etc/rc.local.
এই আন্দোলন ইঙ্গিত করে যে যেসব পরিষেবা এখনও শুধুমাত্র SysV স্ক্রিপ্টের উপর নির্ভর করে, ডিস্ট্রিবিউশনটি systemd 260 গ্রহণ করার পর সেগুলো আর সঠিকভাবে চালু হবে না।যদি না একটি স্থানীয় ইউনিট তৈরি করা হয়ে থাকে .serviceআধুনিক অবকাঠামোতে এর প্রভাব তুলনামূলকভাবে কম হবে, কিন্তু পুরোনো বা বিশেষভাবে তৈরি সফটওয়্যারযুক্ত পরিবেশে আগে থেকে নিরীক্ষা না করা হলে একাধিক অপ্রত্যাশিত সমস্যা দেখা দিতে পারে।
এদিকে, কিছু SysV সম্পর্কিত মেসন বিল্ডিং সিস্টেম অপশনগুলোকে অপ্রচলিত হিসেবে চিহ্নিত করা হয়েছে বা সরিয়ে ফেলা হয়েছে।পরামিতি যেমন -Drc-local=, -Dsysvinit-path= y -Dsysvrcnd-path= সেগুলো অপ্রচলিতই রয়ে গেছে, যদিও বিকল্পগুলির মধ্যে যেমন -Dintegration-tests= y -Dcryptolib= এগুলো সরাসরি কম্পাইলেশন ট্রি থেকে অদৃশ্য হয়ে যায়, ফলে কোডবেস সরল হয়।
কার্যকরী দিক থেকে, এর মানে এটাও যে সিস্টেমডি এখন শুধুমাত্র নেটিভ ইউনিটগুলির উপর মনোযোগ দেয়কোনো মধ্যবর্তী স্তর বা লিগ্যাসি স্ক্রিপ্ট থেকে স্বয়ংক্রিয়ভাবে সার্ভিস তৈরি করা ছাড়াই। বার্তাটি বেশ স্পষ্ট: যদি আপনার সিস্টেমের কোনো গুরুত্বপূর্ণ বিষয় এখনও স্ক্রিপ্ট হিসেবে বিদ্যমান থাকে /etc/init.d/এখন এটিকে সুস্পষ্টভাবে স্থানান্তর করার সময় এসেছে।
কেন SysV সরানো হলো: প্রযুক্তিগত পরিমার্জন এবং ইকোসিস্টেমের ভবিষ্যৎ
SysV init সামঞ্জস্যতা অপসারণের সিদ্ধান্তটি যথেচ্ছ নয়। প্রকল্পের দৃষ্টিকোণ থেকে, কার্যত অপ্রচলিত একটি স্টার্টআপ পদ্ধতির জন্য লিগ্যাসি কোড রক্ষণাবেক্ষণ করা একটি বোঝা ছিল। এটি ফ্রেমওয়ার্কটির রক্ষণাবেক্ষণ এবং বিবর্তনকে জটিল করে তুলেছিল। সামঞ্জস্যতা সমর্থনকে বহু বছর ধরে সেকেলে বলে মনে করা হতো, এবং মূলধারার ডিস্ট্রিবিউশনগুলোতে এর প্রকৃত ব্যবহার ক্রমশ প্রান্তিক হয়ে পড়ছিল।
এই স্তরটি অপসারণ করে, systemd অভ্যন্তরীণ জটিলতা হ্রাস করে এবং এমন এক্সিকিউশন পাথগুলো দূর করে যেগুলো পরীক্ষা করা ও সুরক্ষিত করা কঠিন।লিগ্যাসি সার্ভিসগুলো পরিচালনার জন্য বিশেষ পাথের সংখ্যা কমে যাওয়ায়, ডেভেলপমেন্ট টিম এখন কোর নেটিভ ইউনিট ইঞ্জিনকে আরও উন্নত করা, নিরাপত্তা ও পারফরম্যান্সের উন্নতি ঘটানো এবং নতুন কার্নেল ও ইউজার-স্পেস এপিআই-এর সাথে ইন্টিগ্রেশনের ওপর মনোযোগ দিতে পারবে।
এর একটি স্পষ্ট উপাদানও রয়েছে বর্তমান পরিষেবা ব্যবস্থাপনা মানদণ্ডের সাথে সামঞ্জস্যবর্তমানে, প্রায় সমস্ত প্রধান লিনাক্স ডিস্ট্রিবিউশন তাদের প্রাথমিক ইনিট সিস্টেম হিসেবে সিস্টেমডি (systemd) গ্রহণ করেছে এবং তাদের প্যাকেজগুলোর জন্য নেটিভ ইউনিট সরবরাহ করে। কার্যত, একটি অবলম্বন হিসেবে সিসভি (SysV) রক্ষণাবেক্ষণ করা মানে ছিল এমন একটি বুট মডেলকে সমর্থন করা, যা ডিপেন্ডেন্সি, সিগ্রুপস, স্ট্রাকচার্ড লগিং এবং রিসোর্স কন্ট্রোল বর্ণনা করার আধুনিক পদ্ধতির সাথে আর খাপ খায় না।
কর্মক্ষমতার দৃষ্টিকোণ থেকে, সামঞ্জস্য স্তরগুলি অপসারণ করলে আপনি কিছু অতিরিক্ত কাজ কমাতে পারেন। এবং স্টার্টআপের সময় অপ্রয়োজনীয় রূপান্তর এড়িয়ে চলুন। যদিও মিলিসেকেন্ডের হিসাবে এর প্রভাব খুব বেশি না-ও হতে পারে, তবে অত্যন্ত সুসমন্বিত সিস্টেম বা বহু পরিষেবাযুক্ত সিস্টেমে এটি আরও অনুমানযোগ্য আচরণ বজায় রাখতে সাহায্য করতে পারে; অধিকন্তু, এটি জানা দরকারি যে কীভাবে বুট মেনু টাইমআউট পরিবর্তন করুন পরীক্ষা ও যাচাইকরণের জন্য
সিস্টেম প্রশাসকদের জন্য বাস্তব বার্তাটি হলো যে systemd-ভিত্তিক পরিবেশে SysV এখন অতীত।আমাদের অবশ্যই ধরে নিতে হবে যে রেফারেন্স মডেলটি হলো এককসমূহ। .serviceঅন্যান্য ধরনের ইউনিটগুলোর (সকেট, টাইমার, টার্গেট, ইত্যাদি) পাশাপাশি, অভ্যন্তরীণ টুলস, ডকুমেন্টেশন এবং প্রশিক্ষণকে সেই বাস্তবতার সাথে খাপ খাইয়ে নিতে হবে।
আপনার সিস্টেম এখনও SysV-এর উপর নির্ভরশীল কিনা তা কীভাবে পরীক্ষা করবেন এবং কী করতে হবে।
আপনার ডিস্ট্রিবিউশন systemd 260-তে আপগ্রেড করার আগে, এটি জোরালোভাবে সুপারিশ করা হচ্ছে। আপনার এখনও ক্লাসিক স্ক্রিপ্টের উপর নির্ভরশীল পরিষেবা আছে কিনা তা পরীক্ষা করুন।প্রাথমিক যাচাইয়ের মধ্যে রয়েছে বিষয়বস্তুগুলোর একটি তালিকা তৈরি করা। /etc/init.d/, যেখানে এই প্রারম্ভিক স্ক্রিপ্টগুলো ঐতিহ্যগতভাবে থাকে:
ls /etc/init.d/
যদি আপনি সেখানে এমন স্ক্রিপ্ট দেখেন যার কোনো সমতুল্য নেই /etc/systemd/system অথবা সাধারণ ইউনিট রুটগুলিতে, এটা একটা স্পষ্ট ইঙ্গিত যে, এখনও কাজ করার বাকি আছে।স্ক্রিপ্টটির অস্তিত্ব থাকাই যথেষ্ট নয়: আসল বিষয় হলো, বাস্তবে সার্ভিস চালু বা বন্ধ করার জন্য এটি এখনও ব্যবহৃত হয় কি না।
আরেকটি দরকারী কৌশল হল systemd-এর পূর্ববর্তী সংস্করণগুলিতে SysV থেকে তৈরি ইউনিটগুলি অনুসন্ধান করুনযদিও সংস্করণ ২৬০-এ এগুলি আর নেই, তবুও আপডেটের পরে কী সমস্যা হয়েছে তা শনাক্ত করতে বর্তমান সিস্টেমগুলিতে এগুলি এখনও কার্যকর হতে পারে:
systemctl list-unit-files | grep generated
যদি ওই কমান্ডটি 'জেনারেটেড' হিসেবে চিহ্নিত সার্ভিসগুলো দেখায়, তাহলে সেগুলো সাধারণত লিগ্যাসি স্ক্রিপ্ট থেকে আসে। সেগুলোকে শনাক্ত করে দেশীয় ইউনিট দিয়ে প্রতিস্থাপনের পরিকল্পনা করা বাঞ্ছনীয়।বিশেষত, ভার্সন আপগ্রেডটি প্রোডাকশনে যাওয়ার আগেই।
স্থানান্তরের ক্ষেত্রে, একটি দ্রুত পদ্ধতির মধ্যে অন্তর্ভুক্ত রয়েছে SysV স্ক্রিপ্টটিকে সাময়িকভাবে একটি systemd ইউনিটের ভিতরে মুড়ে দিন।নির্দিষ্ট করে ExecStart y ExecStop আর্গুমেন্ট সহ স্ক্রিপ্ট কল start y stopএটি সবচেয়ে মার্জিত সমাধান নয়, কিন্তু এটি আপনাকে সময় কেনার সুযোগ দেয়, যার মধ্যে আপনি সার্ভিসটিকে আরও প্রচলিত রীতিতে নতুন করে লিখতে পারেন।
মধ্যম মেয়াদে, সুপারিশকৃত কর্মপন্থা হলো এমন ইউনিট সংজ্ঞায়িত করুন যা সরাসরি সার্ভিসের বাইনারি বা প্রধান কমান্ডকে কল করে।আধুনিক নির্দেশাবলীর সুযোগ নিয়ে যেমন Restart=নির্দিষ্ট লজিকে পূর্ণ পুরোনো স্ক্রিপ্টের উপর নির্ভর করা চালিয়ে যাওয়ার পরিবর্তে, রিসোর্স লিমিট, সি-গ্রুপ ইন্টিগ্রেশন এবং উন্নত স্যান্ডবক্সিং অপশন ব্যবহার করুন।
সিস্টেমডি ২৬০-এর নতুন সক্ষমতা এবং প্রধান প্রযুক্তিগত পরিবর্তনসমূহ
যদিও SysV-এর বিদায় ব্যাপক মনোযোগ আকর্ষণ করছে, সিস্টেমডি ২৬০ বেশ কিছু অতিরিক্ত নতুন বৈশিষ্ট্য নিয়ে আসে। এই আপডেটগুলো নিরাপত্তা, নেটওয়ার্কিং, কার্নেল, কন্টেইনার, সার্ভিস পোর্টেবিলিটি এবং এমনকি সিস্টেমের তথ্য উপস্থাপনের পদ্ধতিকেও অন্তর্ভুক্ত করে। এটি একটি বিশেষভাবে শক্তিশালী সংস্করণ, যা অভ্যন্তরীণ পরিবর্তনে পরিপূর্ণ এবং সাম্প্রতিক কার্নেলগুলোর সক্ষমতাকে কাজে লাগানোর ধারা অব্যাহত রাখার জন্য ডিজাইন করা হয়েছে।
গুরুত্বপূর্ণ বিষয়গুলোর মধ্যে একটি হলো সর্বনিম্ন সমর্থিত কার্নেল সংস্করণের বৃদ্ধিসিস্টেমডি ২৬০ এখন আর লিনাক্স ৫.৪-এর মতো পুরোনো কার্নেলে চলে না: সর্বনিম্ন সংস্করণটি হবে লিনাক্স ৫.১০।তদুপরি, প্রকল্পটি নিজেই সুপারিশ করে কমপক্ষে লিনাক্স ৫.১৪ ব্যবহার করুনএবং নির্দেশ করে যে একটি কার্নেল ৬.৬ হলো আদর্শ বিকল্প যদি আপনি এই রিলিজে থাকা সমস্ত বৈশিষ্ট্যের পূর্ণ সুবিধা নিতে চান।
চাহিদার এই বৃদ্ধি তুচ্ছ নয়, কারণ এটি আমাদেরকে এমন ডিস্ট্রিবিউশন বা এনভায়রনমেন্ট ত্যাগ করতে বাধ্য করে, যেগুলো এখনও খুব পুরোনো কার্নেলের ওপর নির্ভরশীল।নির্দিষ্ট কিছু এন্টারপ্রাইজ বা এমবেডেড ডেপ্লয়মেন্টে এটি সাধারণ। এর বিনিময়ে, এটি systemd-কে আরও আধুনিক কার্নেল এপিআই-এর উপর নির্ভর করতে, cgroups v2-কে আরও ভালোভাবে কাজে লাগাতে, নতুন শিডিউলিং পলিসি এবং এমন সব নিরাপত্তা উন্নয়ন ব্যবহার করতে দেয় যা পুরোনো সংস্করণগুলোতে নেই।
সমান্তরালভাবে, একটি নতুন ক্ষেত্র FANCY_NAME= ফাইলের মধ্যে /etc/os-releaseএই ক্ষেত্রটি পূর্বপরিচিত ক্ষেত্রটির অনুরূপ। PRETTY_NAMEকিন্তু এর একটি অনন্য বৈশিষ্ট্য হলো, এটি ANSI সিকোয়েন্স এবং ইমোজির মতো বিশেষ অক্ষর অন্তর্ভুক্ত করতে পারে। সিস্টেমডি ম্যানেজার, systemd-hostnamed এবং সরঞ্জাম hostnamectl তারা এই মানটি প্রদর্শন করতে পারে, বিশেষ করে ইন্টারেক্টিভ ইন্টারফেস বা ডায়াগনস্টিক টুলগুলিতে, বন্টনটিকে আরও দৃষ্টিনন্দনভাবে উপস্থাপন করার জন্য।
বাহ্যিক সৌন্দর্যের দিকটি ছাড়াও, সিস্টেমডি ২৬০ ভারলিংকের ব্যবহার নিয়ে আরও গভীরভাবে অনুসন্ধান চালিয়ে যাচ্ছে। একটি যোগাযোগ ব্যবস্থা এবং এপিআই (API) হিসেবে, এটি বিভিন্ন কম্পোনেন্ট জুড়ে এর উপস্থিতি প্রসারিত করে। এটি সিস্টেমের সাথে প্রোগ্রাম্যাটিক মিথস্ক্রিয়া, বাহ্যিক টুলের সাথে ইন্টিগ্রেশন এবং সাধারণভাবে, সার্ভিস ও রিসোর্সের স্ট্যাটাস জিজ্ঞাসা ও পরিবর্তন করার একটি আরও সুসংগঠিত উপায় প্রদান করে।
এছাড়াও নিম্নলিখিত ক্ষেত্রগুলিতে উন্নতি হয়েছে, যেমন সিগ্রুপস ভি২ ভিত্তিক রিসোর্স ম্যানেজমেন্ট, স্টার্টআপ টাইম অপ্টিমাইজেশন, একটি ভাল কন্টেইনার এবং ভার্চুয়াল মেশিনের সাথে একীকরণ এবং এর মাধ্যমে লগ হ্যান্ডলিং-এর পরিমার্জন journaldতবে, এই পরিবর্তনগুলির অনেকগুলিই ধীরগতির এবং বৃহৎ বা অত্যন্ত পরিমার্জিত প্রয়োগের ক্ষেত্রে সেগুলি বেশি লক্ষণীয়।
নিরাপত্তা ও বিচ্ছিন্নতা: TPM2, PrivateUsers এবং নতুন মেমরি নীতিমালা
নিরাপত্তার দিক থেকে, সিস্টেমডি ২৬০ বেশ কয়েকটি ক্ষেত্রে অগ্রগতি করছে। যেমন, TPM2-এর সাথে একীকরণ জোরদার করা হয়েছেসিকিউর প্ল্যাটফর্ম মডিউল (SPM) অনেক আধুনিক UEFI মাদারবোর্ড এবং ডিভাইসে উপস্থিত থাকে। এই চিপগুলো অন্যান্য কাজের পাশাপাশি এনক্রিপশন কী সুরক্ষিত রাখতে এবং বুট করার সময় ডিস্ক বা পার্টিশন আনলক করার প্রক্রিয়া স্বয়ংক্রিয় করতে ব্যবহৃত হয়।
বিশেষভাবে, udev এখন একটি নতুন বিল্ট-ইন অন্তর্ভুক্ত করেছে যার নাম tpm2_idএই ফিচারটি হার্ডওয়্যার ডিসকভারি পর্যায়ে সংযুক্ত TPM2 ডিভাইসগুলোর প্রস্তুতকারক এবং মডেল স্বয়ংক্রিয়ভাবে বের করে শনাক্ত করতে সাহায্য করে। এই তথ্য পরবর্তীতে আরও সুনির্দিষ্ট নিরাপত্তা নীতি, অডিট স্ক্রিপ্ট, বা ইনভেন্টরি টুলের জন্য ব্যবহার করা যেতে পারে, যেগুলোর প্রতিটি মেশিনে ঠিক কোন TPM আছে তা জানার প্রয়োজন হয়।
আরেকটি গুরুত্বপূর্ণ উন্নতি আসে এর সাথে সম্পূর্ণ বাস্তবায়ন PrivateUsers=fullএটি একটি আইসোলেশন অপশন যা একটি সার্ভিসের মধ্যে ইউজার আইডির সম্পূর্ণ পরিসর ম্যাপ করার সুযোগ দেয়। এই পরিবর্তনটি ২৫৭-এর পূর্ববর্তী সংস্করণগুলোর উপর ভিত্তি করে systemd-এর নেস্টেড ইনস্ট্যান্সগুলো সঠিকভাবে শনাক্ত করার জন্য ব্যবহৃত ওয়ার্কঅ্যারাউন্ডটি বাতিল করে, ফলে কন্টেইনার বা নেস্টেড এনভায়রনমেন্ট উপস্থিত থাকলে এর আচরণ আরও সরল হয়।
যারা পরিচিত নন তাদের জন্য, PrivateUsers হলো একটি স্যান্ডবক্সিং বৈশিষ্ট্য যা কোনো সার্ভিসের ব্যবহারকারী পরিসরকে বিচ্ছিন্ন করে রাখে।এটি নিশ্চিত করে যে সিস্টেমের ভেতরের প্রসেসগুলো হোস্ট সিস্টেমের চেয়ে ভিন্ন একটি UID ম্যাপ দেখতে পায়। এটি প্রিভিলেজ এসকেলেশনের বিরুদ্ধে আইসোলেশনকে শক্তিশালী করে এবং নির্দিষ্ট সার্ভিসগুলোর ওপর ভালনারেবিলিটির প্রভাব সীমিত করতে সাহায্য করে।
এছাড়াও, সিস্টেমডি ২৬০ একটি নতুন বৈশিষ্ট্য চালু করেছে। নতুন পরিষেবা নির্দেশিকা বলা হয়েছে MemoryTHP=এর মাধ্যমে আপনি ইউনিট লেভেলে ট্রান্সপারেন্ট হিউজ পেজ (THP)-এর ব্যবহার নিয়ন্ত্রণ করতে পারবেন। THP কিছু নির্দিষ্ট মেমরি-ইনটেনসিভ ওয়ার্কলোডে পারফরম্যান্স উন্নত করতে পারে, কিন্তু অন্যগুলোতে সমস্যাও সৃষ্টি করতে পারে। প্রতিটি সার্ভিসের জন্য এগুলোর আচরণ চালু, বন্ধ বা সমন্বয় করার একটি নির্দিষ্ট ব্যবস্থা থাকলে, গ্লোবাল পলিসি প্রয়োগ না করেই পারফরম্যান্সকে আরও কার্যকরভাবে সূক্ষ্মভাবে নিয়ন্ত্রণ করা যায়।
systemd-logind, systemd-udevd, এবং ডিভাইস অ্যাক্সেস কন্ট্রোলে নতুন কী আছে
সেশন ও ডিভাইস ব্যবস্থাপনার ক্ষেত্রে, সিস্টেমডি ২৬০ একটি আকর্ষণীয় ধারণা যোগ করেছে, যার নাম 'xaccess', বাস্তবায়িত হয়েছে systemd-logind y systemd-udevdএখন পর্যন্ত যুক্তিটা ছিল যে "uaccess"যা স্থানীয় কনসোলে ফোরগ্রাউন্ড সেশন থাকা ব্যবহারকারীদের ডিভাইসগুলিতে (যেমন, একটি ওয়েবক্যাম বা একটি ইনপুট ডিভাইস) অনুমতি প্রদান করত।
নতুন প্রক্রিয়া xaccess আপনাকে বিশেষভাবে চিহ্নিত সেশনগুলিতে নির্দিষ্ট ডিভাইসগুলিতে অ্যাক্সেস অর্পণ করার সুযোগ দেয়।এমনকি যখন ব্যবহারকারীরা শারীরিকভাবে মেশিনের সামনে উপস্থিত থাকেন না। এর সাধারণ ব্যবহার হলো দূরবর্তী ব্যবহারকারীদের দ্বারা ব্যবহৃত স্থানীয় গ্রাফিক্স সেশনগুলিতে জিপিইউ রেন্ডারিং ডিভাইসগুলিতে অ্যাক্সেস দেওয়া, যাদের কোনো সংশ্লিষ্ট ফিজিক্যাল সিট নেই।
এই সেশনগুলি ব্যবহার করে কনফিগার করা হয় পরিবেশ সূচক PAM XDG_SESSION_EXTRA_DEVICE_ACCESS=এটি নির্দিষ্ট করে যে এই লজিকের অধীনে সেশনে কোন কোন অতিরিক্ত ডিভাইসকে অনুমতি দেওয়া উচিত। এটি ইউঅ্যাক্সেস (uaccess)-এর পরিপূরক এবং রিমোট ডেস্কটপ, লাইটওয়েট ভার্চুয়ালাইজেশন, শেয়ার্ড ল্যাব বা রিমোট গ্রাফিক্যাল অ্যাক্সেস পরিস্থিতিতে অধিকতর নমনীয়তা প্রদান করে।
সামগ্রিকভাবে, এই পরিবর্তনগুলো নির্দেশ করে কে কোন হার্ডওয়্যার অ্যাক্সেস করতে পারবে তার উপর আরও সূক্ষ্ম এবং গতিশীল নিয়ন্ত্রণ।শুধুমাত্র স্ট্যাটিক গ্রুপ বা গ্লোবাল পারমিশনের উপর নির্ভর না করেই। এটি বিশেষত মাল্টি-ইউজার সিস্টেম বা শেয়ার্ড জিপিইউ যুক্ত সার্ভারের ক্ষেত্রে উপযোগী, যেখানে নিরাপত্তা ও সুবিধার মধ্যে ভারসাম্য রক্ষা করা প্রয়োজন।
systemd-networkd এবং ModemManager: মোবাইল নেটওয়ার্ক এবং নতুন লিঙ্কিং অপশন
নেটওয়ার্কিং এর ক্ষেত্রে, সিস্টেমডি ২৬০ কিছু আকর্ষণীয় উন্নতি নিয়ে এসেছে। সবচেয়ে উল্লেখযোগ্য বিষয় হলো যে systemd-networkd এখন 'simple connect' প্রোটোকল ব্যবহার করে ModemManager-এর সাথে সমন্বিত হয়েছে।এর মাধ্যমে সরাসরি systemd কনফিগারেশন থেকে মোবাইল ডেটা সংযোগ (3G, 4G, 5G) পরিচালনা করা সহজ হয়।
এই উদ্দেশ্যে একটি নতুন বিভাগ চালু করা হয়েছে। networkd কনফিগারেশন ফাইলগুলিতে, যা প্যারামিটার গ্রহণ করে যেমন APN=, AllowedAuthenticationMechanisms=, User=, Password=, IPFamily=, AllowRoaming=, PIN=, OperatorId=, RouteMetric= y UseGateway=এর মাধ্যমে আপনি ঘোষণামূলকভাবে নির্ধারণ করতে পারেন যে মোবাইল সংযোগ কীভাবে স্থাপন করা হবে, কোন পরিচয়পত্র ব্যবহার করতে হবে এবং রোমিং চলাকালীন কী আচরণ অনুসরণ করতে হবে, সেইসাথে অন্যান্য বিষয়গুলোও।
উপরন্তু, systemd-networkd ফাইলগুলিতে উপলব্ধ বিকল্পগুলি প্রসারিত করে। .link ইথারনেট ইন্টারফেস কনফিগার করতেনতুন নির্দেশাবলীর মধ্যে রয়েছে ধারণক্ষমতা সমন্বয়, যেমন— ScatterGather=, ScatterGatherFragmentList=, TCPECNSegmentationOffload=, TCPMangleIdSegmentationOffload=, GenericReceiveOffloadList= y GenericReceiveOffloadUDPForwarding=যা নিম্ন-স্তরের নেটওয়ার্ক অপ্টিমাইজেশনের আরও অনেক বিস্তারিত নিয়ন্ত্রণের সুযোগ করে দেয়।
আরেকটি উল্লেখযোগ্য উন্নতি হলো যে systemd-networkd-এর Varlink এবং JSON ইন্টারফেসগুলো এখন আইপি অ্যাড্রেসকে সহজে পাঠযোগ্য স্ট্রিং ফরম্যাটে উপস্থাপন করতে পারে।বিদ্যমান ইন্টিজার অ্যারে ফরম্যাটের পাশাপাশি, এটি নেটওয়ার্কের অবস্থা জানতে চাওয়া বাহ্যিক টুল এবং স্ক্রিপ্টগুলোর জন্য কাজটিকে অনেকাংশে সহজ করে দেয় এবং কষ্টসাধ্য রূপান্তরের প্রয়োজন এড়ায়।
সব মিলিয়ে, এই পরিবর্তনগুলো systemd-networkd-এর অবস্থানকে আরও শক্তিশালী করে। নেটওয়ার্ক ম্যানেজার যা সাধারণ সার্ভার কনফিগারেশন থেকে শুরু করে উন্নত পরিস্থিতি পর্যন্ত সবকিছু সামলাতে সক্ষম। মোবাইল নেটওয়ার্কের সাথে, আধুনিক NIC-গুলিতে অফলোডিংয়ের সূক্ষ্ম সমন্বয় এবং ModemManager-এর মতো বাহ্যিক API-গুলির সাথে একীকরণ।
কন্টেইনার, পরিষেবা বহনযোগ্যতা এবং নতুন সরঞ্জাম
লাইটওয়েট ভার্চুয়ালাইজেশন এবং কন্টেইনারের ক্ষেত্রে, সিস্টেমডি ২৬০ বেশ কিছু গুরুত্বপূর্ণ উন্নতি এনেছে। এর মধ্যে সবচেয়ে উল্লেখযোগ্য হলো এর সংযোজন। একটি নতুন কমান্ড লাইন যার নাম systemd-mstackনতুন 'mstack' কার্যকারিতার সাথে পারস্পরিকভাবে কাজ করার জন্য ডিজাইন করা হয়েছে।
বৈশিষ্ট্য mstack আপনাকে একটি ডিরেক্টরির বিষয়বস্তু কাঠামোবদ্ধ করার মাধ্যমে একটি OverlayFS সংজ্ঞায়িত করার সুযোগ দেয়। .mstack/ একটি নির্দিষ্ট স্পেসিফিকেশন অনুসরণ করে। এই সক্ষমতাটি সিস্টেমডি-র কন্টেইনারাইজেশন এবং স্যান্ডবক্সিং টুলস সম্প্রসারণের প্রচেষ্টার একটি অংশ, যার মধ্যে ওসিআই (OCI) ইমেজ ডাউনলোড এবং পরিচালনার জন্য সমর্থনও অন্তর্ভুক্ত। systemd-importdমূলত, এটি শুধুমাত্র বাহ্যিক টুলের উপর নির্ভর না করে ফাইল সিস্টেম লেয়ার স্ট্যাক একত্রিত করা সহজ করে তোলে।
এছাড়াও উন্নতি সাধন করা হয়েছে সিস্টেমডি-ভিএমস্পনএই টুলটি systemd-এর সাথে সমন্বিতভাবে ভার্চুয়াল মেশিন চালু করার জন্য ডিজাইন করা হয়েছে। নতুন ফিচারগুলোর মধ্যে নিম্নলিখিতগুলো উল্লেখযোগ্য: মেশিন নিবন্ধনের জন্য সমর্থন systemd-machined ব্যবহারকারী সেশনের মধ্যেপাশাপাশি বিকল্পটির মাধ্যমে ক্ষণস্থায়ী যন্ত্র তৈরির সম্ভাবনা --ephemeralযেগুলো তাদের কাজ শেষ হয়ে গেলে অদৃশ্য হয়ে যায়।
শর্তাবলী সিস্টেমডি-পোর্টেবলডবহনযোগ্য চিত্র-ভিত্তিক পরিষেবা পরিচালনার দায়িত্বে থাকা সংস্থাটি এখন জয়ী হয়েছে ব্যবহারকারী-স্তরের পরিষেবা হিসাবে চলার ক্ষমতাএর অর্থ হলো, অ্যাডমিনিস্ট্রেটর সুবিধা ছাড়াই ব্যবহারকারীরা তাদের নিজস্ব স্পেসে পোর্টেবল পরিষেবা চালু ও পরিচালনা করতে পারবেন, যদি তারা যথেষ্ট সাম্প্রতিক একটি কার্নেল ব্যবহার করেন এবং ডিস্ট্রিবিউশনটি এই বিকল্পটি সক্রিয় করে রাখে।
এছাড়াও, systemd-portabled এখন পারে একটি নীতি তৈরি করুন এবং পোর্টেবল পরিষেবাগুলির জন্য ব্যবহৃত চিত্রটি প্রতিষ্ঠা করুন।এটি ইমেজটি পুনরায় সংযুক্ত না করা পর্যন্ত পরবর্তী পরিবর্তন প্রতিরোধ করে। এটি এমন পরিবেশে অতিরিক্ত অখণ্ডতা এবং নির্ভরযোগ্যতা প্রদান করে, যেখানে চলমান ইমেজটি যেন নীরবে পরিবর্তিত না হয় তা নিশ্চিত করা গুরুত্বপূর্ণ।
systemctl, CPU শিডিউলিং এবং AI-এর ডকুমেন্টেশনে উন্নতি
পরিষেবা ব্যবস্থাপনা ইন্টারফেসে, এই সংস্করণে, systemctl একটি নতুন ভার্ব অন্তর্ভুক্ত করেছে যার নাম enqueue-markedযা অভ্যন্তরীণভাবে ডি-বাস পদ্ধতিকে কল করে EnqueueMarkedJobs()এই ফাংশনটি systemd কিউতে চিহ্নিত কাজগুলোকে আরও নির্ভুলভাবে পরিচালনা করার জন্য ডিজাইন করা হয়েছে, যা উন্নত টুল এবং অটোমেশন স্ক্রিপ্টগুলোকে আরও বেশি নিয়ন্ত্রণ প্রদান করে।
সিপিইউ শিডিউলিং অংশেও একটি উন্নতি করা হয়েছে: নির্দেশিকা CPUSchedulingPolicy= এখন মূল্য স্বীকার করে extযা শিডিউলারকে সক্ষম করে SCHED_EXTলিনাক্স ইকোসিস্টেমে এখনও বিকাশমান এই নতুন ধরনের শিডিউলিং, বিশেষ ওয়ার্কলোড এবং সেইসব সিস্টেমের জন্য আরও বেশি নমনীয়তা প্রদান করে যারা বাহ্যিক শিডিউলিং নীতি নিয়ে পরীক্ষা-নিরীক্ষা করতে চায়।
একটি কৌতূহলোদ্দীপক কিন্তু গুরুত্বপূর্ণ বিষয় হলো, প্রকল্পটি যোগ করেছে systemd রিপোজিটরির মধ্যে AI এজেন্টদের জন্য নির্দিষ্ট ডকুমেন্টেশনএর লক্ষ্য হলো এআই-চালিত বট ও স্ক্র্যাপারদেরকে কোড, প্রোগ্রামিং শৈলী, অবদানের নির্দেশিকা এবং প্রকল্পের অভ্যন্তরীণ কার্যপ্রণালী আরও ভালোভাবে বুঝতে সাহায্য করা, যার ফলে সাধারণ ভুল বোঝাবুঝি হ্রাস পাবে।
এই প্রসঙ্গে, সিস্টেমডি টিম এর জন্য প্রয়োজন যে, এআই-এর সাহায্যে সৃষ্ট অবদানগুলোতে একটি স্বচ্ছতা লেবেল অন্তর্ভুক্ত থাকবে।ট্যাগের মতো co-developed-by প্যাচগুলোর মধ্যে, যাতে প্রমাণ থাকে যে কোড ডেভেলপমেন্টে এই ধরনের টুল ব্যবহার করা হয়েছিল। এটি একটি উদাহরণ যে কীভাবে এমন একটি নিম্ন-স্তরের প্রজেক্টও জেনারেটিভ এআই-এর বাস্তবতার সাথে নিজেদের মানিয়ে নিচ্ছে।
অবশেষে, systemd-repart এনক্রিপ্টেড ভলিউমগুলিতে প্রাথমিক ইন্টিগ্রিটি চেক করার সুবিধা যোগ করেছে।এটি এমন ডেপ্লয়মেন্টের ক্ষেত্রে উপযোগী, যেখানে আপনি সুরক্ষিত পার্টিশন বা ইমেজ নিয়ে কাজ করেন এবং আরও জটিল বাহ্যিক ইউটিলিটি ব্যবহার না করেই সেগুলোর অবস্থা যাচাই করতে চান।
ব্যবহারকারীদের জন্য বিতরণ এবং সুপারিশের উপর প্রভাব
systemd 260-এর প্রকৃত স্থাপনার বিষয়ে, সংস্করণটি শুরু হবে ধীরে ধীরে বড় বিতরণ চ্যানেলে পৌঁছাতে ইন্টিগ্রেশনের প্রথম ছয় মাসে, সাধারণত ডেভেলপমেন্ট ব্রাঞ্চ বা রোলিং রিলিজ এডিশনের মাধ্যমে এটি চালু হয়। Arch Linux বা openSUSE Tumbleweed-এর মতো ডিস্ট্রিবিউশনগুলো সাধারণত এই সংস্করণগুলো বেশ দ্রুত গ্রহণ করে।
এর পরিবর্তে, নির্দিষ্ট-চক্রের রিলিজ এবং এলটিএস সংস্করণগুলিতে সাধারণত বেশি সময় লাগে। systemd-এর একটি প্রধান সংস্করণ অন্তর্ভুক্ত করা উচিত নয়, বিশেষ করে যদি সেই পরিবর্তনটি SysV init-এর মতো পুরোনো প্রযুক্তির সাথে সামঞ্জস্য নষ্ট করে। উদাহরণস্বরূপ, Fedora-র মতো প্রজেক্টগুলো সাধারণত একই স্টেবল রিলিজ চক্রের মধ্যে systemd-এর প্রধান সংস্করণ আপডেট করে না, বরং সেই পরিবর্তনগুলো ডিস্ট্রিবিউশনের নতুন সংস্করণগুলোর জন্য সংরক্ষিত রাখে।
গড় ডেস্কটপ ব্যবহারকারীর জন্য, systemd আপডেট করাকে খুব কমই একটি গুরুত্বপূর্ণ ঘটনা বলে মনে হয়।যেহেতু ডিস্ট্রিবিউশনগুলো সবকিছু এমনভাবে প্যাকেজ করে যাতে কোনো কিছু "বিস্ফোরিত" না হয়, তাই সবসময়ই এমন উৎসাহী থাকেন যারা যেকোনো মূল্যে সর্বশেষ সংস্করণটি চান, এবং সেইসব ক্ষেত্রে ঝুঁকি মেনে নিয়ে রোলিং রিলিজ ডিস্ট্রিবিউশন বা টেস্ট রিপোজিটরি বেছে নেওয়াই শ্রেয়।
উৎপাদন পরিবেশে সুপারিশটি সুস্পষ্ট: লিগ্যাসি পরিষেবাগুলি অডিট করুন, স্ক্রিপ্টগুলি পর্যালোচনা করুন /etc/init.d/স্টেজিং পরিবেশে নেটিভ সিস্টেমডি ইউনিটে মাইগ্রেশন পরীক্ষা করুন এবং গুরুত্বপূর্ণ মেশিনগুলিতে স্থাপন করার আগে এর কার্যকারিতা পুঙ্খানুপুঙ্খভাবে যাচাই করুন। এই ধাপটি এড়িয়ে গেলে সার্ভিস চালু হতে ব্যর্থ হওয়া, এনক্রিপ্টেড বুট চেইন ব্যর্থতা, অথবা উন্নত কনফিগারেশনে নেটওয়ার্ক সমস্যা দেখা দিতে পারে।
সংক্ষিপ্ত, সিস্টেমডি ২৬০ আরও সুসংহত এবং আধুনিক লিনাক্স ইকোসিস্টেমের দিকে একটি বড় পদক্ষেপের প্রতিনিধিত্ব করে।কিন্তু এর জন্য এমন সব পদ্ধতি ও উপাদানও ত্যাগ করতে হবে যা কয়েক দশক ধরে আমাদের সাথে রয়েছে। যারা আগে থেকে এই পরিবর্তনের পরিকল্পনা করবে, বিতরণ ব্যবস্থাগুলো যখন পরিবর্তিত হবে এবং এই সংস্করণটি তাদের সিস্টেমের নতুন ভিত্তি হয়ে উঠবে, তখন তাদের অভিজ্ঞতা অনেক বেশি মসৃণ হবে।
সাধারণভাবে বাইট এবং প্রযুক্তির বিশ্ব সম্পর্কে উত্সাহী লেখক। আমি লেখার মাধ্যমে আমার জ্ঞান ভাগ করে নিতে পছন্দ করি, এবং আমি এই ব্লগে এটিই করব, আপনাকে গ্যাজেট, সফ্টওয়্যার, হার্ডওয়্যার, প্রযুক্তিগত প্রবণতা এবং আরও অনেক কিছু সম্পর্কে সবচেয়ে আকর্ষণীয় জিনিস দেখাব৷ আমার লক্ষ্য হল আপনাকে একটি সহজ এবং বিনোদনমূলক উপায়ে ডিজিটাল বিশ্বে নেভিগেট করতে সাহায্য করা।
