"Systemctl স্টার্ট" এবং "systemctl সক্ষম" এর মধ্যে পার্থক্য কী?


83

আমি আমার মেশিনে মারিয়াডিবি-সার্ভার ইনস্টল করেছি। সেট আপ করার সময় আমি একটি সমস্যার মুখোমুখি হয়েছিলাম যে পদক্ষেপগুলি আমি অনুসরণ করি সেহেতু আমাকে সর্বদা এটি সক্ষম করতে হবে কিনা,

sudo yum install mariadb mariadb-server 
sudo systemctl start mariadb.service  
sudo systemctl enable mariadb.service

2
আপনি এটিও করতে পারেন enable এবং start সঙ্গে --nowএর swich enablesubcommand, যেমন: systemctl enable sshd --nowdisableকমান্ড টু stopসার্ভিসেও একই কথা সত্য ।

উত্তর:


131

systemctl startএবং systemctl enableবিভিন্ন জিনিস।

enable নির্দিষ্ট ইউনিটটিকে প্রাসঙ্গিক জায়গায় হুক করবে, যাতে এটি স্বয়ংক্রিয়ভাবে বুটে শুরু হবে, বা যখন প্রাসঙ্গিক হার্ডওয়্যারটি প্লাগ ইন করা হবে বা ইউনিট ফাইলে নির্দিষ্ট করা হয়েছে তার উপর নির্ভর করে অন্য পরিস্থিতিতে।

start এখনই ইউনিট শুরু।

disableএবং stopযথাক্রমে এগুলির বিপরীত।

এর অর্থ হ'ল আপনি যখন প্রথম মারিয়াডিবি ইনস্টল করবেন তখন আপনি systemctl enable mariadb.serviceএটি সক্ষম করতে চালাতে চাইবেন যাতে এটি বুটে শুরু হয়। আপনি systemctl start mariadb.serviceমারিয়াডিবি শুরু করতে চালাতে , বা কেবল পুনরায় বুট করতেও চাইতে পারেন । মারিয়াডিবি বন্ধ করতে, চালান systemctl stop mariadb.service(এটি পরবর্তী বুটে আবার শুরু হবে বা আপনি নিজে নিজে এটি শুরু করবেন) start এটি অক্ষম করতে যাতে এটি আর বুট শুরু না করে, চালান systemctl disable mariadb.service

সূত্র: systemctl man page


4
সুস্পষ্ট ব্যাখ্যার জন্য ++++
সানলিও

সুতরাং যখন আমরা systemctl টাইপ করা উচিত সক্ষম? প্রতিবার আমরা সিস্টেমড পরিষেবাটি চালাতে চাই?
স্বর্ণের নাম

না, আপনি যখন এটি স্বয়ংক্রিয়ভাবে শুরু করতে চান। আপনি যদি এটি স্বয়ংক্রিয়ভাবে শুরু হওয়া থেকে আটকাতে চান তবে আপনি চালান systemctl disable
vurp0

তার মানে, পরিষেবাটি কি মূল হিসাবে শুরু হয়? বুটে থাকা অন্য ব্যবহারকারী হিসাবে আমি কীভাবে পরিষেবা শুরু করতে পারি?
চামিন্দা বান্দারা

18

থেকে র manpage :systemctl

enable NAME...
   Enable one or more unit files or unit file instances, as specified
   on the command line. This will create a number of symlinks as
   encoded in the "[Install]" sections of the unit files. After the
   symlinks have been created, the systemd configuration is reloaded
   (in a way that is equivalent to daemon-reload) to ensure the
   changes are taken into account immediately. Note that this does not
   have the effect of also starting any of the units being enabled. If
   this is desired, either --now should be used together with this
   command, or an additional start command must be invoked for the
   unit.
   ...
   Enabling units should not be confused with starting (activating)
   units, as done by the start command. Enabling and starting units is
   orthogonal: units may be enabled without being started and started
   without being enabled. Enabling simply hooks the unit into various
   suggested places (for example, so that the unit is automatically
   started on boot or when a particular kind of hardware is plugged
   in). Starting actually spawns the daemon process (in case of
   service units), or binds the socket (in case of socket units), and
   so on.

মূলত, enableবুট শুরু করার জন্য পরিষেবাটিকে চিহ্নিত করে এবং startপ্রকৃতপক্ষে অবিলম্বে পরিষেবাটি শুরু করে।


আমরা কখন সক্ষম করব? আমাদের কি কেবল একবার এটি করা দরকার?
স্বর্ণের নাম

@ গোল্ডনেম আপনি প্রথমবার এটি দরকার হলে পরের বুটে শুরু করুন। শুধু একবার যথেষ্ট হয়
muru

আমরা যখন এটি সম্পাদনা করব তখন কী হবে? আমাদের কি আবার সক্রিয় করতে হবে?
গোল্ডনেম

@ গোল্ডনেম আপনার এটি পুনরায় সক্ষম করার দরকার নেই।
মুরু

ধন্যবাদ, এবং যদি ফাইলটি কোনও অন্য ডিরেক্টরিতে স্থানান্তরিত হয় এবং / অথবা সিস্টেমটি পুনরায় বুট করা হয় তবে একই যায়?
স্বর্ণের নাম

4

Systemctl সংস্করণ 220 পর্যন্ত সক্ষম এবং অক্ষম সমর্থন একটি --now / স্টপ পরিষেবার সঙ্গে সক্ষম / অক্ষম করার সমবর্তী শুরু করার জন্য সুইচ।

যেমন systemctl --now enable foobar.service

systemctl --versionআপনার ইনস্টল করা সংস্করণটি পরীক্ষা করতে ব্যবহার করুন ।

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