উবুন্টু, সিএসভি , আপস্টার্ট এবং সিস্টেমডে একটি পরিষেবা হিসাবে সফ্টওয়্যারটি চালু করার জন্য বর্তমানে তিনটি ভিন্ন উপায় রয়েছে । একটি পরিষেবা এখানে ব্যাকগ্রাউন্ডে সিস্টেম দ্বারা পরিচালিত একটি প্রোগ্রাম হিসাবে সংজ্ঞায়িত করা হয়, যার বিপরীতে একটি ব্যবহারকারীর দ্বারা সরাসরি শুরু এবং চালিত হয়।
সিস
লিনাক্সে পরিষেবা শুরু করার traditional তিহ্যগত উপায়টি ছিল একটি স্ক্রিপ্ট স্থাপন করা /etc/init.d
এবং তারপরে এটি সক্ষম বা অক্ষম করতে update-rc.d
কমান্ডটি (বা রেডহ্যাট ভিত্তিক ডিস্ট্রোস chkconfig
) ব্যবহার করা।
এই কমান্ডটি সিমলিঙ্কগুলি তৈরি করতে /etc/rc#.d
পরিষেবাগুলি শুরু করার ক্রম নিয়ন্ত্রণ করে এমন কিছু হালকা জটিল যুক্তি ব্যবহার করে । আপনি যদি চালনা করেন ls /etc/rc2.d
তবে অর্ডারটি দেখতে পাবেন যে পরিষেবাগুলি কোনও ফাইলের নামের সাথে মেরে ফেলা হবে K##xxxx
এবং ফাইলের নাম দিয়ে শুরু করা হবে S##xxxx
। ##
মধ্যে S##xxxx
পরিসেবার জন্য একটা "শুরু অর্ডার" অর্থ xxxx
। বিপরীতভাবে, ##
মধ্যে K##xxxx
সেবার জন্য হত্যা অর্ডারের ওপর xxxx
।
এসআইএসভি-র একটি প্রধান সমস্যা হ'ল সিস্টেম বুট করার সময় সিরিয়ালটিতে সবকিছু করা উচিত ছিল, একের পর এক জিনিস, সিস্টেম বুটের সময়কে সত্যই ধীর করে তোলে । এটির সাথে সমান্তরাল করার চেষ্টা করা হয়েছিল, তবে সেগুলি পুরোপুরি সুবিধা গ্রহণ করা কঠোর ছিল। এটিই মূল কারণ যা আপস্টার্ট তৈরি হয়েছিল।
ভুঁইফোঁড়
/etc/init
কোন পরিষেবাটি কীভাবে শুরু করা উচিত তা নির্ধারণ করতে আপস্টার্ট জব ডেফিনিশন ফাইলগুলি ব্যবহার করে। সুতরাং, সিস্টেমটি বুট করার সময়, আপস্টার্ট বিভিন্ন ইভেন্টগুলি প্রক্রিয়া করে এবং তারপরে সমান্তরালে একাধিক পরিষেবা শুরু করতে পারে। এটি তাদের সিস্টেমের সংস্থানগুলি সম্পূর্ণরূপে ব্যবহার করতে দেয়, উদাহরণস্বরূপ, অন্য একটি সিপিইউ-বাউন্ড পরিষেবা চলার সময়, অথবা নেটওয়ার্ক যখন ডায়নামিক আইপি ঠিকানা নির্ধারিত হওয়ার অপেক্ষায় থাকে তখন ডিস্ক-সীমাবদ্ধ পরিষেবা শুরু করে।
আপনি চালিয়ে আপস্টার্ট কাজের সব ফাইল দেখতে পাবেন ls /etc/init/*.conf
আমাকে এখানে থামিয়ে দিয়ে বলি যে কোনও পরিষেবা কী, বা এটি কী করে তা যদি আপনি না জানেন তবে এটি অক্ষম করবেন না!
সমস্ত পরিষেবা আপস্টার্টে রূপান্তরিত হয়নি। গত কয়েকমাস ধরে ক্যানোনিকালে সার্ভার দলে কাজ করার সময়, আমি বেশ কয়েকটি রূপান্তরিত কাজের ফাইলগুলিতে কাজ করেছি এবং সর্বোত্তম অংশটি হ'ল এটি একজনকে সমস্ত স্ক্রিপ্ট "ম্যাজিক" থেকে মুক্তি দিতে এবং কেবল একটি চিত্রের মধ্যে রেখে দেয় পরিষেবাটি আরম্ভ করার জন্য ঠিক কীভাবে সংজ্ঞা দেওয়া যায় এবং এখানে কিছুই নেই few তবে আপাতত স্কুইড এবং সাম্বার মতো কয়েকটি মুষ্টিমেয় traditional তিহ্যবাহী নেটওয়ার্ক পরিষেবা রূপান্তরিত হয়েছে।
একটি পরিষেবা কি আপস্টার্ট ভিত্তিক?
কোনও পরিষেবা উপ-ভিত্তিক কিনা তা নির্ধারণের জন্য, আপনি স্থিতি কমান্ডটি চালাতে পারেন:
status servicename
এটি যদি একটি উচ্চমানের কাজ হয় তবে এটি এটি দেখায়:
$ status statd
statd start/running, process 942
তবে যদি তা না হয় তবে আপনি এরকম আরও কিছু দেখতে পাবেন:
$ status apache2
status: Unknown job: apache2
এই ক্ষেত্রে, আপস্টার্টapache2
রূপান্তর করা হয়নি । সুতরাং, আপনি চালাতে অক্ষম করতেapache2
sudo update-rc.d apache2 disable
sudo service apache2 stop
আপস্টার্টে পরিষেবা (চাকুরী) অক্ষম করুন
আপস্টার্ট কাজের সংজ্ঞাগুলির কোনও update-rc.d
কমান্ড নেই। কাজটি অক্ষম করতে, আপনাকে এটি অক্ষম করার জন্য সরাসরি কাজ ফাইলটি সম্পাদনা করতে হবে। এই কাজটি করার দুটি পদ্ধতি আছে।
আপনি যদি এখনও এটি ম্যানুয়ালি শুরু করতে সক্ষম হতে চান তবে আপনার start on
শর্তটি মন্তব্য করতে হবে । বলুন আপনি সাম্বা ইনস্টল করতে চান তবে এটি স্বয়ংক্রিয়ভাবে শুরু হবে না। জব ফাইলটি এখানে (নবজাতক):
description "SMB/CIFS File Server"
author "Steve Langasek <steve.langasek@ubuntu.com>"
start on local-filesystems
stop on runlevel [!2345]
respawn
pre-start script
RUN_MODE="daemons"
[ -r /etc/default/samba ] && . /etc/default/samba
[ "$RUN_MODE" = inetd ] && { stop; exit 0; }
install -o root -g root -m 755 -d /var/run/samba
end script
exec smbd -F
সাম্বাকে অক্ষম করতে, আপনি কেবল #
" start on local-filesystems
" এর সামনে একটি রাখতে পারেন । মনে রাখবেন যে এটি বুটে উঠতে শুরু করবে না, তবুও আপনাকে এ বার এটি বন্ধ করতে হবে
sudo service smbd stop
তবে, আপনি যদি সাম্বাটি কখনই শুরু না করতে চান তবে আমি আসলে প্যাকেজটি সরিয়ে দেওয়ার পরামর্শ দিই। তবে, আপনি যদি এটি ইনস্টল করতে চান তবে শুরুযোগ্য নয়, আপনি এটি করতেও পারেন:
mv /etc/init/smbd.conf /etc/init/smbd.conf.disabled
প্রারম্ভ / স্টপ স্টাঞ্জ ব্যবহার করে একটি পরিষেবা অক্ষম করুন (১১.০৪ অনুযায়ী)
ভুঁইফোড় যে 11.04 থাকবে সংস্করণ থেকে শুরু করে একটি নতুন শব্দ যে নিষ্ক্রিয় হয় start on
এবং stop on
স্তবকে: manual
। 11.04 হিসাবে পরিষেবাটি অক্ষম করার অন্য উপায়টি হ'ল:
echo 'manual' | sudo tee /etc/init/mysql.override
# command from root shell
echo manual >> /etc/init/mysql.override
আপনি কীওয়ার্ডটি এতে override
রেখে কেবলমাত্র কাজের সংজ্ঞা সম্পাদনা না করে কোনও পরিষেবা অক্ষম করার জন্য একটি ফাইল তৈরি করতে পারেন manual
।