সিস্টেমড সার্ভিস ফাইল

Sistemada Sarbhisa Pha Ila



লিনাক্সে, সিস্টেমসিটিএল স্ট্যাটাস আউটপুট দেখায় যে পরিষেবাটি একটি ফাইলের মাধ্যমে লোড হয়েছে যাকে পরিষেবা ফাইল বলা হয়। এই ফাইলগুলিতে অ্যাক্সেস করা যেতে পারে /lib/systemd/system বা /etc/systemd/system ডিরেক্টরি

সার্ভিস ফাইল আছে .পরিষেবা এক্সটেনশন এবং এর দ্বারা প্রয়োজনীয় নির্দেশাবলী রয়েছে সিস্টেমড একটি পরিষেবা পরিচালনা করতে।







দ্য সিস্টেমড init সিস্টেম ব্যবহার করে সিস্টেম প্রারম্ভিকতা পরিচালনা করে ইউনিট . একটি ইউনিট এমন একটি বস্তু যা একটি কাজ বা ক্রিয়া সম্পাদন করে, যেমন একটি পরিষেবা পরিচালনা করা, যা এটি নিয়ন্ত্রণ এবং নিরীক্ষণ জড়িত। এই ইউনিটগুলি মূলত পরিষেবা ফাইল নামে পরিচিত ফাইল যা ইউনিট নির্ভরতা এবং কমান্ড অন্তর্ভুক্ত করে। এই ফাইলগুলি ব্যাকগ্রাউন্ড প্রসেসগুলিকে দক্ষতার সাথে নিয়ন্ত্রণ করতে এবং সংস্থানগুলি পরিচালনা করার জন্য অত্যন্ত গুরুত্বপূর্ণ।



গাইডে, আমি সিস্টেমড পরিষেবা ফাইল, এর গঠন এবং পরিষেবা নিয়ন্ত্রণকারী প্রধান নির্দেশাবলী অন্বেষণ করব।



সিস্টেমডের সাথে কাজ করার সময়, শর্তাবলী systemd পরিষেবা ফাইল এবং systemd ইউনিট ফাইল প্রায়শই বিনিময়যোগ্যভাবে ব্যবহার করা হয় কারণ প্রযুক্তিগতভাবে তারা একই জিনিস উল্লেখ করে।





সিস্টেমড সার্ভিস ফাইল কি?

Linux-এ, systemd পরিষেবাগুলি পরিচালনা করে পরিষেবা ফাইলগুলি ব্যবহার করে যাতে কনফিগারেশন নির্দেশাবলী থাকে যাতে systemd বুঝতে এবং কার্যকর করতে পারে।

ইউনিট তালিকা করতে, এর সাথে systemctl ব্যবহার করুন -তালিকা-ইউনিট আদেশ



systemctl --তালিকা-ইউনিট

যেকোনো সার্ভিসের সার্ভিস ফাইল পড়তে ব্যবহার করুন বিড়াল ফাইল পাথ সহ কমান্ড।

বিড়াল [ / service-file-path ]

উদাহরণস্বরূপ, এর পরিষেবা ফাইলটি দেখতে ssh.service প্রদত্ত কমান্ড ব্যবহার করুন।

বিড়াল / lib / সিস্টেমড / পদ্ধতি / ssh.service

সিস্টেমড সার্ভিস ফাইলের অ্যানাটমি

সাধারণত, সিস্টেমড সার্ভিস ইউনিট ফাইলে তিনটি বিভাগ থাকে।

  • ইউনিট
  • সেবা
  • ইনস্টল করুন

একটি পরিষেবা-নির্দিষ্ট ইউনিট ফাইলের নামক একটি নির্দিষ্ট বিভাগ থাকবে সেবা অধ্যায়.

নোট করুন যে পরিষেবাটি শুধুমাত্র এক ধরনের ইউনিট। একটি ইউনিটের বিভিন্ন ধরনের হতে পারে যেমন সকেট, ডিভাইস, মাউন্ট, অটোমাউন্ট, অদলবদল, লক্ষ্য, টাইমার, স্লাইস এবং সুযোগ। এই বিভাগগুলি ইউনিট এবং ইনস্টল বিভাগের মধ্যে স্থাপন করা হয়। ফাইল এক্সটেনশনটিও সংশ্লিষ্ট ইউনিট টাইপের সাথে প্রতিস্থাপিত হবে, উদাহরণস্বরূপ, একটি সকেট ইউনিট টাইপ থাকবে .সকেট ফাইল এক্সটেনশন.

