कैसे पता करें कि डेबियन पर किस क्रम /etc/init.d स्क्रिप्ट लोड हैं?


13

मैं एक से पहले एक sysvinit स्क्रिप्ट चलाना चाहता हूं और यह पता लगाऊंगा कि यह कैसे करना है।

यह सुनिश्चित करने के लिए, यह वास्तव में उस क्रम में होता है जिसे मैं पसंद करता हूं, मैं एक सूची देखना चाहता हूं, जिस क्रम में ऐसा होता है।

मैं sudo insserv --showallपहले से ही पाया , लेकिन यह सिर या पूंछ नहीं बना सकते हैं, क्योंकि यह कई बार init स्क्रिप्ट को सूचीबद्ध करता है।

कैसे पता करें कि डेबियन पर किस क्रम /etc/init.d स्क्रिप्ट लोड हैं?


बिजीबॉक्स उपयोगकर्ताओं इस पोस्ट पर पहुंचने से: unix.stackexchange.com/questions/59018/... टिप्पणी "उन्हें संख्यात्मक क्रम में क्रियान्वित" नोट
dtmland

जवाबों:


9

/Etc/init.d/ निर्देशिका में कुछ फाइलें हैं:

$ ls -al /etc/init.d/ | grep -i depend
-rw-r--r--   1 root root  2739 Feb 17 05:20 .depend.boot
-rw-r--r--   1 root root  2221 Feb 17 05:20 .depend.start
-rw-r--r--   1 root root  1855 Feb 17 05:20 .depend.stop

जब भी आप चलाएंगे update-rc.dफाइल बदल जाएगी। .depend.bootफ़ाइल Sस्तर के लिए है, स्तर के .depend.startलिए 2 3 4 5और के .depend.stopलिए है 0 1 6

मेरे मामले में, मेरे पास निम्नलिखित आदेश हैं .depend.start:

TARGETS = killprocs motd nvidia-kernel nfs-common rsyslog privoxy virtualbox
linuxlogo acpi-fakekey binfmt-support fancontrol openvpn hddtemp cgconfig 
dropbox-container dbus dnscrypt-proxy pulseaudio atd cryptmount exim4 
qbittorrent-nox ddclient acpi-support smartmontools ssh ntp loadcpufreq acpid 
cron rsync cgrulesengd cpufrequtils bootlogs bootchart-done single rmnologin 
rc.local stop-bootlogd

आप यह भी देख सकते हैं कि आदेश आपके द्वारा देखे जाने के तरीके में क्यों प्रस्तुत होता है। प्रत्येक अगली पंक्ति इस तरह दिखती है:

cgrulesengd: rsyslog cgconfig

जिसका अर्थ है कि पहले शुरू करने की cgrulesengdआवश्यकता rsyslog cgconfigहै।


4

प्रत्येक रनलेवल (0 6) के लिए एक फ़ोल्डर /etc/rc.nid.d.d होता है

हर निर्देशिका में प्रतीकात्मक लिंक या तो "S" से शुरू होता है या "K" के साथ। "S" को रोकने के लिए e "K" शुरू करें। लिपियों को फ़ाइल नाम के एक शाब्दिक तरीके से निष्पादित किया जाता है , दूसरे शब्दों में S10script को S20myscript की तुलना में पहले निष्पादित किया जाएगा। उदाहरण के लिए :

हमारे पास दो सरल स्क्रिप्ट हैं, दूसरी। s स्क्रिप्ट को चालू रनलेवल में fist.sh स्क्रिप्ट के बाद निष्पादित किया जाना चाहिए।

    root@localhost init.d]# cat /etc/init.d/first.sh 
    #!/bin/bash
    #
    echo 'I am the first'  >> /var/log/messages

    root@localhost init.d]# cat /etc/init.d/second.sh   
    #!/bin/bash
    #
    echo 'I am the second'  >> /var/log/messages

मेरा वर्तमान स्तर क्या है?

    [root@localhost init.d]# runlevel 
    N 5

अब हमें पहले और S (N + 1) mysecondScript के लिए S (N) myScript शुरू होने वाले एक प्रतीकात्मक लिंक की आवश्यकता है:

    root@localhost rc5.d]# ln -s /etc/init.d/first.sh /etc/rc5.d/S1first
    root@localhost rc5.d]# ln -s /etc/init.d/second.sh /etc/rc5.d/S2second

हम संदेशों को लॉग इन रिबूट और चेक कर सकते हैं:

    [root@localhost ~]# cat /var/log/messages | grep "I am" -A 1 -B 1
    Dec 13 13:53:36 localhost rpc.statd[3468]: Version 1.0.9 Starting
    I am the first
    Dec 13 13:53:37 localhost hcid[3532]: Bluetooth HCI daemon
    --
    Dec 13 13:53:40 localhost automount[3689]: lookup_read_master:       lookup(nisplus): couldn't locate nis+ table auto.master
    I am the second
    Dec 13 13:53:41 localhost gpm[3785]: *** info [startup.c(95)]: 

पुराने Centos5 पर परीक्षण किया गया


मैं पुनर्निर्देशन के बजाय सिस्टम लॉग में संलग्न करने के लिए / usr / बिन / लकड़हारे का उपयोग करने की सलाह देता हूं, इसलिए आप एक दिन गलती से ">" न लिखें और अपने लॉग को मिटा दें।
DanB
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.