উবুন্টু 12.04: কীভাবে শুরুতে ডেমোন প্রক্রিয়াটি অক্ষম করবেন


23

আমি সাধারণত ডিমন প্রক্রিয়াটি শুরু বা বন্ধ করতে ব্যবহার করি service start/stopবা initctl start/stopএখন যা খুঁজছি তা হ'ল ডেমোন প্রক্রিয়াটি শুরু করার উদাহরণ থেকে শুরু করে অক্ষম করা mysqld

বর্তমানে যা করছি তা নাম পরিবর্তন /etc/init/mysql.confকরে /etc/init/mysql.conf.bakতবে কিছুটা পড়ার পরে systemdআমি জানতে পারলাম যে এটি enable & disableউপরের কাজের জন্য বিকল্প সরবরাহ করে ।

সুতরাং, সঙ্গে ওবুন্টু 12.04 তে কিছু অনুরূপ আছে upstart


আপনি বলছেন আপনি সিস্টেমড ব্যবহার করছেন? আমি এটি আমার ফেডোরা 17 কম্পিউটারে ব্যবহার করি। systemctl [enable|disable|is-enabled] mysqld.service
বেনজিওবি

1
@ বেনজিওয়েব: না আমি সিস্টেমড ব্যবহার করছি না। আমি আপস্টার্ট ব্যবহার করছি কারণ উਬੰ্টু 12.04 / 12.10 এ সিস্টেমেড ডিফল্ট নয়।
রানরাগ

1
ওহ আমি এখন দেখছি ... আমি কী ভাবছিলাম তা নিশ্চিত নয়।
বেনজিওবি

উত্তর:


26

আপনি নিম্নলিখিত কমান্ডটি চালিয়ে পরিষেবাগুলি অক্ষম করতে পারেন:

sudo update-rc.d -f <service name> disable

ম্যান পৃষ্ঠা অংশ :

অক্ষম [এস | 2 | 3 | 4 | 5] বিকল্পগুলির সাথে চালানোর সময় আপডেট-আরসি.ডি স্ক্রিপ্ট /etc/init.d/name এর জন্য বিদ্যমান রানলেভেল লিঙ্কগুলিকে পরিবর্তন করে আরম্ভের লিঙ্কগুলির নাম পরিবর্তন করে একটি সিকোয়েন্স সংখ্যা সমেত লিংক বন্ধ করে দেয় মূল অনুক্রমের সংখ্যার 100 বিয়োগের পার্থক্য।


