वर्तमान में linux द्वारा 3 मुख्य init सिस्टम का उपयोग किया जाता है। कुछ साल पहले, बस एक था, SysVinit। लेकिन SysVinit में गंभीरता से सेवा निर्भरता रेखांकन जैसी क्षमताओं की कमी थी, इसलिए इसे अब तक के सबसे अधिक विकृतियों में चित्रित किया गया है। वर्तमान में सबसे अधिक distros उपयोग करने जा रहे systemd । हालांकि वहाँ भी नवोदय ।
लेकिन यहाँ 3 init सिस्टम में से प्रत्येक के लिए आपके प्रश्न का उत्तर है:
SysVinit
SysVinit वर्तमान में डेबियन और RedHat द्वारा उपयोग किया जाता है। हालांकि RedHat (7) का अगला संस्करण सिस्टमड का उपयोग करेगा।
बूट पर SysVinit सेवाओं को सक्षम करने का एकतरफा तरीका उन्हें /etc/rc3.d
(या /etc/rc2.d
) में सम्मिलित करना है । सभी सेवाओं में पाया जा सकता है /etc/init.d
। हालांकि ध्यान दें कि इन फ़ाइलों को प्रबंधित करने के लिए डिस्ट्रोस के पास अक्सर अपना खुद का टूल होगा, और इसके बजाय उस टूल का उपयोग किया जाना चाहिए। (फेडोरा / रेडहैट के पास service
और chkconfig
ubuntu है update-rc.d
)
सूची सेवाएँ:
ls /etc/init.d/
सेवा शुरू करें:
/etc/init.d/{SERVICENAME} start
या
service {SERVICENAME} start
सेवा रोकें:
/etc/init.d/{SERVICENAME} stop
या
service {SERVICENAME} stop
सेवा सक्षम करें:
cd /etc/rc3.d
ln -s ../init.d/{SERVICENAME} S95{SERVICENAME}
( S95
ऑर्डर को निर्दिष्ट करने के लिए इसका उपयोग किया जाता है। S01 S02 से पहले शुरू होगा, आदि)
सेवा अक्षम करें:
rm /etc/rc3.d/*{SERVICENAME}
systemd
सिस्टमड का उपयोग करने वाला सबसे उल्लेखनीय वितरण फेडोरा है। हालांकि यह कई अन्य लोगों द्वारा उपयोग किया जाता है। इसके अतिरिक्त, डेबियन को अपस्टार्ट पर सिस्टमड के साथ जाने के लिए चुना गया है, यह अधिकांश वितरणों के लिए डिफेक्टो अपस्टार्ट सिस्टम बन जाएगा (उबंटू ने पहले ही घोषणा की है कि वे सिस्टमड के लिए अपस्टार्ट को छोड़ देंगे)।
सूची सेवाएँ:
systemctl list-unit-files
सेवा शुरू करें:
systemctl start {SERVICENAME}
सेवा रोकें:
systemctl stop {SERVICENAME}
सेवा सक्षम करें:
systemctl enable {SERVICENAME}
सेवा अक्षम करें:
systemctl disable {SERVICENAME}
कल का नवाब
अपस्टार्ट को उबंटू के लोगों द्वारा विकसित किया गया था। लेकिन डेबियन ने सिस्टमड के साथ जाने का फैसला करने के बाद , उबंटू ने घोषणा की कि वे ऊपर जाएंगे ।
रेडस्टैट द्वारा उपस्टार्ट का भी संक्षिप्त रूप से उपयोग किया गया था, क्योंकि यह आरएचईएल -6 में मौजूद है, लेकिन इसका आमतौर पर उपयोग नहीं किया जाता है।
सूची सेवाएँ:
initctl list
सेवा शुरू करें:
initctl start {SERVICENAME}
सेवा रोकें:
initctl stop {SERVICENAME}
सेवा सक्षम करें:
दुर्भाग्य से 2 तरीके:
एक फाइल होगी /etc/default/{SERVICENAME}
जिसमें एक लाइन होगी ENABLED=...
। इस लाइन को बदलें ENABLED=1
।
एक फाइल होगी /etc/init/{SERVICENAME}.override
। सुनिश्चित करें कि इसमें शामिल है start
(या पूरी तरह से अनुपस्थित है), नहीं manual
।
सेवा अक्षम करें:
echo manual > /etc/init/{SERVICENAME}.override
नोट: इसमें 'OpenRC' इनिट सिस्टम भी है जो कि Gentoo द्वारा उपयोग किया जाता है। वर्तमान में जेंटू एकमात्र ऐसा डिस्ट्रो है जो इसका उपयोग करता है, और इसे उपयोग के लिए नहीं माना जा रहा है, और न ही किसी अन्य डिस्ट्रो द्वारा समर्थित है। इसलिए मैं इसका उपयोग नहीं कर रहा हूं (हालांकि यदि राय है कि मैं करता हूं, तो मैं इसे जोड़ सकता हूं)।