বিঃদ্রঃ: এই নির্দেশিকায়, আমি প্রশাসক এবং বিকাশকারীদের দ্বারা এর ব্যাপক ব্যবহারের কারণে পরিষেবা ইউনিটের প্রকারের উপর ফোকাস করব।

এই বিভাগগুলি বর্গাকার বন্ধনীতে ([]) আবদ্ধ। প্রতিটি বিভাগে একটি প্রাসঙ্গিক নির্দেশ সেট রয়েছে। একটি পরিষেবা ফাইলের একটি সাধারণ কাঠামো নীচে দেওয়া হল।

[ ইউনিট ]

নির্দেশিকা 1 = নির্দেশ 1

নির্দেশিকা2 = নির্দেশ 2

[ সেবা ]

নির্দেশিকা 1 = নির্দেশ 1

নির্দেশিকা2 = নির্দেশ 2

[ ইনস্টল করুন ]

নির্দেশিকা 1 = নির্দেশ 1

নির্দেশিকা2 = নির্দেশ 2

বিভাগগুলির ক্রম পরিবর্তন করা যেতে পারে; যাইহোক, উপরে উল্লিখিত আদেশ সাধারণত অনুসরণ করা হয়.

[ইউনিট] বিভাগ

ইউনিট বিভাগে ইউনিট এবং ইউনিট নির্ভরতার বিবরণ রয়েছে। এই বিভাগটি, নিয়ম অনুসারে, পরিষেবা ফাইলের শীর্ষে স্থাপন করা হয়েছে। সাধারণত ব্যবহৃত নির্দেশাবলী নীচে তালিকাভুক্ত করা হয়:

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

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

[ইনস্টল] বিভাগ

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

নির্দেশিকা বর্ণনা
WantedBy এই নির্দেশিকা রান-লেভেল সেট করে * সেবার লক্ষ্য। যদি একটি লক্ষ্য নির্ধারণ করা হয় multi-user.target তারপর এই রান-লেভেলে পরিষেবাটি সক্রিয় করা হবে।
ক্সসে এই নির্দেশটি WantedBy-এর সাথে সাদৃশ্য বহন করে, যদিও, নির্দেশে উল্লেখিত নির্ভরতা ছাড়াই, পরিষেবাটি সক্ষম করা হবে।
উপনাম এই নির্দেশ অন্য নামে পরিষেবা সক্রিয় করতে ব্যবহৃত হয়। যখন পরিষেবাটি সক্রিয় থাকে তখন এই নামের সাথে একটি সিমলিঙ্ক তৈরি করা হয়।

বেশিরভাগই, multi-user.target হিসাবে ব্যবহৃত হয় WantedBy প্যারামিটার কিন্তু multi-user.target কি?

multi-user.target নন-গ্রাফিকাল মাল্টিপল-ইউজার সেশন গ্রহণ করার জন্য প্রস্তুত সিস্টেমের অবস্থার প্রতিনিধিত্ব করে। এটা GUI চালু করার আগে রাষ্ট্র.

সিস্টেমের বিভিন্ন রান লেভেল আছে, আসুন এই রান লেভেলগুলোর কাজ সম্পর্কে জেনে নিই।

Systemd-এ, পরিষেবাগুলিকে রান লেভেলের উপর ভিত্তি করে গোষ্ঠীবদ্ধ করা হয়, যাকে বলা হয় লক্ষ্য . প্রতিটি রান-লেভেলের সাথে একটি ফাইল রয়েছে লক্ষ্য মধ্যে এক্সটেনশন /etc/systemd/system ডিরেক্টরি রান লেভেলের অবস্থার উপর ভিত্তি করে একটি পরিষেবা চলবে।

রান লেভেল টার্গেট অবস্থা নথি পত্র
0 যন্ত্র বন্ধ বন্ধ করুন এবং বিদ্যুৎ বন্ধ করুন poweroff.target
1 উদ্ধার উদ্ধার শেল শুরু করে উদ্ধার.লক্ষ্য
2,3,4 বহু-ব্যবহারকারী বহু-ব্যবহারকারী নন-GUI শেল শুরু করে multi-user.target
5 গ্রাফিক্যাল বহু-ব্যবহারকারী GUI শেল স্থাপন করে graphical.target
6 রিবুট বন্ধ করুন এবং পুনরায় চালু করুন reboot.target

[পরিষেবা] বিভাগ

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

নিম্নলিখিত সারণীতে বিভিন্ন ধরণের পরিষেবা তালিকাভুক্ত করা হয়েছে।