2
আমার এটিকে ভোট দেওয়ার পক্ষে যথেষ্ট খ্যাতি নেই এবং ব্যাখ্যা ছাড়াই এটি করা যেভাবেই হোক জঘন্য হতে পারে, সুতরাং কেবল একটি মন্তব্য: @ নুব কর্তৃক উবুন্টু 12.04 এর সাথে সম্পর্কিত প্রশ্নটি আপস্টার্ট (/etc/init/*.conf কনফিগারেশন) ব্যবহার করে ফাইলগুলি) বেশিরভাগ সিস্টেমে ডেমনগুলির জন্য (@ নুব দ্বারা উল্লিখিত হিসাবে) যখন আপনার পরামর্শটি কেবল ডেমনদের জন্যই কাজ করে /etc/init.d/* (পুরাতন SysV শৈলী) -এ স্ক্রিপ্ট ব্যবহার করা শুরু করে। সম্পাদনা করুন: রেকর্ডের জন্য, ওয়ার্লক্যাকের সঠিক উত্তর রয়েছে (ধন্যবাদ!)
xolox

3
প্রশ্নটি একটি হাইপোথটিক্যাল বা সাধারণ পরিস্থিতি সম্পর্কে যা নির্দিষ্ট টপিকাল কেস হিসাবে মাইএসকিএল ব্যবহার করে। ওপি কমপক্ষে আংশিকভাবে এই উত্তরটি সম্পর্কে অবগত ছিল বলে মনে হয়েছিল তবে এটি উত্তরাধিকারের দিক থেকে ভালভাবে উপস্থাপিত হতে পারে যে কিছু দরকারী প্যাকেজ আপস্টার্ট ফর্ম্যাটটি সম্মান করে না এবং সম্মান জানায় না (মতামতের সময় প্রায় ওয়েবমিন এবং উত্স প্যাকেজগুলি থেকে অনেকগুলি স্ব-নির্মিত) । এর অর্থ এই পন্থাটি প্রসঙ্গের জন্য একটি বৈধ আংশিক উত্তর হতে পারে, অনেকটা ওয়ার্লিক এবং মার্কের উত্তরগুলির মতো প্যাকেজ ম্যানেজারের সাথে ইনস্টল করা হাইপোথিটিক্যাল মাইএসকিএল পরিষেবার নির্দিষ্ট পয়েন্টটি সম্বোধন করতে পারে।
জাস্টিনসি

-ফ পতাকাটির দরকার নেই।
ড্যানিম্যান

20

পরিষেবাটি অক্ষম ও আপস্টার্ট করার সঠিক উপায়টি হল একটি এক্সএক্স.ওভারাইড ফাইল তৈরি করা,

echo 'manual' > /etc/init/mysqld.override

এইভাবে আপস্টার্ট পরিষেবাটি স্বয়ংক্রিয়ভাবে শুরু হবে না


এটি এখনও কাজ করে Ubuntu 12.04?
আরএসকে

@ আরএসকে হ্যাঁ, আপনি কেন চেষ্টা করে দেখেন না?
ডেইজি

1
আমি চেষ্টা করেছিলাম এবং আমার পক্ষে কাজ করি নি। লেমে আবার চেষ্টা করুন এবং আপনাকে আপডেট করবে।
আরএসকে

না, এটি উবুন্টু -14.04 এ কাজ করে না।
হাই-এঞ্জেল

1
@RSK yes, why don't you just give it a try?আমি মনে করি, কারণ এই পৃষ্ঠা থেকে প্রতিটি পরামর্শের জন্য "চেষ্টা করে" সিস্টেমটি পুনরায় চালু করা খুব অসুবিধাজনক।
ব্যবহারকারী 907860

7

@ warl0ck এর অধিকার আছে; আপস্টার্ট ডকুমেন্টেশনে এই তথ্যটি বেশ ভালভাবে ডকুমেন্ট করা হয়েছে তা যুক্ত করতে চেয়েছিলেন: http://upstart.ubuntu.com/cookbook/#disabling-a-job-from-a Automatic- starting

বিশেষ করে:

আপস্টার্ট 1.3 দিয়ে, আপনি একই পদ্ধতিটি আরও সহজ পদ্ধতিতে অর্জন করতে ওভাররাইড ফাইল এবং ম্যানুয়াল স্তরের ব্যবহার করতে পারেন [২ 27]:

# echo "manual" >> /etc/init/myjob.override

মনে রাখবেন যে এটি করে আপনি একই প্রভাব অর্জন করতে পারেন:

# echo "manual" >> /etc/init/myjob.conf

তবে ওভাররাইড সুবিধাটি ব্যবহারের অর্থ আপনি আসল কাজের কনফিগারেশন ফাইলটি ছোঁয়া ছেড়ে দিতে পারেন।

আসল আচরণে ফিরে যেতে, হয় ওভাররাইড ফাইলটি মুছুন বা পুনর্নবীকরণ করুন (অথবা আপনার ".conf" ফাইল থেকে ম্যানুয়াল স্তরের অপসারণ)।


5

এটিতে সহায়তা করার জন্য একটি দুর্দান্ত টুকরো সফটওয়্যারও রয়েছে। একে আরসি কনফ বলা হয়।

কেবল এটি ব্যবহার করে ডাউনলোড করুন:

sudo apt-get install rcconf

এবং কমান্ড দিয়ে এটি ব্যবহার করুন

rcconf

পরিষেবাগুলি অক্ষম / সক্ষম করতে আপনি একটি দুর্দান্ত (কমান্ডলাইন) ইন্টারফেস পাবেন।


এটি সিস্টেমে অন্তর্ভুক্ত নেই, সুতরাং আরও স্টাফ ইনস্টল করুন এর চেয়ে ভাল উত্তর হবে না।
এম

তবে সত্যিই দরকারী: ডি
ম্যাজিকো

1

নেভিগেট করুন চেষ্টা করুন /etc/rc2.dএবং পুনরায় নামকরণ কি আপনি চান না (যেমন একটি "কে" পরিবর্তন (প্রাথমিক, পুঁজি) "এস": স্টার্টআপে চালানোর S02mysqlজন্য K02mysql)। আপনি যদি নিজের মতামত পরিবর্তন করেন তবে এটি কেবল বিপরীত করুন। আমি মনে করি 2 টি রানলেভেলকে বোঝায়, কোন ক্ষেত্রে 2 ডিফল্ট, মাল্টিউজার রানলেভেল। দিনের বেলা কম্পিউটার ব্যবহারের জন্য আপনার বেশিরভাগ স্টাফ রয়েছে।

সম্পাদনা করুন : নীচে জেমস ও'গারম্যানের মন্তব্য পড়ুন।


1
হ্যাঁ '2' রান-স্তরকে বোঝায়। who -rবা আপনার ব্যবহার করে আপনার বর্তমান রান-লেভেলটি পরীক্ষা করতে পারেন runlevel
রানরাগ

এটা সত্য who --runlevel,।
ইমানুয়েল বার্গ

1
এটি আপনি যা চান তা অর্জন করার সময় এটি প্রযুক্তিগতভাবে করা ভুল জিনিস thing SysV init পদগুলিতে, 'S' স্ক্রিপ্টগুলি হ'ল সূচনা স্ক্রিপ্ট এবং 'K' হ'ল হ'ল স্ক্রিপ্টগুলি - যেমন এসটি প্রারম্ভকালে চালানো হয় এবং কেটি শাটডাউন (বা একটি নিম্ন রানলেলেলে পরিবর্তিত) অনুসারে চালিত হয়।
জেমস ও'গোর্মন

@ জেমস ও গর্মন: মজার বিষয়, আমি দেবিয়ান এ আছি, আপনি কি বলছেন যে আমার "কে স্ক্রিপ্টস" বন্ধ হয়ে যাচ্ছে? কিছু চিঠি আছে যা পুরোপুরি স্ক্রিপ্টটি অক্ষম করতে ব্যবহার করা যেতে পারে, তাতে কোনও বিপত্তি নেই? (এগুলিকে একই ফোল্ডারে রাখাই এক ধরণের ব্যবহারিক বিষয়, আপনি যেখানে চান সেখানে নতুন পরিস্থিতি তৈরি হওয়া উচিত))
ইমানুয়েল বার্গ

@ ইমানুয়েলবার্গ হ্যাঁ, initশাটডাউনে 'কেএক্সএক্সস্প্রিপ্ট স্টপ' চলছে be আপনার হয় হয় সিমলিংক অপসারণ করা উচিত বা বাস্তব init স্ক্রিপ্ট থেকে এক্সিকিউট বিট অপসারণ করা উচিত। আমি বিশ্বাস করি update-rc.dএটি পরিচালনা করতে ডেবিয়ান ব্যবহার করে। RHEL (এবং ডেরিভেটিভস) ব্যবহার chkconfig
জেমস ও'গোর্মন

0

আপস্টার্টের সাথে পরিষেবা কনফিগারেশনটি ফাইলগুলিতে থাকে /etc/init/। উদাহরণস্বরূপ ssh একটি কনফিগার ফাইল ব্যবহার করে নিয়ন্ত্রণ করা হয়/etc/init/ssh.conf

এই ফাইলটি "ইভেন্টগুলি" নির্দিষ্ট করে যা আপসস্টার্টকে "কাজ" শুরু করার অনুরোধ জানাবে।

কোনও পরিষেবাটি স্বয়ংক্রিয়ভাবে শুরু হতে বাধা দিতে, বেশ কয়েকটি পদ্ধতির মধ্যে
একটি ব্যবহার করা যেতে পারে: ক) সার্ভিস কনফ ফাইলটির নতুন নাম দিন যাতে এটি .conf দিয়ে শেষ না হয়
খ) পরিষেবা.কনফ ফাইল থেকে "শুরু করুন" লাইনটি মন্তব্য করুন।

আপস্টার্টের নতুন সংস্করণগুলিতে (কমপক্ষে v1.3 থেকে) আপনি সার্ভিস.ওভারাইড ফাইলটি ব্যবহার করে লাইনে শুরুতে ওভাররাইড করতে পারেন, যাতে আপনি ব্যবহার করতে পারেন:
# echo manual > /etc/init/service.override

পরিশেষে আপনি পরিষেবাটির কনফিগারেশন ফাইলের শেষে "ম্যানুয়াল" কীওয়ার্ডটি যুক্ত করতে পারেন, উদাহরণস্বরূপ:
# echo manual >> /etc/init/service.conf

নোট করুন যে এটি চলমান পরিষেবাটি "থামিয়ে" দেয় না, এটি কেবল এটি স্বয়ংক্রিয়ভাবে শুরু হওয়া থেকে বাধা দেয়। "ম্যানুয়াল" প্রারম্ভের জন্য সেট করার সময় আপনি initctl ব্যবহার করে পরিষেবা নিয়ন্ত্রণ করুন, যেমন এসএসএইচ ডেমন থামাতে এবং শুরু করতে:
# initctl stop ssh
# initctl start ssh

তাত্ক্ষণিকভাবে আপস্টার্টের জন্য সেরা ডকুমেন্টেশনটি http://upstart.ubuntu.com/cookbook/ এ রয়েছে

বিভাগ 11.44 "এখানে অটো-স্টার্টিং থেকে পরিষেবাটি অক্ষম করার বিষয়টিকে কভার করেছে: http://upstart.ubuntu.com/cookbook/#disabling-a-job-from-a Automatic -starting


0

ঠিক আছে, আমি অবশ্যই বিবৃতি বলতে হবে

echo "manual" >> /etc/init/myjob.override

এটি একটি সামান্য বিভ্রান্তিকর কারণ এর অর্থ ওভাররাইড ফাইলটি যুক্ত করা। আমি 14.04 এ নেটওয়ার্ক-ম্যানেজারের সাথে এটি পরীক্ষা করেছিলাম এবং নিম্নলিখিতগুলি কাজ করে না

vim /etc/init/network-manager.override:
start
manual

তবে এটি কাজ করে

vim /etc/init/network-manager.override:
#start
manual

সুতরাং, আইএমও, initctl প্রথম সংক্ষিপ্ত লাইনের সন্ধান করে এবং এটি সম্পাদন করে। হয়তো আমি ভুল, কিন্তু সেগুলি ছিল আমার পরীক্ষার ফলাফল। ইনপুট স্বাগত।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.