এই গাইডে ব্যাখ্যা করা আছে কিভাবে systemctl ব্যবহার করে সার্ভিস লিস্ট করা যায় এবং তাদের স্ট্যাটাস চেক করা যায়। আমরা systemctl-এর অন্যান্য ব্যবহারও কভার করব।
run_init সার্ভিস থেকে আসা, systemctl আমার কাছে একটি নতুন বাতাস। আমার বirem চিন্তা আছে আমি ভুল এবং পক্ষে ও বিপক্ষে বিতর্ক শুনেছি এবং মনে কয়েকবার বদলিয়েছি। দৈনন্দিন কাজে ব্যবহার করার পর, আমি systemctl ক্যাম্পে আছি। কমান্ডের ল্যাঙ্গুয়েজ এখন আরও স্বাভাবিক লাগে। দিন-প্রতিদিনের ফাংশনাল লেভেলে, আমি এটিকে পছন্দ করি। আমি পরিবর্তনটাকে স্বাগত জানিয়েছি, এবং পুরানো সিস্টেমে কাজ করার সময় ফিরে যাওয়া প্রতিরোধ করি। চলুন systemctl এবং এটি কীভাবে কাজ করে সেটি দেখি।
Systemctl Status
systemctl-এর প্রথম এবং সবচেয়ে গুরুত্বপূর্ণ ব্যবহার হচ্ছে সার্ভিস স্ট্যাটাস চেক করা। সিনট্যাক্স:
#systemctl command argument #systemctl status service

systemctl status service
সেটি আপনার atd সার্ভিস ইনফো। কিছুক্ষণ আগে শুরু হয়েছিল (রিবুট করা উচিত…), এবং এক্টিভ। PID আছে যদি কিল করতে হয়, যদিও systemctl-দিয়েও করা যায়। তাহলে কী চেক করব? একটি কুইক এবং সহজ স্টেপ, ফেইল্ড সার্ভিস চেক করুন।
#systemctl --failed --type=service

systemctl –failed –type=service
এগুলো তদন্ত করুন এবং নির্ধারণ করুন নরমাল কিনা। নরমাল কী সেটি কীভাবে জানবেন? রানিং সার্ভিস চেক করুন:
#systemctl -t service --state=active

systemctl -t service –state=active
ইনফো পেরুজ করার পর, সেভ করুন।
#systemctl -t service --state=active >date$systemhealth.log
পরে দিনগুলোতে, ডিফ চেক করুন।
#systemctl -t service --state=active > date$systemhealth.log
#diff day1systemhealth.log day2systemhealth.log

diff day1systemhealth.log day2systemhealth.log
হয়েগেলো, এখন আপনি জানবেন কি কিছু অনলাইন থাকা উচিত ছিল। আপনি যদি একটি নতুন সিস্টেমের সাথে পরিচিত হতে চান, তবে চেক করার জন্য একটি ভালো সেট সার্ভিস নিচে দেওয়া হলো।
LAMP
আমরা যেই বেসিক স্ট্যাক অধিকাংশ মানুষ শুরুর দিনগুলোতে ডিপ্লয় শিখে সেটি দেখি। ওহ, আপনি যদি সার্ভিসের নাম না জানেন। চিন্তা নেই। systemctl-এ ট্যাব কমপ্লিশন এনাবলড। সিম্পলি apache টাইপ করুন, দুবার ট্যাব চাপুন, এবং যা দরকার সেটি বেছে নিন।

systemctl status apache
#systemctl status apache2.service mongo mysql

systemctl status apache2.service mongo mysql
আরো ডিটেইলে যেতে চান?
#systemctl list-dependencies apache2.service

systemctl list-dependencies apache2.service
এটি সার্ভিসের সকল ডিপেন্ডেন্সি দেখাবে। এবং প্রতিটির স্ট্যাটাস একটি ফ্রেন্ডলি কালারড ডট দিয়ে। গ্রিন ফর গুড, রেড ফর ফেইল্ড।
নেটওয়ার্ক
এবার নেটওয়ার্ক ফাংশনাল কিনা সেটি নিশ্চিত করি।
#systemctl status networking ufw wpa

systemctl status networking ufw wpa
এখন পর্যন্ত যদি স্পষ্ট না হয়, systemctl-র আমার ফেভারিট ফিচার হল একাধিক সার্ভিস একসাথে কন্ট্রোল করা। এবং অটোমেটিক্যালি less-এ পাইপ্ড।
সার্ভিস কন্ট্রোল করা
ঠিক আছে, এখন আপনার কিছু ফেইল্ড সার্ভিস আইডেন্টিফাই হয়েছে। অথবা আপনি একটি সার্ভিস চেঞ্জ ইমপ্লিমেন্ট করেছেন। যেমন sshd.config ফাইল আপডেট করা, এবং সেটি রিলোড করতে হবে। অথবা আপনি একটি নতুন সার্ভিস যোগ করছেন, বা পুরোপুরি রিমুভ করছেন?
systemctl-এ এটি সিম্পল, এবং আপনার দুটি অপশন আছে। Reload এবং restart। Reload শুধু নতুন কনফিগ ফাইল পড়ে। Restart যেকোনো কানেকশন ড্রপ করে এবং কনফিগ ফাইল রিলোড করে। আপনার দরকার অনুযায়ী দুটোরই তাদের কারণ আছে।
Restart এবং Reload
#systemctl restart atd #systemctl status atd

systemctl restart atd
হয়েগেলো, রিস্টার্ট হয়েছে। নিউ ইনফো যোগ হয়েছে। রোবাস্ট লোড ব্যালেন্সড সিস্টেমের জন্য, আমি রিস্টার্ট পছন্দ করি। আমি জানি কানেকশন রি-রাউট হবে এবং ডাউনটাইম নন-এক্সিস্টেন্ট। কমপক্ষে, প্রায় নন-এক্সিস্টেন্ট। এবং আমাকে চিন্তা করতে হবে না কিছু সিস্টেম বা সার্ভিস রিলোডের সাথে ভালো কাজ করে না। যাইহোক, রিস্টার্ট/রিলোড করার আগে সবসময় ইউজার এবং কাস্টমারকে নোটিফাই করুন।
Stop, Start, এবং Kill
আপনি যদি একটি সার্ভিস हाल্ট বা কিল করতে চান তবে systemctl সেটিও করতে পারে।
#systemctl stop atd #systemctl start atd #systemctl kill atd #systemctl start atd
এটাই সব, একটি রিস্টার্ট রিমেক করা।

systemctl status atd
এনাবল এবং ডিজেবল করা
নতুন সার্ভিস जिन्हें বুটে শুরু করতে হবে, তাদের এনাবল করতে হয়।
#systemctl enable
হয়েগেলো, আপনার সিস্টেম এখন বুঝতে পেরেছে যে বুটে নতুন সার্ভিস শুরু করতে হবে। আপনি যদি রিবুট স্কিপ করতে চান, তবে এখনই শুরু করুন।
#systemctl disable
হয়েগেলো। সার্ভিস বন্ধ। আপনি যদি রিমুভ করতে চান, তবে সেটি বন্ধ করে তারপর আনইন্সটল করতে হবে।
উপসংহার
এটাই সব। এতে বেশি কিছু নেই। একক উদ্দেশ্যে একক সার্ভিস, আপনার সিস্টেম কন্ট্রোল করা। আরও শেল কমান্ড এবং সিস্টেম অ্যাডমিনיס্ট্রেশন শিখুন।