সেবার ধরণ বর্ণনা
সহজ এটি ডিফল্ট টাইপ যখন টাইপ বা Busname উল্লেখ করা হয় না এবং শুধুমাত্র ExecStart উল্লেখ করা হয়। systemd প্রথমে মূল প্রক্রিয়া এবং তারপর ফলো-আপ ইউনিটগুলি সম্পাদন করে।
কাঁটা অভিভাবক পরিষেবা বন্ধ থাকলেও পরিষেবাটি চালু রাখতে এই ধরনের ব্যবহার করা হয়। এটি পিতামাতার প্রক্রিয়া বন্ধ হওয়ার পরে একটি শিশু প্রক্রিয়াকে ফোর্ক করে।
এক সুযোগ systemd প্রথমে মূল প্রক্রিয়াটি চালায় এবং যখন মূল প্রক্রিয়াটি প্রস্থান করে তখন ফলো-আপ ইউনিটগুলি শুরু হবে।
dbus dbus-এর সাথে পরিষেবাটি বাসে অন্য প্রক্রিয়ার সাথে যোগাযোগ করতে ব্যবহৃত হয়। বাসের নাম উল্লেখ থাকলে, বাসের নাম অধিগ্রহণের পর প্রক্রিয়াটি সক্রিয় করা হবে।
অবহিত প্রক্রিয়া শুরু করার সময় পরিষেবাটি অবহিত করবে। বিজ্ঞপ্তি জারি হওয়ার পরে সিস্টেমড ফলো-আপ ইউনিটগুলিতে এগিয়ে যাবে৷
নিষ্ক্রিয় সমস্ত সক্রিয় কাজ প্রেরিত না হওয়া পর্যন্ত এটি পরিষেবাটি ধরে রাখে; কনসোল আউটপুট উন্নত করতে প্রাথমিকভাবে দরকারী।

পরিষেবা বিভাগে সাধারণত ব্যবহৃত নির্দেশাবলী নীচে উল্লেখ করা হয়েছে:

নির্দেশিকা বর্ণনা
ExecStart এটি প্রক্রিয়া শুরু করার জন্য কার্যকর করা কমান্ডের সম্পূর্ণ পথ রাখে।
ExecStartPre এটি কমান্ডগুলি রাখে যা মূল প্রক্রিয়া শুরু হওয়ার আগে কার্যকর করা উচিত।
ExecStartPost এটি কমান্ডগুলি রাখে যা মূল প্রক্রিয়া শুরু হওয়ার পরে কার্যকর করা উচিত।
ExecReload এটি পরিষেবা কনফিগারেশন পুনরায় লোড করার কমান্ড রাখে।
আবার শুরু অন-ফেল্যুর, অন-সক্যাস, অন-অনরমাল, অন-অবর্ট, এবং অন-ওয়াচডগের মতো পরিস্থিতিতে স্বয়ংক্রিয়ভাবে পরিষেবাটি পুনরায় চালু করতে।
রিস্টার্ট সেক সেকেন্ডের সংখ্যা রাখতে যা পরে পরিষেবাটি স্বয়ংক্রিয়ভাবে পুনরায় চালু হবে।

দ্য ExecStart পরিষেবা বিভাগে ব্যবহৃত গুরুত্বপূর্ণ নির্দেশাবলীর মধ্যে একটি। এটা ধারণ করে এক্সিকিউটেবলের সম্পূর্ণ পথ যে পরিষেবাটি আমন্ত্রণে কার্যকর হবে।

উপসংহার

একটি systemd পরিষেবা ফাইল হল একটি কনফিগারেশন ফাইল যা নির্দেশাবলী এবং কমান্ড দিয়ে গঠিত যাতে সেগুলি systemd দ্বারা পরিচালিত হয়। এই ফাইলগুলিতে নির্দেশাবলী রয়েছে যে নির্দেশ করে কিভাবে একটি পরিষেবা systemd দ্বারা পরিচালিত হয়। এই নির্দেশিকায়, আমি একটি systemd পরিষেবা ফাইল, এর বিভাগগুলি এবং পরিষেবাগুলি পরিচালনা করে এমন নির্দেশাবলী কীভাবে অ্যাক্সেস করতে হয় তা কভার করেছি। পরিষেবা ফাইল নির্দেশাবলী সম্পর্কে আরও জানতে, অনুগ্রহ করে প্রাপ্ত অফিসিয়াল ডকুমেন্টেশন গাইড পড়ুন এখানে .